
  :root{
    --paper:#FAFAF8; --paper2:#F1F1ED;
    --ink:#14181B; --ink2:#4A5157; --ink3:#7C848A;
    --rule:#E1E2DD; --rule2:#C8CAC4;
    --heat:#C25E1C; --ember:#E07A28;
    --dark:#0D0F11; --dark-rule:#2A2F33;
    --silver:#E7EAEC; --steel:#A8AFB5;
    --serif:"Noto Serif KR",'Nanum Myeongjo',Georgia,serif;
    --sans:"IBM Plex Sans KR","Apple SD Gothic Neo","Malgun Gothic",system-ui,sans-serif;
    --mono:"IBM Plex Mono","IBM Plex Sans KR","Apple SD Gothic Neo",ui-monospace,Menlo,monospace;
    --word:"Julius Sans One","Optima",Georgia,serif;
  }
  *{box-sizing:border-box;}
  h1,h2,h3,h4,p,li,figcaption,blockquote,.lead,.deck{word-break:keep-all;overflow-wrap:break-word;}
  body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.8;-webkit-font-smoothing:antialiased;}
  :focus-visible{outline:2px solid var(--heat);outline-offset:3px;}
  a{color:inherit;text-decoration:none;}
  .shell{max-width:1080px;margin:0 auto;padding:0 40px;}
  @media (max-width:720px){.shell{padding:0 22px;}}
  .col{max-width:640px;}

  .label{font-family:var(--sans);font-size:13.5px;font-weight:500;letter-spacing:.05em;color:var(--ink3);margin:0 0 16px;display:flex;align-items:center;gap:11px;}
  .label::before{content:"";width:20px;height:1px;background:var(--heat);flex:none;}
  .dark .label::before{background:var(--ember);}
  h2{font-family:var(--serif);font-weight:600;font-size:clamp(23px,3.2vw,30px);line-height:1.5;letter-spacing:-.01em;margin:0 0 20px;text-wrap:balance;}
  h3{font-family:var(--serif);font-weight:600;font-size:19px;line-height:1.55;margin:0 0 10px;}
  p{margin:0 0 16px;color:var(--ink2);max-width:60ch;}
  p:last-child{margin-bottom:0;}
  strong{color:var(--ink);font-weight:600;}

  .protonote{background:var(--paper2);border-bottom:1px solid var(--rule);font-family:var(--mono);font-size:11px;letter-spacing:.03em;color:var(--ink3);padding:9px 0;}
  .protonote .shell{display:flex;gap:14px;flex-wrap:wrap;justify-content:space-between;}

  /* ---- sticky topbar (nav + mobile tabs together) ---- */
  .topbar{position:sticky;top:0;z-index:40;background:rgba(250,250,248,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--rule);}
  .topbar .row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:14px;padding-bottom:14px;}

  /* ---- lockup ---- */
  .brandlock{display:inline-flex;align-items:center;gap:9px;background:none;border:0;padding:0;color:inherit;font:inherit;cursor:pointer;}
  .brandlock svg{display:block;position:relative;top:-3px;}
  .brandlock .wm{font-family:var(--word);font-size:13.5px;letter-spacing:.24em;text-indent:.24em;color:var(--ink);line-height:1;}

  .tabs{display:flex;gap:2px;}
  @media (max-width:900px){.tabs{display:none;}}
  .tab{background:none;border:0;font:inherit;font-size:14px;color:var(--ink3);padding:8px 13px;cursor:pointer;border-bottom:2px solid transparent;transition:color .15s,border-color .15s;white-space:nowrap;}
  .tab:hover{color:var(--ink);}
  .tab[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--heat);font-weight:500;}
  .mobiletabs{display:none;border-top:1px solid var(--rule);overflow-x:auto;}
  @media (max-width:900px){.mobiletabs{display:block;}}
  .mobiletabs .shell{display:flex;gap:2px;}

  .btn{display:inline-block;font-size:14px;font-weight:500;padding:10px 18px;border:1px solid var(--ink);color:var(--ink);cursor:pointer;background:none;font-family:inherit;transition:background .15s,color .15s;white-space:nowrap;}
  .btn:hover{background:var(--ink);color:var(--paper);}
  .btn.solid{background:var(--ink);color:var(--paper);}
  .btn.solid:hover{background:var(--heat);border-color:var(--heat);}
  .btn.onDark{border-color:var(--silver);color:var(--silver);}
  .btn.onDark:hover{background:var(--silver);color:var(--dark);}

  /* ---- hero ---- */
  header.hero{padding:78px 0 74px;border-bottom:1px solid var(--rule);}
  @media (max-width:720px){header.hero{padding:50px 0 46px;}}
  .hero h1{font-family:var(--serif);font-weight:600;font-size:clamp(28px,4.8vw,44px);line-height:1.45;letter-spacing:-.02em;margin:0 0 26px;max-width:18ch;text-wrap:balance;}
  .hero .lead{font-size:16.5px;color:var(--ink2);max-width:50ch;margin:0 0 34px;}
  .hero .actions{display:flex;gap:13px;flex-wrap:wrap;}

  /* ---- video hero (home) ---- */
  .vhero{position:relative;overflow:hidden;background:var(--dark);min-height:clamp(500px,68vh,680px);display:flex;align-items:flex-end;}
  .vhero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
  .vhero .veil{position:absolute;inset:0;z-index:1;background:
    linear-gradient(to top, rgba(10,12,14,.95) 0%, rgba(10,12,14,.70) 40%, rgba(10,12,14,.34) 74%, rgba(10,12,14,.30) 100%),
    linear-gradient(to right, rgba(10,12,14,.66) 0%, rgba(10,12,14,.12) 62%, rgba(10,12,14,0) 100%);}
  .vhero .inner{position:relative;z-index:2;width:100%;padding-top:104px;padding-bottom:56px;}
  @media (max-width:720px){.vhero .inner{padding-top:76px;padding-bottom:44px;}}
  .vhero h1{font-family:var(--serif);font-weight:600;color:#fff;font-size:clamp(28px,5vw,50px);line-height:1.4;letter-spacing:-.02em;margin:0 0 22px;max-width:19ch;text-wrap:balance;text-shadow:0 1px 26px rgba(0,0,0,.55);}
  .vhero .lead{color:rgba(255,255,255,.82);font-size:16.5px;max-width:52ch;margin:0 0 14px;text-shadow:0 1px 16px rgba(0,0,0,.65);}
  .vhero .lead.key{color:#fff;font-weight:500;margin-bottom:32px;}
  .vhero .actions{display:flex;gap:13px;flex-wrap:wrap;}
  .btn.light{background:#fff;border-color:#fff;color:var(--dark);}
  .btn.light:hover{background:var(--heat);border-color:var(--heat);color:#fff;}

  /* ---- bands ---- */
  .band{padding:76px 0;border-bottom:1px solid var(--rule);}
  @media (max-width:720px){.band{padding:52px 0;}}
  .dark{background:var(--dark);color:var(--silver);padding:80px 0;}
  @media (max-width:720px){.dark{padding:56px 0;}}
  .dark h2,.dark h3{color:var(--silver);}
  .dark p{color:var(--steel);}
  .dark .label{color:#6E767C;}

  .fitgrid{display:grid;grid-template-columns:1fr 1fr;margin-top:34px;border-top:1px solid var(--rule2);}
  @media (max-width:760px){.fitgrid{grid-template-columns:1fr;}}
  .fitcol{padding:26px 30px 28px 0;}
  .fitcol + .fitcol{padding-left:30px;border-left:1px solid var(--rule);}
  @media (max-width:760px){.fitcol{padding:24px 0;} .fitcol + .fitcol{padding-left:0;border-left:0;border-top:1px solid var(--rule);}}
  .fitcol h4{font-family:var(--sans);font-size:14px;letter-spacing:.03em;font-weight:600;margin:0 0 18px;}
  .fitcol.no h4{color:var(--ink3);} .fitcol.yes h4{color:var(--heat);}
  .fitcol ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:15px;}
  .fitcol li{font-size:14.5px;line-height:1.72;color:var(--ink2);}
  .fitcol li b{display:block;color:var(--ink);font-weight:600;margin-bottom:3px;}

  .steps{display:grid;grid-template-columns:repeat(3,1fr);margin:36px 0 0;border-top:1px solid var(--dark-rule);}
  @media (max-width:760px){.steps{grid-template-columns:1fr;}}
  .step{padding:26px 28px 28px 0;border-right:1px solid var(--dark-rule);}
  .step:last-child{border-right:0;}
  .step + .step{padding-left:28px;}
  @media (max-width:760px){.step{border-right:0;border-bottom:1px solid var(--dark-rule);padding:22px 0;} .step:last-child{border-bottom:0;} .step + .step{padding-left:0;}}
  .step .n{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--ember);margin:0 0 11px;}
  .step h4{margin:0 0 8px;font-size:16px;font-weight:600;color:var(--silver);}
  .step p{margin:0;font-size:14px;line-height:1.75;}
  .price{margin-top:36px;padding-top:30px;border-top:1px solid var(--dark-rule);display:flex;gap:34px;flex-wrap:wrap;align-items:flex-start;}
  .price .amt{font-family:var(--mono);font-size:28px;color:var(--silver);line-height:1.2;}
  .price .amtsub{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--ember);margin-top:7px;}
  .price .note{max-width:42ch;}
  .price .note p{margin:0 0 9px;font-size:14.5px;}
  .price .note p:last-child{margin:0;color:var(--silver);}

  /* ---- process (fluid vertical loop) ---- */
  .proc{position:relative;padding-left:86px;margin-top:36px;max-width:700px;}
  .proc::before{content:"";position:absolute;left:46px;top:12px;bottom:2px;width:1px;background:var(--rule2);}
  .preturn{position:absolute;left:6px;top:12px;bottom:2px;width:40px;border-left:1.4px solid var(--heat);border-top:1.4px solid var(--heat);border-bottom:1.4px solid var(--heat);}
  .preturn::after{content:"";position:absolute;right:-1px;top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:8px solid var(--heat);}
  .pstep{position:relative;padding-bottom:40px;}
  .pstep:last-child{padding-bottom:0;}
  .pdot{position:absolute;left:-44.5px;top:8px;width:9px;height:9px;background:var(--paper);border:1.4px solid var(--heat);}
  .pstep b{display:block;font-family:var(--serif);font-size:21px;font-weight:600;margin-bottom:9px;display:flex;align-items:baseline;gap:12px;}
  .pstep b .pn{font-family:var(--mono);font-size:12px;font-weight:400;letter-spacing:.12em;color:var(--heat);}
  .pstep p{margin:0;font-size:15.5px;line-height:1.85;}
  @media (max-width:560px){
    .proc{padding-left:62px;}
    .proc::before{left:32px;}
    .preturn{left:4px;width:28px;}
    .pdot{left:-34.5px;}
    .pstep b{font-size:19px;}
    .pstep p{font-size:15px;}
  }

  /* ---- 성과 = 열매 ---- */
  .fruit{display:grid;grid-template-columns:repeat(3,1fr);margin-top:32px;border-top:1px solid var(--rule2);}
  @media (max-width:760px){.fruit{grid-template-columns:1fr;}}
  .fr{padding:24px 28px 26px 0;border-right:1px solid var(--rule);}
  .fr:last-child{border-right:0;}
  .fr + .fr{padding-left:28px;}
  @media (max-width:760px){.fr{padding:22px 0;border-right:0;border-bottom:1px solid var(--rule);} .fr:last-child{border-bottom:0;} .fr + .fr{padding-left:0;}}
  .fr .v{font-family:var(--mono);font-size:24px;color:var(--ink);margin-bottom:9px;line-height:1.2;}
  .fr b{display:block;font-size:14.5px;font-weight:600;margin-bottom:4px;}
  .fr span{display:block;font-size:13px;color:var(--ink3);line-height:1.6;}

  /* ---- offer split (home, dark) ---- */
  .offer{display:grid;grid-template-columns:1fr 1fr;margin-top:34px;border-top:1px solid var(--dark-rule);}
  @media (max-width:720px){.offer{grid-template-columns:1fr;}}
  .o{padding:26px 32px 28px 0;border-right:1px solid var(--dark-rule);}
  .o:last-child{border-right:0;padding-left:32px;padding-right:0;}
  @media (max-width:720px){.o{padding:24px 0;border-right:0;border-bottom:1px solid var(--dark-rule);} .o:last-child{padding-left:0;border-bottom:0;}}
  .o .n{font-family:var(--mono);font-size:12px;letter-spacing:.12em;color:var(--ember);margin:0 0 10px;}
  .o h4{margin:0 0 9px;font-size:19px;font-weight:600;color:var(--silver);font-family:var(--serif);}
  .o p{margin:0;font-size:14.5px;line-height:1.75;}
  .amt2{font-family:var(--mono);font-size:23px;color:var(--silver);margin-top:18px;display:flex;align-items:baseline;gap:10px;}
  .amt2 span{font-size:11.5px;letter-spacing:.1em;color:var(--ember);}
  .axes{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:8px;}
  .axes li{font-size:14.5px;color:var(--silver);padding-left:15px;position:relative;}
  .axes li::before{content:"";position:absolute;left:0;top:.72em;width:6px;height:1px;background:var(--ember);}
  .offernote{margin-top:30px;padding-top:24px;border-top:1px solid var(--dark-rule);font-size:15px;color:var(--steel);max-width:56ch;}
  .offernote strong{color:var(--silver);}

  /* ---- archive list ---- */
  .filters{display:flex;gap:8px;margin:28px 0 4px;flex-wrap:wrap;}
  .chip{font-family:var(--mono);font-size:11px;letter-spacing:.1em;padding:6px 14px;border:1px solid var(--rule2);color:var(--ink3);background:none;cursor:pointer;}
  .chip[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink);}
  .rlist{border-top:1px solid var(--rule2);margin-top:18px;}
  .ritem{display:grid;grid-template-columns:108px 1fr;gap:26px;padding:26px 0;border-bottom:1px solid var(--rule);}
  @media (max-width:700px){.ritem{grid-template-columns:1fr;gap:10px;}}
  .ritem .side{display:flex;flex-direction:column;gap:6px;}
  .ritem .kind{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;color:var(--heat);}
  .ritem .kind.view{color:var(--ink3);}
  .ritem .date{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;color:var(--ink3);}
  .ritem h3{margin:0 0 8px;}
  .ritem p{font-size:14.5px;margin:0 0 10px;}
  .ritem .figs{display:flex;gap:22px;flex-wrap:wrap;font-family:var(--mono);font-size:12px;color:var(--ink3);}
  .ritem .figs b{color:var(--ink);font-weight:500;}

  .bandwrap{padding-top:34px;}
  header.hero.hero-band{padding-top:30px;}
  @media (max-width:720px){.bandwrap{padding-top:22px;} header.hero.hero-band{padding-top:22px;}}
  /* ---- page band image (inner pages) ---- */
  .band-img{position:relative;margin:0 0 6px;aspect-ratio:7.5/1;border-radius:3px;overflow:hidden;background:var(--dark);}
  .band-img img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.9) contrast(1.04);}
  .band-img::after{content:"";position:absolute;inset:0;
    background:linear-gradient(90deg,rgba(13,15,17,.86) 0%,rgba(13,15,17,.55) 42%,rgba(13,15,17,.18) 100%);}
  .band-img .bl{position:absolute;left:22px;bottom:16px;z-index:2;margin:0;
    font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;color:var(--silver);text-transform:uppercase;}
  .band-img .bl::before{content:"";display:inline-block;width:18px;height:1px;background:var(--ember);
    vertical-align:middle;margin-right:10px;}
  .band-about img{object-position:center 62%;}
  .band-products img{object-position:center 42%;}
  .band-archive img{object-position:center 72%;}
  .band-contact img{object-position:center 78%;}
  @media (max-width:720px){
    .band-img{aspect-ratio:3.5/1;border-radius:2px;}
    .band-img .bl{left:16px;bottom:12px;font-size:10.5px;}
  }

  /* clickable archive entry */
  .ritem-link{position:relative;color:inherit;transition:background .15s ease;margin:0 -18px;padding-left:18px;padding-right:18px;border-radius:3px;}
  .ritem-link:hover{background:var(--paper2);}
  .ritem-link h3{transition:color .15s ease;}
  .ritem-link:hover h3{color:var(--heat);}
  .ritem-link .more{display:inline-block;margin-top:12px;font-family:var(--mono);font-size:11.5px;letter-spacing:.05em;color:var(--heat);}
  @media (max-width:700px){.ritem-link{margin:0;padding-left:0;padding-right:0;}}

  /* ---- about ---- */
  .who{margin-top:30px;}
  .who .name{display:flex;align-items:baseline;gap:11px;margin:0 0 5px;}
  .who .name b{font-size:20px;font-weight:600;}
  .who .name span{font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;color:var(--ink3);}
  .who .cred{font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;color:var(--heat);margin:0 0 15px;}

  .cats{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px;}
  .cats span{font-family:var(--mono);font-size:11.5px;letter-spacing:.04em;color:var(--ink2);border:1px solid var(--rule2);padding:5px 12px;}

  .career{border-top:1px solid var(--rule2);margin-top:32px;}
  .crow{display:grid;grid-template-columns:150px 1fr;gap:0 26px;padding:16px 0;border-bottom:1px solid var(--rule);align-items:baseline;}
  @media (max-width:640px){.crow{grid-template-columns:1fr;gap:3px;}}
  .crow .yr{font-family:var(--mono);font-size:11.5px;letter-spacing:.03em;color:var(--ink3);white-space:nowrap;}
  .crow .org{font-size:15.5px;}
  .crow .org b{font-weight:600;}
  .crow .org span{color:var(--ink3);font-size:14px;}
  .crow.cur .yr{color:var(--heat);}

  .figrow{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule);margin-top:30px;}
  @media (max-width:760px){.figrow{grid-template-columns:1fr;}}
  .fig{background:var(--paper);padding:22px 20px 24px;}
  .fig .v{font-family:var(--mono);font-size:22px;color:var(--ink);line-height:1.2;margin-bottom:8px;}
  .fig b{display:block;font-size:14.5px;font-weight:600;margin-bottom:4px;}
  .fig span{font-size:13px;color:var(--ink3);line-height:1.6;display:block;}

  .prin{border-top:1px solid var(--rule2);margin-top:32px;}
  .prow{display:grid;grid-template-columns:38px 1fr;gap:0 18px;padding:20px 0;border-bottom:1px solid var(--rule);}
  .prow .n{font-family:var(--mono);font-size:11px;color:var(--heat);padding-top:6px;}
  .prow b{display:block;font-size:16px;font-weight:600;margin-bottom:5px;}
  .prow p{margin:0;font-size:14.5px;}

  /* ---- products ---- */
  .prodhead{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:baseline;border-top:2px solid var(--ink);padding-top:18px;margin-top:36px;}
  @media (max-width:640px){.prodhead{grid-template-columns:1fr;gap:6px;}}
  .prodhead .tag{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--heat);}
  .groups{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule);margin-top:30px;}
  @media (max-width:760px){.groups{grid-template-columns:repeat(2,1fr);}}
  .grp{background:var(--paper);padding:20px 18px 22px;}
  .grp .l{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;color:var(--heat);margin:0 0 7px;}
  .grp b{display:block;font-size:15px;font-weight:600;margin-bottom:5px;}
  .grp span{font-size:13px;color:var(--ink3);line-height:1.6;display:block;}
  .three{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:28px;}
  @media (max-width:760px){.three{grid-template-columns:1fr;gap:20px;}}
  .three .t{border-top:1px solid var(--rule2);padding-top:16px;}
  .three .t b{display:block;font-size:15.5px;font-weight:600;margin-bottom:6px;}
  .three .t p{font-size:14px;margin:0;}
  .four{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:28px;}
  @media (max-width:900px){.four{grid-template-columns:repeat(2,1fr);gap:22px;}}
  @media (max-width:520px){.four{grid-template-columns:1fr;gap:20px;}}
  .four .t{border-top:1px solid var(--rule2);padding-top:16px;}
  .four .t b{display:block;font-size:15.5px;font-weight:600;margin-bottom:6px;}
  .four .t p{font-size:14px;margin:0;}

  .faq{border-top:1px solid var(--rule2);margin-top:32px;}
  .fq{padding:22px 0;border-bottom:1px solid var(--rule);}
  .fq b{display:block;font-size:15.5px;font-weight:600;margin-bottom:7px;}
  .fq p{margin:0;font-size:14.5px;}

  /* ---- form ---- */
  .form{margin-top:32px;max-width:560px;display:flex;flex-direction:column;gap:22px;}
  .field label{display:block;font-size:14.5px;font-weight:500;margin-bottom:8px;color:var(--ink);}
  .field .hint{font-size:13px;color:var(--ink3);margin:0 0 9px;}
  .field input,.field textarea,.field select{width:100%;font-family:inherit;font-size:15px;color:var(--ink);background:var(--paper);border:1px solid var(--rule2);padding:11px 13px;}
  .field textarea{min-height:88px;resize:vertical;}
  .agree{display:grid;grid-template-columns:auto 1fr;gap:12px;border:1px solid var(--rule2);padding:18px 20px;background:var(--paper2);}
  .agree input{margin-top:5px;}
  .agree p{font-size:13.5px;margin:0;}

  .closing{background:var(--paper2);padding:80px 0;border-bottom:1px solid var(--rule);}
  @media (max-width:720px){.closing{padding:56px 0;}}
  .closing h2{font-size:clamp(24px,3.6vw,34px);margin-bottom:16px;}

  footer{padding:52px 0 60px;color:var(--ink3);font-size:13.5px;}
  .fgrid{display:flex;justify-content:space-between;gap:34px;flex-wrap:wrap;align-items:flex-start;}
  footer .biz{display:flex;flex-direction:column;gap:5px;font-family:var(--mono);font-size:11.5px;}
  .namenote{margin-top:36px;padding-top:20px;border-top:1px solid var(--rule);font-size:12.5px;color:var(--ink3);max-width:54ch;}
  .namenote b{color:var(--ink2);font-weight:500;}
  .sig{font-family:var(--serif);font-size:15px;color:var(--ink2);margin:0;}

  /* 정적 사이트 보강 */
  .tab[aria-current="page"]{color:var(--ink);border-bottom-color:var(--heat);font-weight:500;}
  a.tab,a.btn,a.brandlock{text-decoration:none;}
  .protonote{display:none;}

  .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
