:root {
  --cocoa:#43362f;
  --ink:#2f302d;
  --muted:#68716c;
  --mint:#edf6f2;
  --sage:#79a894;
  --line:rgba(67,54,47,.13);
  --wrap:1160px;
  font-family:Inter,"Pretendard","Noto Sans KR",system-ui,sans-serif;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:75px; }
body { margin:0; color:var(--ink); background:#fff; overflow-x:hidden; }
a { color:inherit; text-decoration:none; }
img { display:block; width:100%; }
button,input,select,textarea { font:inherit; }
.skip { position:fixed; left:16px; top:-70px; z-index:100; padding:12px 16px; background:var(--cocoa); color:#fff; }
.skip:focus { top:12px; }

/* Canonical CleanThinking header geometry */
.topbar { height:75px; position:sticky; top:0; z-index:30; background:rgba(255,255,255,.84); backdrop-filter:blur(20px); border-bottom:1px solid var(--line); font-family:Pretendard,SUIT,"Noto Sans KR","Malgun Gothic",system-ui,sans-serif; }
.topbar-inner { width:min(var(--wrap),calc(100% - 56px)); height:74px; margin:auto; display:flex; align-items:center; }
.brand { width:148.09px; display:grid; gap:5px; line-height:1; }
.brand b { color:var(--cocoa); font-size:18px; line-height:1.05; letter-spacing:-.035em; }
.brand small { color:#737975; font-size:10.5px; line-height:1; font-weight:850; letter-spacing:.2em; }
.topbar nav { width:385.3px; height:34px; margin-left:auto; display:flex; align-items:center; justify-content:space-between; gap:0; }
.topbar nav a { font-size:13px; font-weight:700; color:#5d6460; }
.mobile-menu-toggle { display:none; padding:0; border:1px solid var(--line); border-radius:50%; background:rgba(255,255,255,.72); cursor:pointer; }
.mobile-menu-toggle span { display:block; width:17px; height:1.5px; background:var(--cocoa); transition:transform .25s ease,opacity .2s ease; }
.mobile-menu-toggle.is-open span:nth-child(1) { transform:translateY(5.5px) rotate(45deg); }
.mobile-menu-toggle.is-open span:nth-child(2) { opacity:0; }
.mobile-menu-toggle.is-open span:nth-child(3) { transform:translateY(-5.5px) rotate(-45deg); }
.v3-menu-backdrop,.v3-mobile-menu { display:none; }
body.v3-menu-open { overflow:hidden; }

.hero { position:relative; height:calc(100vh - 75px); min-height:690px; overflow:hidden; background:#26312c; color:#fff; }
.hero-slides,.hero-slide,.hero-shade { position:absolute; inset:0; }
.hero-slide { background-image:var(--photo); background-size:cover; background-position:center; opacity:0; transform:scale(1.02); transition:opacity 1s ease; }
.hero-slide:nth-child(2) { background-position:center 40%; }
.hero-slide.is-active { opacity:1; animation:heroZoom 8s ease-out both; }
.hero-shade { background:linear-gradient(90deg,rgba(24,29,26,.84),rgba(24,29,26,.65) 38%,rgba(24,29,26,.16) 68%,rgba(24,29,26,.08)); }
.hero-inner { position:relative; z-index:2; width:min(var(--wrap),calc(100% - 56px)); height:100%; margin:auto; display:flex; flex-direction:column; justify-content:center; }
.hero-copy { max-width:610px; }
.eyebrow { color:#cbe1d8; font-size:10px; font-weight:900; letter-spacing:.18em; }
.eyebrow.dark { color:#6f9e90; }
.hero h1,.section-title h2,.proof-copy h2,.inquiry-copy h2 { font-family:Georgia,"Times New Roman",serif; font-weight:500; letter-spacing:-.05em; line-height:1.03; }
.hero h1 { margin:20px 0 24px; font-size:clamp(54px,5.3vw,78px); }
.hero-copy>p { max-width:560px; margin:0; color:rgba(255,255,255,.74); font-size:16px; line-height:1.85; }
.hero-actions { display:flex; gap:10px; margin:31px 0 18px; }
.button { min-height:51px; padding:0 20px; border-radius:999px; display:flex; align-items:center; font-size:12px; font-weight:850; }
.button.solid { background:#fff; color:var(--cocoa); }
.button.glass { border:1px solid rgba(255,255,255,.36); background:rgba(255,255,255,.08); backdrop-filter:blur(12px); }
.hero-copy>small { font-size:11px; color:rgba(255,255,255,.58); }
.hero-status { position:absolute; left:0; right:0; bottom:30px; display:flex; justify-content:space-between; align-items:center; border-top:1px solid rgba(255,255,255,.25); padding-top:17px; }
.hero-status>span { font-size:9px; font-weight:900; letter-spacing:.18em; color:rgba(255,255,255,.72); }
.hero-dots { display:flex; gap:7px; }
.hero-dots button { width:30px; height:4px; padding:0; border:0; background:rgba(255,255,255,.35); cursor:pointer; }
.hero-dots button.is-active { background:#fff; }

.brand-track { height:55px; overflow:hidden; border-bottom:1px solid var(--line); background:linear-gradient(90deg,#fff,#edf6f2,#fff); }
.brand-track>div { height:100%; display:flex; align-items:center; justify-content:center; gap:22px; white-space:nowrap; }
.brand-track span { font-size:9px; font-weight:900; letter-spacing:.16em; color:#5c6963; }
.brand-track i { width:3px; height:3px; border-radius:50%; background:var(--sage); }

.services { padding:115px max(28px,calc((100vw - var(--wrap))/2)) 120px; }
.section-title { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:end; margin-bottom:58px; }
.section-title span { color:#6f9e90; font-size:10px; font-weight:900; letter-spacing:.18em; }
.section-title h2,.proof-copy h2,.inquiry-copy h2 { margin:18px 0 0; color:var(--cocoa); font-size:clamp(44px,4.2vw,62px); }
.section-title>p { max-width:480px; margin:0; color:var(--muted); font-size:15px; line-height:1.8; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.service { border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:#fff; }
.service figure { height:330px; margin:0; overflow:hidden; background:#e0e9e5; }
.service figure img { height:100%; object-fit:cover; filter:saturate(.78) contrast(1.02); transition:transform 1s cubic-bezier(.2,.72,.2,1),filter 1s ease; }
.service:nth-child(1) figure img { object-position:center 45%; }
.service>div { padding:28px 4px 32px; }
.service small { color:var(--sage); font-size:9px; font-weight:900; letter-spacing:.17em; }
.service h3 { margin:13px 0 9px; color:var(--cocoa); font-family:Georgia,"Times New Roman",serif; font-size:30px; font-weight:500; letter-spacing:-.04em; }
.service p { min-height:48px; margin:0; color:var(--muted); font-size:13px; line-height:1.7; }
.service b,.service-link { display:inline-block; margin-top:19px; padding-bottom:4px; border-bottom:1px solid var(--cocoa); font-size:10px; font-weight:700; }
.service:hover figure img,.service:focus-within figure img { transform:scale(1.085); filter:saturate(.88) contrast(1.03); }
.air-service figure { position:relative; cursor:zoom-in; outline:none; }
.air-service figure::after { content:"MOVE TO MAGNIFY"; position:absolute; z-index:3; left:13px; bottom:13px; padding:8px 10px; border:1px solid rgba(255,255,255,.55); background:rgba(35,39,37,.48); color:#fff; backdrop-filter:blur(8px); font-size:8px; font-weight:850; letter-spacing:.13em; transition:opacity .2s ease; }
.air-service figure:hover::after,.air-service figure:focus::after { opacity:0; }
.air-service figure:focus-visible { box-shadow:inset 0 0 0 3px rgba(121,168,148,.78); }
.air-card-lens { position:absolute; z-index:4; left:50%; top:50%; width:158px; height:158px; border:2px solid rgba(255,255,255,.94); border-radius:50%; background-image:url('../assets/field/stand-before-after/after-full-stand-clean.jpeg'); background-repeat:no-repeat; box-shadow:0 18px 42px rgba(22,28,25,.3),0 0 0 1px rgba(67,54,47,.15); opacity:0; pointer-events:none; transform:translate(-50%,-50%) scale(.82); transition:opacity .2s ease,transform .3s cubic-bezier(.2,.72,.2,1); }
.air-card-lens.is-visible { opacity:1; transform:translate(-50%,-50%) scale(1); }

.proof { min-height:720px; display:grid; grid-template-columns:57% 43%; background:linear-gradient(145deg,#f7fbf9,#e5f0eb); }
.proof-visual { display:grid; grid-template-columns:1fr 1fr; grid-template-rows:1fr 1fr; gap:2px; background:#fff; }
.proof-visual figure { position:relative; margin:0; overflow:hidden; background:#dce6e1; }
.proof-main { grid-row:1/3; }
.proof-visual img { height:100%; object-fit:cover; filter:saturate(.76) contrast(1.03); transition:transform 1s cubic-bezier(.2,.72,.2,1),filter 1s ease; }
.proof-visual figure:hover img { transform:scale(1.08); filter:saturate(.88) contrast(1.04); }
.proof-main[data-dirty-zoom] { cursor:zoom-in; outline:none; }
.proof-main[data-dirty-zoom]:focus-visible { box-shadow:inset 0 0 0 3px rgba(121,168,148,.78); }
.dirty-zoom-hint { position:absolute; z-index:4; right:14px; top:14px; padding:8px 10px; border:1px solid rgba(255,255,255,.55); background:rgba(35,39,37,.5); color:#fff; backdrop-filter:blur(8px); font-size:8px; font-weight:850; letter-spacing:.13em; transition:opacity .2s ease; }
.proof-main:hover .dirty-zoom-hint,.proof-main:focus .dirty-zoom-hint { opacity:0; }
.dirty-card-lens { position:absolute; z-index:5; left:50%; top:50%; width:176px; height:176px; border:2px solid rgba(255,255,255,.96); border-radius:50%; background-image:url('../assets/field/stand-before-after/before-heavy-inside.jpeg'); background-repeat:no-repeat; box-shadow:0 20px 46px rgba(22,28,25,.36),0 0 0 1px rgba(67,54,47,.18); opacity:0; pointer-events:none; transform:translate(-50%,-50%) scale(.82); transition:opacity .2s ease,transform .3s cubic-bezier(.2,.72,.2,1); }
.dirty-card-lens.is-visible { opacity:1; transform:translate(-50%,-50%) scale(1); }
.proof-visual figure:after { content:""; position:absolute; inset:55% 0 0; background:linear-gradient(transparent,rgba(28,34,31,.68)); }
.proof-visual figcaption { position:absolute; z-index:2; left:18px; bottom:17px; color:#fff; display:grid; gap:4px; }
.proof-visual figcaption span { font-size:8px; font-weight:900; letter-spacing:.17em; color:#c7e2d7; }
.proof-visual figcaption b { font-family:Georgia,"Times New Roman",serif; font-size:17px; font-weight:500; }
.proof-copy { padding:76px clamp(44px,6vw,88px); display:flex; flex-direction:column; justify-content:center; }
.proof-copy>p { max-width:490px; margin:19px 0 28px; color:var(--muted); font-size:14px; line-height:1.8; }
.proof-copy ol { list-style:none; margin:0; padding:0; border-top:1px solid var(--line); }
.proof-copy li { display:grid; grid-template-columns:45px 1fr; gap:12px; padding:15px 0; border-bottom:1px solid var(--line); }
.proof-copy li>span { color:var(--sage); font-size:10px; font-weight:900; }
.proof-copy li div { display:grid; gap:3px; }
.proof-copy li b { color:var(--cocoa); font-family:Georgia,"Times New Roman",serif; font-size:18px; font-weight:500; }
.proof-copy li small { color:var(--muted); font-size:11px; }

.inquiry { padding:108px max(28px,calc((100vw - var(--wrap))/2)); display:grid; grid-template-columns:40% 60%; gap:65px; }
.inquiry-copy { align-self:center; }
.inquiry-copy>p { max-width:420px; color:var(--muted); font-size:14px; line-height:1.8; }
.inquiry-links { display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }
.inquiry-links a { min-height:42px; padding:0 15px; border:1px solid var(--line); border-radius:999px; display:flex; align-items:center; color:var(--cocoa); font-size:10px; font-weight:850; }
form { padding:34px; border:1px solid var(--line); background:linear-gradient(145deg,#fff,#f5faf7); box-shadow:0 20px 56px rgba(48,42,38,.09); display:grid; gap:15px; }
.two { display:grid; grid-template-columns:1fr 1fr; gap:13px; }
label { display:grid; gap:7px; color:#59635e; font-size:10px; font-weight:850; }
input,select,textarea { width:100%; min-height:46px; padding:11px 12px; border:1px solid rgba(67,54,47,.14); border-radius:0; background:#fff; outline:none; }
textarea { min-height:88px; resize:vertical; }
input:focus,select:focus,textarea:focus { border-color:var(--sage); box-shadow:0 0 0 3px rgba(121,168,148,.12); }
.consent { grid-template-columns:auto 1fr; align-items:start; font-weight:600; line-height:1.5; }
.consent input { width:18px; min-height:18px; margin:1px 0 0; }
form button { min-height:50px; border:0; background:var(--cocoa); color:#fff; font-size:11px; font-weight:900; cursor:pointer; }
.form-note { margin:0; color:#7b827e; font-size:10px; }
.result { display:none; padding:12px; background:var(--mint); color:#3e5e55; font-size:11px; line-height:1.5; }
.result.show { display:block; }
.result.error { background:#f8ebe7; color:#874c42; }
.unified-inquiry-card { min-height:360px; padding:44px; border:1px solid var(--line); background:linear-gradient(145deg,#fff,#f5faf7); box-shadow:0 20px 56px rgba(48,42,38,.09); display:grid; align-content:center; gap:18px; }
.unified-inquiry-card>small { color:var(--sage); font-size:9px; font-weight:900; letter-spacing:.17em; }
.unified-inquiry-card h3 { margin:0; color:var(--cocoa); font-family:Georgia,"Times New Roman",serif; font-size:clamp(34px,3vw,48px); font-weight:500; line-height:1.05; letter-spacing:-.045em; }
.unified-inquiry-card p { max-width:560px; margin:0; color:var(--muted); font-size:14px; line-height:1.8; }
.unified-inquiry-card .button { width:fit-content; min-height:52px; padding:0 24px; }
.unified-inquiry-card>span { color:#7b827e; font-size:10px; }

footer { padding:72px max(28px,calc((100vw - var(--wrap))/2)) 42px; display:grid; grid-template-columns:2fr repeat(3,1fr); gap:36px; background:#f1f5f3; border-top:1px solid var(--line); }
.footer-brand { display:grid; align-content:start; gap:5px; }
.footer-brand b { color:var(--cocoa); font-size:19px; letter-spacing:-.04em; }
.footer-brand small,footer nav>span { color:var(--sage); font-size:8px; font-weight:900; letter-spacing:.17em; }
.footer-brand p { margin:14px 0 0; color:var(--muted); font-size:11px; }
footer nav { display:grid; align-content:start; gap:10px; }
footer nav>span { margin-bottom:6px; }
footer nav a { color:#5f6863; font-size:11px; }
.v3-top { position:fixed; z-index:24; right:22px; bottom:22px; width:48px; height:48px; padding:0; border:1px solid rgba(67,54,47,.16); border-radius:50%; background:rgba(255,255,255,.92); color:var(--cocoa); box-shadow:0 12px 34px rgba(39,43,40,.16); backdrop-filter:blur(12px); font-size:9px; font-weight:900; letter-spacing:.12em; cursor:pointer; opacity:0; pointer-events:none; transform:translateY(12px); transition:opacity .25s ease,transform .25s ease,background .25s ease; }
.v3-top.is-visible { opacity:1; pointer-events:auto; transform:translateY(0); }
.v3-top:hover,.v3-top:focus-visible { background:var(--cocoa); color:#fff; }

@keyframes heroZoom { from{transform:scale(1.02)} to{transform:scale(1.08)} }

@media(max-width:900px) {
  .topbar nav { display:none; }
  .mobile-menu-toggle { width:42px; height:42px; margin-left:auto; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; }
  .v3-menu-backdrop { position:fixed; z-index:27; inset:75px 0 0; display:block; background:rgba(34,37,35,.3); opacity:0; pointer-events:none; transition:opacity .28s ease; }
  .v3-menu-backdrop.is-open { opacity:1; pointer-events:auto; }
  .v3-mobile-menu { position:fixed; z-index:29; top:75px; right:0; bottom:0; width:min(350px,86vw); padding:38px 30px; display:flex; flex-direction:column; gap:0; overflow-y:auto; background:rgba(255,255,255,.98); border-left:1px solid var(--line); box-shadow:-22px 0 54px rgba(43,35,30,.14); transform:translateX(104%); transition:transform .34s cubic-bezier(.2,.72,.2,1); }
  .v3-mobile-menu.is-open { transform:translateX(0); }
  .v3-menu-kicker { margin-bottom:21px; color:var(--sage); font-size:9px; font-weight:900; letter-spacing:.17em; }
  .v3-mobile-menu a { padding:17px 0; display:grid; gap:5px; border-bottom:1px solid var(--line); }
  .v3-mobile-menu a b { color:var(--cocoa); font-family:Georgia,"Times New Roman",serif; font-size:23px; font-weight:500; letter-spacing:-.035em; }
  .v3-mobile-menu a small { color:var(--muted); font-size:10px; }
  .hero-inner { width:calc(100% - 44px); }
  .section-title { grid-template-columns:1fr; gap:22px; }
  .service-grid { grid-template-columns:1fr; }
  .service { display:grid; grid-template-columns:45% 55%; }
  .service figure { height:270px; }
  .service>div { padding:35px 28px; }
  .proof { grid-template-columns:1fr; }
  .proof-visual { height:620px; }
  .inquiry { grid-template-columns:1fr; gap:42px; }
  footer { grid-template-columns:2fr 1fr 1fr; }
}

@media(max-width:600px) {
  html { scroll-padding-top:63px; }
  .topbar { height:63px; }
  .topbar-inner { width:calc(100% - 28px); height:62px; }
  .brand { width:131.38px; }
  .brand b { font-size:16px; line-height:1.05; letter-spacing:-.035em; }
  .brand small { display:none; }
  .mobile-menu-toggle { width:38px; height:38px; }
  .mobile-menu-toggle span { width:16px; }
  .v3-menu-backdrop { inset:63px 0 0; }
  .v3-mobile-menu { top:63px; width:min(320px,86vw); padding:31px 23px; }
  .air-card-lens { width:132px; height:132px; }
  .air-service figure::after { content:"TAP TO MAGNIFY"; }
  .dirty-card-lens { width:140px; height:140px; }
  .dirty-zoom-hint { font-size:0; }
  .dirty-zoom-hint::after { content:"TAP TO MAGNIFY"; font-size:8px; }
  .v3-top { right:12px; bottom:12px; width:44px; height:44px; }
  .hero { height:760px; min-height:760px; }
  .hero-inner { width:calc(100% - 28px); justify-content:flex-start; padding-top:76px; }
  .hero-shade { background:linear-gradient(180deg,rgba(24,29,26,.82),rgba(24,29,26,.44) 58%,rgba(24,29,26,.42)); }
  .hero h1 { font-size:47px; line-height:1.05; }
  .hero-copy>p { font-size:14px; line-height:1.75; }
  .hero-actions { display:grid; }
  .button { justify-content:center; }
  .hero-status { bottom:20px; }
  .brand-track>div { justify-content:flex-start; padding-left:18px; gap:16px; overflow-x:auto; }
  .services { padding:82px 14px; }
  .section-title { margin-bottom:40px; }
  .section-title h2,.proof-copy h2,.inquiry-copy h2 { font-size:42px; }
  .service { display:block; }
  .service figure { height:310px; }
  .service>div { padding:27px 3px 31px; }
  .service p { min-height:0; }
  .proof { display:block; }
  .proof-visual { height:590px; grid-template-columns:1fr 1fr; grid-template-rows:55% 45%; }
  .proof-main { grid-column:1/3; grid-row:1; }
  .proof-copy { padding:62px 18px; }
  .inquiry { padding:82px 14px; gap:35px; }
  .two { grid-template-columns:1fr; }
  form { padding:23px 16px; }
  footer { padding:62px 18px; grid-template-columns:1fr 1fr; gap:36px 20px; }
  .footer-brand { grid-column:1/-1; }
}

@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*:before,*:after { animation:none!important; transition:none!important; }
  .hero-slide.is-active { transform:scale(1.02); }
}
