:root{
  --ink:#10252f;
  --ink-soft:#526b76;
  --paper:#f7fbfc;
  --white:#ffffff;
  --ice:#dff2f8;
  --blue:#4e9bb9;
  --line:rgba(27,66,82,.16);
  --deep:#0b2733;
  --shadow:0 28px 80px rgba(33,76,92,.12)
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans KR",sans-serif;font-size:17px;line-height:1.72;overflow-x:hidden;word-break:keep-all;overflow-wrap:break-word}
body.modal-open{overflow:hidden}
button,a,input,select,textarea{font:inherit}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
img{max-width:100%}
.hero h1,.value-title h2,.archive-title :is(h1,h2),.guide-title h2,.process-head h2,.craft-head h2,.network-head h2,.confidence-head h2,.case-copy h3,.modal h2{text-wrap:balance;word-break:keep-all}
.hero h1>span,.hero h1>em,.value-title h2>span,.archive-title :is(h1,h2)>span,.guide-title h2>span,.craft-head h2>span,.network-head h2>span,.confidence-head h2>span{display:block}
.overline,.section-code,.case-no{font:600 .73rem/1.2 Manrope,sans-serif;letter-spacing:.2em;text-transform:uppercase}
.overline{margin:0 0 26px;color:#ecfbff}
.dark-text{color:#557984}
.light-text{color:rgba(238,251,255,.58)!important}
.section-code{padding-bottom:25px;border-bottom:1px solid var(--line);color:#68818b}

.topbar{position:fixed;z-index:50;inset:0 0 auto;height:86px;display:flex;align-items:center;padding:0 4vw;color:#15303b;border-bottom:1px solid rgba(31,75,92,.14);background:rgba(250,253,254,.64);backdrop-filter:blur(20px) saturate(155%);transition:height .28s,background .28s,box-shadow .28s}
.topbar.scrolled{height:70px;background:rgba(250,253,254,.94);box-shadow:0 12px 40px rgba(36,79,95,.09)}
.brand{display:flex;align-items:center;gap:13px;font-family:"Noto Sans KR",sans-serif}
.brand-glyph{display:grid;place-items:center;width:40px;height:32px;border:1px solid #2d718c;background:rgba(255,255,255,.62);box-shadow:inset 0 0 18px rgba(102,186,218,.13);font:600 .72rem Manrope,sans-serif;letter-spacing:-.03em}
.brand-name{display:grid;gap:1px;line-height:1.05}.brand-name b{font-size:.88rem;letter-spacing:-.02em}.brand-name small{font:600 .55rem Manrope,sans-serif;letter-spacing:.18em;color:#5b7d8a}
.topbar nav{display:flex;gap:2.5vw;margin-left:auto;margin-right:4vw;font-size:.84rem;font-weight:500}
.topbar nav a{position:relative;color:#45606b}
.topbar nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:#316f88;transition:right .25s}
.topbar nav a:hover::after{right:0}
.header-quote{border:0;background:#123847;color:#fff;padding:14px 18px;box-shadow:0 12px 28px rgba(18,56,71,.15)}
.header-quote span{margin-left:32px;color:#aee6f8}
.menu-toggle{display:none;border:0;background:none;color:inherit;font:600 .72rem Manrope,sans-serif;letter-spacing:.16em}

.hero{position:relative;min-height:100svh;overflow:hidden;background:#dcecf1;color:var(--ink)}
.hero-gallery{position:absolute;inset:0;display:grid;grid-template-columns:1.35fr .65fr;grid-template-rows:1fr 1fr;gap:3px;background:#c6dce4}
.hero-gallery img{width:100%;height:100%;object-fit:cover;filter:saturate(.84) brightness(1.04);animation:hero-breathe 14s ease-in-out infinite alternate}
.hero-gallery .hero-primary{grid-row:1/3}
.hero-gallery img:nth-child(2){animation-delay:-3s}
.hero-gallery img:nth-child(3){animation-delay:-7s}
@keyframes hero-breathe{from{transform:scale(1.001)}to{transform:scale(1.035)}}
.hero-wash{position:absolute;inset:0;background:linear-gradient(90deg,rgba(251,254,255,.98) 0%,rgba(249,253,254,.94) 27%,rgba(247,252,254,.62) 45%,rgba(242,250,253,.08) 76%),linear-gradient(0deg,rgba(224,244,250,.66),transparent 52%)}
.hero-prism{position:absolute;z-index:1;inset:-30% 28% -20% -22%;pointer-events:none;background:linear-gradient(115deg,transparent 20%,rgba(255,255,255,.08) 34%,rgba(255,255,255,.78) 43%,rgba(182,231,249,.14) 52%,transparent 66%);transform:skewX(-7deg);mix-blend-mode:screen}
.hero-content{position:relative;z-index:2;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:15vh 7vw 17vh}
.hero-content .overline{color:#3b748a}
.hero h1{max-width:1180px;margin:0;font-size:clamp(3.2rem,5.5vw,6.35rem);font-weight:500;line-height:1.08;letter-spacing:-.06em;text-shadow:0 4px 28px rgba(255,255,255,.5)}
.hero h1 em{font-family:inherit;font-style:normal;font-weight:500;color:#4d98b4}
.hero-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:42px;max-width:980px;margin-top:7vh}
.hero-foot p{max-width:520px;margin:0;color:#31505d;font-size:1.02rem;font-weight:500;line-height:1.85}
.hero-actions{display:flex;align-items:center;gap:14px;flex:0 0 auto}
.primary-quote,.secondary-link{display:flex;align-items:center;justify-content:space-between;gap:34px;min-height:52px;padding:14px 17px;border:1px solid #17465a;font-size:.86rem;font-weight:600;transition:transform .25s,background .25s,color .25s}
.primary-quote{background:#123a4a;color:#fff;box-shadow:0 14px 34px rgba(18,58,74,.18)}
.secondary-link{background:rgba(255,255,255,.62);color:#17465a}
.primary-quote:hover,.secondary-link:hover{transform:translateY(-3px)}
.primary-quote span{color:#aee6f8}.secondary-link span{color:#4f8ba2}
.round-quote{display:grid;place-items:center;width:72px;height:72px;border:1px solid rgba(26,78,98,.38);border-radius:50%;background:rgba(255,255,255,.52);color:#1c556b;font-size:1.7rem;backdrop-filter:blur(12px);transition:transform .25s,background .25s}
.round-quote:hover{transform:translateY(-4px);background:#fff}
.hero-index{position:absolute;z-index:3;left:0;right:0;bottom:0;height:88px;display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:40px;padding:0 4vw;border-top:1px solid rgba(34,83,101,.18);background:rgba(247,252,254,.58);backdrop-filter:blur(18px);font:500 .68rem Manrope,sans-serif;letter-spacing:.16em;color:#53707c}
.hero-index b{margin-right:11px;color:#174b60;font-size:1.05rem}
.hero-index a{padding:13px 17px;border:1px solid rgba(32,76,93,.25);background:rgba(255,255,255,.66);color:#214f61}

.proof-strip{display:grid;grid-template-columns:repeat(4,1fr);padding:0 6vw;border-bottom:1px solid var(--line);background:#fff}
.proof-strip article{display:grid;align-content:center;min-height:144px;padding:26px 30px;border-right:1px solid var(--line)}
.proof-strip article:first-child{border-left:1px solid var(--line)}
.proof-strip strong{font:500 clamp(1.45rem,2.2vw,2rem)/1.1 Manrope,"Noto Sans KR",sans-serif;color:#1a5369;letter-spacing:-.03em}
.proof-strip span{margin-top:13px;color:#607883;font-size:.84rem}

.value-system{display:grid;grid-template-columns:1.1fr .9fr;gap:5vw;padding:130px 6vw 120px;background:linear-gradient(145deg,#fff 0%,#eff8fb 62%,#fff 100%)}
.value-system .section-code{grid-column:1/-1}
.value-title{padding-top:65px}
.value-title h2{max-width:760px;margin:0;font-size:clamp(2.55rem,4vw,4.7rem);font-weight:500;line-height:1.14;letter-spacing:-.055em}
.value-title h2 i{font-family:inherit;font-style:normal;font-weight:500;color:#5a9db6}
.value-copy{align-self:end;padding:65px 0 8px}
.value-copy>p{max-width:620px;margin:0 0 36px;color:#5b737d;font-size:1.05rem;line-height:1.95}
.value-copy strong{display:block;padding-left:22px;border-left:2px solid #78b8ce;color:#274b59;font-size:clamp(1.18rem,1.8vw,1.65rem);font-weight:500;line-height:1.7}
.value-copy strong em{font-style:normal;color:#4289a4}
.value-flow{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);margin:85px 0 0;padding:0;list-style:none;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.value-flow li{position:relative;min-height:270px;padding:30px 30px 28px;border-right:1px solid var(--line);background:rgba(255,255,255,.42)}
.value-flow li:first-child{border-left:1px solid var(--line)}
.value-flow li:not(:last-child)::after{content:"→";position:absolute;z-index:1;right:-17px;top:27px;display:grid;place-items:center;width:34px;height:34px;border:1px solid #a9ccd8;border-radius:50%;background:#f7fbfc;color:#4d8fa8;font:500 1rem Manrope,sans-serif}
.value-flow span{font:500 .7rem Manrope,sans-serif;color:#5790a6;letter-spacing:.12em}
.value-flow h3{margin:72px 0 15px;font-size:1.25rem;font-weight:600}
.value-flow p{margin:0;color:#687e87;font-size:.88rem;line-height:1.75}
.value-summary{grid-column:1/-1;display:grid;grid-template-columns:.7fr 1.2fr 1fr;align-items:center;gap:32px;margin-top:28px;padding:28px 34px;background:linear-gradient(110deg,#103b4b,#287088);color:#fff;box-shadow:0 24px 60px rgba(25,74,91,.17)}
.value-summary span{font:600 .68rem Manrope,sans-serif;letter-spacing:.2em;color:#a9dceb}
.value-summary p{margin:0;color:#d7edf4;font-size:1rem}
.value-summary strong{font-size:clamp(1.3rem,2.1vw,2rem);font-weight:500;text-align:right}

.archive-intro{display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:5vw;padding:130px 6vw 100px;background:linear-gradient(145deg,#fff 0%,#f3fafc 70%,#fff 100%)}
.archive-intro .section-code{grid-column:1/-1}
.archive-title{grid-column:2}
.archive-title :is(h1,h2),.guide-title h2,.process-head h2,.craft-head h2,.network-head h2,.confidence-head h2{margin:0;font-size:clamp(2.45rem,3.9vw,4.65rem);font-weight:500;line-height:1.14;letter-spacing:-.055em}
.archive-title :is(h1,h2) i,.guide-title h2 i{font-family:inherit;font-style:normal;font-weight:500;color:#5a9db6}
.archive-note{align-self:end;color:var(--ink-soft)}
.archive-note p{margin:0 0 22px;font-size:1.05rem;line-height:1.9}
.archive-note small{display:block;padding-left:16px;border-left:2px solid #8fc4d7;font-size:.78rem;line-height:1.7;color:#71858e}

.ai-finder{padding:76px 6vw 82px;background:#0d3443;color:#fff}
.ai-finder-head{display:grid;grid-template-columns:1.15fr .85fr;gap:8vw;align-items:end}
.ai-finder-head .overline{color:#8fcbe0}.ai-finder-head h2{margin:13px 0 0;font-size:clamp(2.2rem,4vw,4.7rem);font-weight:500;line-height:1.12;letter-spacing:-.055em}.ai-finder-head h2 em{font-style:normal;color:#7fbcd2}
.ai-finder-head>p{max-width:570px;margin:0;color:#c2d5dc;font-size:1rem;line-height:1.85}.ai-finder-head>p strong{color:#fff}
.ai-search{margin-top:48px;padding:25px;border:1px solid rgba(196,229,240,.28);background:rgba(255,255,255,.045)}
.ai-search>label{display:block;margin-bottom:11px;color:#d6e7ec;font-size:.86rem;font-weight:700}
.ai-search-field{display:grid;grid-template-columns:1fr auto;background:#fff}
.ai-search-field textarea{min-height:88px;padding:19px;border:0;resize:vertical;color:#173d4c;font:1rem/1.65 "Noto Sans KR",sans-serif}.ai-search-field textarea:focus{outline:3px solid #62aec9;outline-offset:-3px}
.ai-search-field button{display:flex;align-items:center;justify-content:space-between;gap:34px;min-width:230px;padding:18px;border:0;background:#62a9c2;color:#082b38;font-weight:800}.ai-search-field button span{font-size:1.1rem}
.ai-query-examples{display:flex;align-items:center;gap:8px;margin-top:14px;overflow-x:auto;scrollbar-width:none}.ai-query-examples::-webkit-scrollbar{display:none}.ai-query-examples>span{flex:0 0 auto;color:#8fb0bc;font-size:.73rem}.ai-query-examples button{flex:0 0 auto;padding:8px 11px;border:1px solid rgba(190,225,237,.28);border-radius:999px;background:transparent;color:#cbe0e7;font-size:.75rem}.ai-query-examples button:hover{background:#fff;color:#123a4a}
.ai-trust{display:flex;align-items:center;gap:9px;margin:14px 0 0;color:#a9c4cd;font-size:.76rem}.ai-trust span{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#5a9db6;color:#082b38;font-weight:800}
.ai-result-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-top:58px;padding-bottom:17px;border-bottom:1px solid rgba(196,229,240,.25)}.ai-result-head div{display:grid;gap:5px}.ai-result-head span{color:#7eb9ce;font:700 .7rem Manrope,sans-serif;letter-spacing:.12em}.ai-result-head strong{font-size:1.2rem}.ai-result-head p{margin:0;color:#9db8c2;font-size:.78rem}
.ai-results{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}.ai-result-card{overflow:hidden;background:#fff;color:#173d4c}.ai-result-image{position:relative;display:block;width:100%;height:210px;padding:0;border:0;background:#d9e8ed;overflow:hidden}.ai-result-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.ai-result-image:hover img{transform:scale(1.025)}.ai-result-image span{position:absolute;left:12px;bottom:10px;padding:5px 7px;background:rgba(8,38,49,.86);color:#fff;font:700 .67rem Manrope,sans-serif;letter-spacing:.08em}
.ai-result-copy{padding:17px}.ai-result-copy>small{color:#4f91aa;font-size:.7rem;font-weight:700}.ai-result-copy>strong{display:block;margin-top:5px;font-size:1rem}.ai-result-copy>p{min-height:42px;margin:9px 0 16px;color:#617780;font-size:.76rem;line-height:1.6}.ai-result-copy>div{display:grid;grid-template-columns:1fr 1fr;gap:7px}.ai-result-copy button{min-height:41px;padding:8px;border:1px solid #bdd2da;background:#fff;color:#315c6c;font-size:.72rem;font-weight:700}.ai-result-copy .ai-pick{border-color:#19495b;background:#19495b;color:#fff}.ai-result-copy .ai-pick.selected{border-color:#60a9c2;background:#e8f6fa;color:#17485b}
.ai-selection{position:sticky;z-index:29;bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:20px;padding:15px 17px;border:1px solid #7ebbd0;background:rgba(5,31,40,.96);box-shadow:0 16px 38px rgba(0,0,0,.22);backdrop-filter:blur(14px)}.ai-selection[hidden]{display:none}.ai-selection p{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;margin:0}.ai-selection p span{color:#88c4d8;font-size:.72rem}.ai-selection p strong{font-size:.82rem}.ai-selection p small{color:#8eabb5;font-size:.67rem}.ai-selection>button{padding:12px 15px;border:0;background:#fff;color:#153e4e;font-weight:800}.ai-selection>button span{margin-left:25px;color:#5494ac}

.filter-wrap{position:sticky;z-index:30;top:70px;padding:0 6vw;background:rgba(247,251,252,.92);backdrop-filter:blur(18px);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.filter-wrap.taxonomy{position:relative;display:grid;grid-template-columns:130px 1fr;align-items:center;gap:12px 28px;padding-top:24px;padding-bottom:20px;background:rgba(247,251,252,.97);scroll-margin-top:78px}
.taxonomy-heading{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;align-items:end;padding-bottom:18px;border-bottom:1px solid rgba(128,164,177,.3)}
.taxonomy-heading .overline{grid-column:1/-1;margin:0 0 7px;font-size:.68rem}
.taxonomy-heading strong{font-size:1.25rem;color:#173d4c}
.taxonomy-heading span{color:#455f6a;font-size:.83rem}
.filter-label{margin:0;color:#455f6a;font:600 .72rem Manrope,sans-serif;letter-spacing:.12em}
.case-selection-prompt{grid-column:2;display:flex;align-items:center;gap:10px;margin-bottom:-4px;color:#173d4c;font-size:.82rem}
.case-selection-prompt span{padding:5px 8px;border-radius:999px;background:#173d4c;color:#fff;font:700 .62rem Manrope,sans-serif;letter-spacing:.08em}
.case-selection-prompt b{font-weight:700}
.filter-wrap.taxonomy .filter-bar{justify-content:flex-start;min-height:54px}
.major-filters{gap:12px}
.major-filters button{position:relative;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:2px 24px;min-width:205px;padding:12px 16px;border-color:#d0e0e6;border-radius:8px;text-align:left;color:#294f5e}
.major-filters button b{font-size:.91rem}.major-filters button small{font-size:.7rem;font-weight:400;color:#78909a}.major-filters button span{grid-column:2;grid-row:1/3;align-self:center;margin:0;font-size:.78rem}
.major-filters button.active{border-color:#4e94ad;background:#eaf7fb;box-shadow:0 8px 20px rgba(54,101,118,.08)}
.theme-filters{border-top:1px solid rgba(128,164,177,.22)}
.theme-filters button{padding-block:9px;font-size:.78rem}
.theme-filters button[hidden]{display:none}
.case-navigator{grid-column:2;display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:8px;padding:10px 0}
.case-navigator button{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:9px;min-height:48px;padding:10px 12px;border:1px solid #d6e3e8;border-radius:7px;background:#fff;color:#3c5d69;text-align:left;transition:.2s}
.case-navigator button small{font:600 .64rem Manrope,sans-serif;letter-spacing:.08em;color:#6994a5}
.case-navigator button b{font-size:.78rem;line-height:1.35}
.case-navigator button span{margin-left:auto;color:#7c9ba7;font-size:.7rem}
.case-navigator button:hover,.case-navigator button.active{border-color:#5a9db6;background:#eaf7fb;color:#153b4a;box-shadow:0 7px 18px rgba(54,101,118,.08)}
.case-navigator button[hidden]{display:none}
.case-navigator.awaiting-selection{border-radius:10px;outline:3px solid rgba(90,157,182,.22);outline-offset:5px;animation:caseGuide .7s ease 2}
@keyframes caseGuide{50%{outline-color:rgba(90,157,182,.58);background:rgba(234,247,251,.75)}}
.case-explore{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:20px;padding:17px;border:1px solid #c6dbe3;background:#edf7fa}
.case-explore p{grid-column:1/-1;margin:0 0 3px!important;color:#173d4c!important;font-size:.84rem!important;font-weight:700}
.case-explore button{min-height:52px;padding:12px;border:1px solid #7caabd;background:#fff;color:#214e5f;font-size:.76rem;font-weight:700;text-align:left}
.case-explore button span{display:inline-block;margin-right:7px;color:#5a9db6}.case-explore button:hover{border-color:#173d4c;background:#fff;color:#102f3b}
.case-explore .case-explore-primary{border-color:#173d4c;background:#173d4c;color:#fff}
.case-explore .case-explore-primary span{color:#9bd0e2}.case-explore .case-explore-primary:hover{background:#265d70;color:#fff}
.filter-result{grid-column:1/-1;display:flex;align-items:center;gap:12px;margin-top:2px;padding:13px 16px;border-left:3px solid #5a9db6;background:#edf6f9;color:#5e7781;font-size:.78rem}
.filter-result span{font-weight:700;color:#36778f}.filter-result b{color:#173d4c}.filter-result small{margin-left:auto;color:#708790}
.filter-bar{display:flex;align-items:center;justify-content:center;gap:8px;min-height:78px}
.filter-bar button,.filter-bar a{border:1px solid transparent;border-radius:100px;padding:12px 18px;background:transparent;color:#607780;font-size:.86rem;white-space:nowrap;transition:.2s}
.filter-bar button span,.filter-bar a span{margin-left:7px;font:500 .68rem Manrope,sans-serif;color:#87a1ab}
.filter-bar button:hover,.filter-bar button.active,.filter-bar a:hover,.filter-bar a:focus-visible{border-color:#9fc4d2;background:#fff;color:#153b4a;box-shadow:0 10px 28px rgba(54,101,118,.08)}

.project-list{background:#f7fbfc}
.project-list.compact .case-story:nth-child(n+4){display:none}
[data-page="archive"] .hero,[data-page="archive"] .proof-strip,[data-page="archive"] .value-system,[data-page="archive"] .craft,[data-page="archive"] .estimate-guide,[data-page="archive"] .process,[data-page="archive"] .confidence,[data-page="archive"] .network{display:none}
[data-page="archive"] .archive-intro{padding-top:150px}
.archive-more{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:42px 6vw;background:#fff;border-bottom:1px solid var(--line)}
.archive-more[hidden]{display:none}.archive-more p{display:grid;gap:5px;margin:0}.archive-more strong{font-size:1.08rem}.archive-more p span{color:#687e87;font-size:.92rem}.archive-more a{min-width:250px;padding:15px 0;border-bottom:1px solid #224b5b;color:#163f50;font-weight:600;text-align:left}.archive-more a span{float:right;color:#4d8fa8}
.case-story{display:grid;grid-template-columns:minmax(270px,.78fr) minmax(0,2.22fr);gap:5vw;padding:120px 6vw;border-bottom:1px solid var(--line);background:linear-gradient(145deg,#fff,#f5fafc);scroll-margin-top:160px}
.case-story.reverse{grid-template-columns:minmax(0,2.22fr) minmax(270px,.78fr);background:linear-gradient(215deg,#fff,#eef7fa)}
.case-story.reverse .case-copy{grid-column:2;grid-row:1}
.case-story.reverse .photo-grid{grid-column:1;grid-row:1}
.case-story[hidden]{display:none}
.case-copy{position:sticky;top:175px;align-self:start}
.case-no{margin:0 0 32px;color:#5b8da0}
.case-copy h3{max-width:520px;margin:0 0 30px;font-size:clamp(2rem,2.75vw,3.25rem);font-weight:500;line-height:1.16;letter-spacing:-.05em}
.case-copy>p:not(.case-no){margin:0;color:#5d737d;line-height:1.9}
.case-copy dl{margin:42px 0 0;border-top:1px solid var(--line)}
.case-copy dl div{display:grid;grid-template-columns:72px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.case-copy dt{font-size:.75rem;color:#718891}
.case-copy dd{margin:0;font-size:.83rem;color:#294b58}
.case-kind{display:inline-flex;margin:0 0 15px;padding:7px 11px;border:1px solid #9fc4d2;border-radius:100px;background:rgba(255,255,255,.72);color:#27627a;font-size:.72rem;font-weight:700}
.case-copy .case-style-name{margin:-18px 0 18px;color:#43819a;font:600 .76rem/1.5 Manrope,"Noto Sans KR",sans-serif;letter-spacing:.06em}
.reference-help{margin-top:22px!important;padding:14px 16px;border-left:3px solid #67a9c1;background:#eef8fb;color:#446875!important;font-size:.8rem;line-height:1.65!important}
.reference-help b{display:block;color:#17485b}
.case-quote{display:flex;justify-content:space-between;gap:24px;width:100%;margin-top:26px;padding:14px 0;border:0;border-bottom:1px solid #24566a;background:transparent;color:#19465a;font-size:.86rem;font-weight:600;text-align:left}
.case-quote span{color:#5597b0}
.photo-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:245px;grid-auto-flow:dense;gap:9px;min-width:0}
.shot{position:relative;grid-column:span 4;min-width:0;overflow:hidden;padding:0;border:0;background:#d9e8ed;box-shadow:0 16px 42px rgba(35,78,94,.09)}
.shot.lead{grid-column:span 8;grid-row:span 2}
.shot.tall{grid-row:span 2}
.shot img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .55s ease,filter .55s ease;filter:saturate(.88) contrast(.98)}
.shot::after{content:"";position:absolute;inset:auto 0 0;height:34%;background:linear-gradient(transparent,rgba(5,21,27,.45));opacity:.62;transition:.3s}
.shot span{position:absolute;z-index:1;left:16px;right:16px;bottom:14px;display:grid;grid-template-columns:auto 1fr;gap:2px 9px;color:#fff;text-align:left;opacity:.96}
.shot span small{grid-column:1/-1;color:#b9e5f3;font:600 .56rem/1.2 Manrope,sans-serif;letter-spacing:.16em;text-transform:uppercase}
.shot span b{font:700 .69rem/1.35 Manrope,sans-serif;letter-spacing:.08em}
.shot span strong{overflow:hidden;font-size:.72rem;line-height:1.35;font-weight:600;letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap}
.detail-case-copy{max-width:430px;margin:20px 0 0;color:#b9d0d8;font-size:.84rem;line-height:1.75}
.shot:hover img,.shot:focus-visible img{transform:scale(1.025);filter:saturate(1) contrast(1.02)}
.shot:hover::after{opacity:1}
.shot:focus-visible{outline:3px solid #55a3c0;outline-offset:3px}
.estimate-photo-guide{display:grid;grid-template-columns:1fr 1.8fr;gap:7vw;padding:70px 6vw;background:#0d3443;color:#fff}
.estimate-photo-guide h2{margin:14px 0 0;font-size:clamp(2rem,3.4vw,4rem);font-weight:500;line-height:1.18;letter-spacing:-.05em}
.estimate-photo-guide .overline{color:#9ed4e6}
.estimate-photo-guide ol{display:grid;grid-template-columns:repeat(3,1fr);margin:0;padding:0;list-style:none;border:1px solid rgba(215,242,250,.22)}
.estimate-photo-guide li{display:grid;align-content:start;gap:9px;min-height:160px;padding:24px;border-left:1px solid rgba(215,242,250,.22)}
.estimate-photo-guide li:first-child{border-left:0}.estimate-photo-guide li b{color:#89c7dd;font:500 .72rem Manrope,sans-serif}.estimate-photo-guide li strong{font-size:1.02rem}.estimate-photo-guide li span{color:#b9d0d8;font-size:.8rem;line-height:1.55}
.grid-two .shot{grid-column:span 5}
.grid-two .shot.lead{grid-column:span 7}
.grid-three .shot:not(.lead){grid-column:span 4}
.grid-four .shot{grid-column:span 6}
.grid-four .shot.lead{grid-column:span 6}
.grid-five .shot{grid-column:span 4}
.grid-five .shot.lead{grid-column:span 8}

.craft{position:relative;overflow:hidden;padding:120px 6vw;background:linear-gradient(135deg,#0c2b38 0%,#164555 58%,#0b2732 100%);color:#f5fcff}
.craft::before,.network::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 5%,rgba(155,226,247,.23),transparent 32%),linear-gradient(117deg,transparent 0 47%,rgba(255,255,255,.07) 47.4% 48%,transparent 48.4%);pointer-events:none}
.craft>*{position:relative}
.craft .section-code{border-color:rgba(235,250,255,.18)}
.craft-head{margin:70px 0}
.craft-intro{max-width:750px;margin:34px 0 0;color:rgba(235,248,252,.72);font-size:1.02rem;line-height:1.9}
.craft-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(229,247,253,.2)}
.craft-grid article{min-height:280px;padding:30px 26px;border-right:1px solid rgba(229,247,253,.2);background:rgba(255,255,255,.015);transition:.25s}
.craft-grid article:first-child{border-left:1px solid rgba(229,247,253,.2)}
.craft-grid article:hover{background:rgba(255,255,255,.07);transform:translateY(-4px)}
.craft-grid span,.guide-grid span,.process li span{font:500 .72rem Manrope,sans-serif;color:#9bcee0}
.craft-grid h3{margin:86px 0 14px;font-size:1.4rem;font-weight:500}
.craft-grid p{margin:0;color:rgba(235,248,252,.67);font-size:.9rem}

.estimate-guide,.process{padding:120px 6vw;background:#fff}
.guide-title,.process-head{margin:70px 0}
.guide-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.guide-grid article{min-height:255px;padding:30px 25px;border-right:1px solid var(--line)}
.guide-grid article:first-child{border-left:1px solid var(--line)}
.guide-grid span,.process li span{color:#568aa0}
.guide-grid h3{margin:72px 0 13px;font-size:1.25rem}
.guide-grid p{margin:0;color:#687e87;font-size:.9rem}
.price-principle{display:grid;grid-template-columns:.65fr 1.25fr 1fr;align-items:center;gap:35px;margin-top:28px;padding:32px 34px;border:1px solid #c6dce4;background:linear-gradient(115deg,#edf8fb,#fff);box-shadow:0 18px 50px rgba(42,91,108,.08)}
.price-principle span{font:600 .67rem Manrope,sans-serif;letter-spacing:.18em;color:#548ba0}
.price-principle strong{font-size:clamp(1.15rem,1.8vw,1.55rem);font-weight:500;line-height:1.65;color:#254b5a}
.price-principle p{margin:0;color:#6b8089;font-size:.88rem}
.text-quote{display:flex;justify-content:space-between;width:min(420px,100%);margin:48px 0 0 auto;padding:15px 0;border:0;border-bottom:1px solid #224b5b;background:none;color:#1a4353;font-weight:600}
.process{background:linear-gradient(145deg,#f0f8fa,#fff)}
.process-intro{max-width:720px;margin:28px 0 0;color:#617984;line-height:1.85}
.process ol{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);margin:0;padding:0;border-top:1px solid var(--line)}
.process li{min-height:250px;padding:28px 22px;border-right:1px solid var(--line)}
.process li:first-child{border-left:1px solid var(--line)}
.process li h3{margin:74px 0 11px;font-size:1.16rem}
.process li p{margin:0;color:#687d86;font-size:.87rem}

.confidence{padding:120px 6vw;background:#fff}
.confidence-head{display:grid;grid-template-columns:1.35fr .65fr;gap:5vw;margin:70px 0}
.confidence-head .overline{grid-column:1/-1}
.confidence-head>p:last-child{align-self:end;margin:0;color:#617984;line-height:1.9}
.confidence-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.confidence-grid article{min-height:270px;padding:30px 26px;border-right:1px solid var(--line)}
.confidence-grid article:first-child{border-left:1px solid var(--line)}
.confidence-grid span{font:600 .68rem Manrope,sans-serif;letter-spacing:.15em;color:#568ba0}
.confidence-grid h3{margin:70px 0 14px;font-size:1.22rem;font-weight:600}
.confidence-grid p{margin:0;color:#687d86;font-size:.9rem;line-height:1.8}
.confidence-cta{display:flex;align-items:center;justify-content:space-between;gap:40px;margin-top:28px;padding:34px;background:linear-gradient(115deg,#eef8fb,#fff);border:1px solid #c7dce4;box-shadow:0 18px 50px rgba(42,91,108,.07)}
.confidence-cta small{display:block;margin-bottom:12px;font:600 .66rem Manrope,sans-serif;letter-spacing:.18em;color:#568ba0}
.confidence-cta strong{font-size:clamp(1.12rem,1.7vw,1.5rem);font-weight:500;line-height:1.65;color:#254b5a}
.confidence-cta a{display:flex;justify-content:space-between;gap:50px;min-width:260px;padding:15px 0;border-bottom:1px solid #224b5b;color:#1a4353;font-size:.88rem;font-weight:600}

.network{position:relative;overflow:hidden;padding:120px 6vw;background:linear-gradient(135deg,#103443,#1a5163 62%,#0d2f3c);color:#fff}
.network>*{position:relative}
.network .section-code{border-color:rgba(235,250,255,.18)}
.network-head{display:grid;grid-template-columns:1.3fr .7fr;align-items:end;gap:7vw;margin:70px 0}
.network-intro{max-width:620px;margin:0;color:rgba(237,249,252,.72);font-size:1rem;line-height:1.9}
.outline-quote{min-width:230px;padding:15px 0;border:0;border-bottom:1px solid rgba(255,255,255,.72);background:none;color:#fff;text-align:left;font-weight:600}
.outline-quote span{float:right}
.network-promise{display:grid;grid-template-columns:.65fr 1.1fr 1fr;align-items:center;gap:38px;margin-bottom:28px;padding:32px 34px;border:1px solid rgba(188,226,238,.28);background:linear-gradient(105deg,rgba(255,255,255,.09),rgba(255,255,255,.025));box-shadow:0 24px 64px rgba(1,20,28,.12)}
.network-promise>span,.network-assurance span{font:600 .67rem Manrope,sans-serif;letter-spacing:.18em;color:#9fd5e7}
.network-promise strong{font-size:clamp(1.2rem,1.9vw,1.65rem);font-weight:500;line-height:1.6}
.network-promise p{margin:0;color:rgba(237,249,252,.7);font-size:.88rem;line-height:1.8}
.network-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(235,250,255,.2)}
.network-grid article{min-height:290px;padding:30px;border-right:1px solid rgba(235,250,255,.2)}
.network-grid article:first-child{border-left:1px solid rgba(235,250,255,.2)}
.network-grid span{font:500 .66rem Manrope,sans-serif;letter-spacing:.16em;color:#9acddd}
.network-grid h3{margin:52px 0 16px;font:500 2.1rem Manrope,sans-serif}
.network-grid p{max-width:360px;color:rgba(237,249,252,.7)}
.network-grid small{display:inline-block;margin-top:10px;color:#b7e7f5}
.network-assurance{display:flex;align-items:center;justify-content:space-between;gap:50px;margin-top:28px;padding:34px;border-top:1px solid rgba(235,250,255,.22);border-bottom:1px solid rgba(235,250,255,.22);background:rgba(4,28,37,.2)}
.network-assurance>div{display:grid;gap:10px;max-width:860px}
.network-assurance strong{font-size:clamp(1.05rem,1.55vw,1.35rem);font-weight:600}
.network-assurance p{margin:0;color:rgba(237,249,252,.66);font-size:.84rem}
.network-assurance .outline-quote{min-width:310px}

footer{padding:0 6vw 48px;background:#071c24;color:#fff}
.footer-call{display:flex;align-items:center;justify-content:space-between;padding:100px 0;border-bottom:1px solid rgba(255,255,255,.16)}
.footer-call p{font:500 .72rem Manrope,sans-serif;letter-spacing:.2em;color:#a3c2cd}
.footer-call button{border:0;background:none;color:#fff;font:500 clamp(3rem,7.2vw,7.5rem)/1 Manrope,sans-serif;letter-spacing:-.065em}
.footer-call button span{color:#74c2de}
.footer-meta{display:grid;grid-template-columns:1fr 1.6fr auto;gap:35px;padding-top:40px;color:#91a5ad;font-size:.78rem}
.footer-meta strong{color:#fff;font:600 .85rem Manrope,sans-serif;letter-spacing:.12em}
.footer-meta p{margin:4px 0}
.footer-contact{color:inherit;text-decoration:none}.footer-contact:hover,.footer-contact:focus-visible{color:#fff;text-decoration:underline;text-underline-offset:3px}
.footer-meta small{display:grid;gap:8px;justify-items:end}.privacy-link{color:#c3d9e1;text-decoration:underline;text-underline-offset:3px}
.footer-meta small{display:grid;justify-items:end;gap:8px}.privacy-link{color:#c4dce5;text-decoration:underline;text-underline-offset:3px}

.quote-dock{position:fixed;z-index:45;right:22px;bottom:22px;display:flex;align-items:center;gap:24px;width:min(560px,calc(100vw - 44px));padding:15px 16px 15px 20px;border:1px solid rgba(153,204,222,.55);background:rgba(8,38,49,.94);color:#fff;box-shadow:0 20px 55px rgba(7,34,44,.28);backdrop-filter:blur(18px);visibility:hidden;opacity:0;pointer-events:none;transform:translateY(18px);transition:.28s}
.quote-dock.visible{visibility:visible;opacity:1;pointer-events:auto;transform:none}
.quote-dock p{display:grid;gap:2px;flex:1;margin:0}
.quote-dock strong{font-size:.9rem;font-weight:600}
.quote-dock p span{color:#b7cbd3;font-size:.72rem}
.quote-dock button{display:flex;gap:26px;flex:0 0 auto;padding:12px 14px;border:1px solid rgba(184,229,244,.45);background:#fff;color:#173f4f;font-size:.8rem;font-weight:600}
.quote-dock .dock-kakao-chat{flex:0 0 auto;padding:11px 12px;border:1px solid rgba(184,229,244,.55);color:#fff;font-size:.78rem;font-weight:700;white-space:nowrap}

.ai-concierge{position:fixed;z-index:60;right:24px;bottom:112px;display:grid;justify-items:end;gap:12px}.concierge-nudge{display:flex;align-items:flex-start;gap:18px;padding:13px 14px 13px 17px;border:1px solid #b8d7e2;background:rgba(250,253,254,.98);color:#41616e;box-shadow:0 14px 40px rgba(7,36,47,.17);font-size:.74rem}.concierge-nudge span{display:grid;gap:2px}.concierge-nudge b{color:#173f4f;font-size:.84rem}.concierge-nudge button{padding:0;border:0;background:none;color:#78909a;font-size:1rem}.concierge-panel[hidden]{display:none}.concierge-panel{width:min(390px,calc(100vw - 32px));overflow:hidden;border:1px solid rgba(141,191,208,.7);background:#fafdfe;box-shadow:0 28px 80px rgba(5,32,42,.28)}.concierge-head{position:relative;min-height:160px;padding:24px 135px 20px 22px;background:linear-gradient(135deg,#0c3545,#175469);color:#fff}.concierge-head div{position:relative;z-index:1}.concierge-head small{display:block;color:#91d0e5;font:600 .65rem Manrope,sans-serif;letter-spacing:.14em}.concierge-head strong{display:block;margin-top:14px;font-size:1.05rem}.concierge-head p{margin:7px 0 0;color:#c1d9e1;font-size:.75rem;line-height:1.55}.concierge-head img{position:absolute;right:2px;bottom:-26px;width:142px;height:205px;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 12px 15px rgba(0,0,0,.22))}.concierge-actions{display:grid;padding:12px}.concierge-actions button{display:grid;grid-template-columns:32px 1fr;gap:1px 9px;padding:13px 11px;border:0;border-bottom:1px solid #dce8ec;background:#fff;color:#1f4655;text-align:left}.concierge-actions button:last-child{border-bottom:0}.concierge-actions button:hover,.concierge-actions button:focus-visible{background:#edf7fa;outline:1px solid #83b9cd;outline-offset:-1px}.concierge-actions span{grid-row:1/3;color:#5c9bb2;font:600 .68rem Manrope,sans-serif;letter-spacing:.08em}.concierge-actions b{font-size:.84rem}.concierge-actions small{color:#71868e;font-size:.7rem}.concierge-trust{margin:0;padding:10px 15px 13px;border-top:1px solid #dce8ec;color:#71858d;font-size:.66rem;line-height:1.5}.concierge-toggle{display:flex;align-items:center;gap:10px;min-width:166px;height:58px;padding:0 15px 0 6px;border:1px solid rgba(159,205,220,.75);border-radius:30px;background:#0d3b4c;color:#fff;box-shadow:0 16px 42px rgba(5,34,44,.28)}.concierge-toggle>img{width:47px;height:52px;object-fit:contain;object-position:center 15%;border-radius:50%;background:#e7f5f9}.concierge-toggle>span{display:grid;text-align:left}.concierge-toggle b{font-size:.8rem}.concierge-toggle small{color:#acd2df;font-size:.64rem}

.lightbox[hidden],.modal[hidden],.summary[hidden],.modal form[hidden]{display:none}
.lightbox{position:fixed;z-index:90;inset:0;display:grid;grid-template-columns:70px minmax(0,1fr) 70px;align-items:center;background:rgba(3,13,17,.95);padding:5vh 4vw;color:#fff;backdrop-filter:blur(12px)}
.lightbox figure{margin:0;text-align:center}
.lightbox img{display:block;width:auto;max-width:100%;height:auto;max-height:80vh;margin:auto;object-fit:contain;box-shadow:0 32px 90px rgba(0,0,0,.45)}
.lightbox figcaption{display:flex;justify-content:space-between;gap:25px;margin:15px auto 0;max-width:1200px;color:#c9d8dd;text-align:left}
.lightbox figcaption p{margin:0;font-size:.92rem}
.lightbox figcaption span{font:500 .72rem Manrope,sans-serif;letter-spacing:.14em;white-space:nowrap}
.lightbox button{border:1px solid rgba(255,255,255,.32);border-radius:50%;background:rgba(255,255,255,.04);color:#fff}
.lightbox .lightbox-quote{display:flex;align-items:center;justify-content:space-between;gap:28px;width:min(360px,100%);margin:18px 0 0 auto;padding:14px 17px;border-radius:0;border-color:#fff;background:#fff;color:#173f4f;font-weight:700}
.lightbox .lightbox-quote span{color:#4f8ba2}
.lightbox-close{position:absolute;right:3vw;top:3vh;width:48px;height:48px;font-size:1.8rem}
.lightbox-prev,.lightbox-next{width:52px;height:52px;font-size:2rem}

.modal{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:20px;background:rgba(8,30,39,.66);backdrop-filter:blur(14px)}
.modal-panel{position:relative;width:min(720px,100%);max-height:92vh;overflow:auto;padding:54px;background:rgba(250,253,254,.98);box-shadow:0 36px 100px rgba(3,23,31,.34)}
.modal-close{position:absolute;right:22px;top:16px;border:0;background:none;color:#173744;font-size:2rem}
.modal h2{margin:0;font-size:clamp(2.1rem,5vw,3.5rem);line-height:1.1;letter-spacing:-.05em}
.modal-desc{color:#647a84}
.modal-assurance{margin:16px 0 0;padding:12px 14px;border-left:2px solid #67a9c1;background:#edf7fa;color:#476773;font-size:.78rem;line-height:1.7}
.quote-steps{display:grid;grid-template-columns:repeat(3,1fr);margin:25px 0 0;padding:0;list-style:none;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.quote-steps li{padding:11px 8px;color:#5e7883;font-size:.74rem;text-align:center;border-right:1px solid var(--line)}
.quote-steps li:last-child{border-right:0;color:#27627a}
.kakao-photo-contact{margin:14px 0 0;padding:12px 14px;border:1px solid #c8dbe2;background:#f4fafc;color:#49646e;font-size:.875rem;line-height:1.6}.kakao-photo-contact a{display:inline-block;margin-top:3px;color:#1d5f76;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.modal form{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-top:30px}
.modal label{display:grid;gap:8px;font-size:.83rem;font-weight:600;color:#294c5a}
.modal label>small{color:#70858d;font-size:.75rem;font-weight:400;line-height:1.55}
.modal input,.modal select,.modal textarea{width:100%;padding:14px;border:1px solid #c6d7de;background:#fff;color:#1c3d4a;font:1rem/1.55 "Noto Sans KR",sans-serif}
.modal input[readonly]{background:#edf6f9;color:#315966}
.modal input[type="file"]{padding:12px;font-size:.85rem}
.modal input:focus,.modal select:focus,.modal textarea:focus{outline:2px solid #61a8c3;outline-offset:1px}
.wide-label,.privacy-consent,.submit{grid-column:1/-1}
.modal .privacy-consent{display:flex;align-items:flex-start;gap:10px;padding:4px 0;color:#4d6873;font-weight:500;line-height:1.55}
.modal .privacy-consent input{flex:0 0 auto;width:18px;height:18px;margin:2px 0 0;accent-color:#1f657d}
.modal .privacy-consent b,.modal .privacy-consent small{display:block}.modal .privacy-consent small{margin-top:3px;color:#6d8189;font-size:.76rem;font-weight:400}
.modal .privacy-consent a{color:#1f657d;text-decoration:underline;text-underline-offset:2px}.modal .optional-consent{margin-top:-5px;padding-top:12px;border-top:1px solid #d7e3e8}
.modal .privacy-consent a{color:#1f657d;text-decoration:underline;text-underline-offset:2px}.modal .optional-consent{margin-top:-7px;padding-top:13px;border-top:1px solid #d8e5e9}.modal .optional-consent b{color:#617983}
.submit{display:flex;justify-content:space-between;margin-top:8px;padding:16px 18px;border:0;background:#123a4a;color:#fff}
.summary{margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}
.summary textarea{width:100%;min-height:165px;padding:15px;resize:vertical;border:1px solid #c6d7de;background:#fff;color:#21424f;line-height:1.7}
.summary-edit-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px;padding:14px;background:#eaf1f3}
.summary-edit-actions p{grid-column:1/-1;margin:0 0 2px;color:#365662;font-size:.88rem;font-weight:700}
.summary-edit-actions button{min-height:44px;padding:10px;border:1px solid #63808b;background:#fff;color:#183f4e;font-weight:700}
.summary-edit-actions button:focus-visible{outline:3px solid #237da0;outline-offset:2px}
.summary-actions{display:flex;gap:10px;margin-top:10px}
.summary-actions button,.summary-actions a{flex:1;padding:13px;border:1px solid #1c485a;background:#fff;color:#1c485a;text-align:center}
.summary-actions a,.summary-actions #submitQuote{background:#123a4a;color:#fff}.attachment-note{margin:10px 0 0;color:#7a6260;font-size:.76rem}
.website-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.submission-status{min-height:1.5em;margin:12px 0 0;font-size:.82rem;color:#536069}.submission-status.success{color:#14633c;font-weight:700}.submission-status.error{color:#a12a2a;font-weight:600}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-gallery img{animation:none}.shot img{transition:none}}

.privacy-body{background:#f7fbfc;color:#153542}.privacy-header{display:flex;align-items:center;justify-content:space-between;height:88px;padding:0 6vw;border-bottom:1px solid var(--line);background:#f7fbfc}.privacy-header .brand{display:flex;align-items:center;gap:12px;color:#153542}.privacy-home{padding:12px 15px;border:1px solid #9fc4d2;color:#24566a;font-size:.78rem}.privacy-page{width:min(900px,calc(100% - 40px));margin:auto;padding:90px 0 110px}.privacy-page h1{margin:8px 0 22px;font-size:clamp(2.5rem,6vw,4.8rem);line-height:1.08;letter-spacing:-.055em}.privacy-intro{max-width:720px;color:#607984}.privacy-date{margin:18px 0 48px;color:#78909a;font-size:.78rem}.privacy-page section{padding:28px 0;border-top:1px solid var(--line)}.privacy-page h2{margin:0 0 12px;font-size:1.1rem}.privacy-page h3{margin:18px 0 5px;color:#426473;font-size:.83rem}.privacy-page section p{margin:0;color:#637983;line-height:1.75}.privacy-page a{color:#1f657d}.privacy-page dl{display:grid;gap:8px;margin:0}.privacy-page dl div{display:grid;grid-template-columns:90px 1fr}.privacy-page dt{color:#708792}.privacy-page dd{margin:0}.privacy-ai{margin:8px -20px;padding:28px 20px!important;border:1px solid #bdd9e3!important;background:#edf7fa}.privacy-footer{padding:40px 6vw;background:#071c24;color:#94aab2;font-size:.78rem}.privacy-footer strong{color:#fff}.privacy-footer p{margin:5px 0}

@media(max-width:980px){
  .topbar{height:70px;padding:0 22px}.topbar nav{position:absolute;top:70px;left:0;right:0;display:none;flex-direction:column;gap:22px;margin:0;padding:26px;background:rgba(248,252,253,.98);box-shadow:0 22px 40px rgba(26,65,80,.12)}.topbar nav.open{display:flex}.menu-toggle{display:block;margin-left:auto}.header-quote{display:none}
  .hero-gallery{grid-template-columns:1fr 1fr;grid-template-rows:1.28fr .72fr}.hero-gallery .hero-primary{grid-column:1/-1;grid-row:1}.hero-wash{background:linear-gradient(0deg,rgba(249,253,254,.98) 0%,rgba(249,253,254,.89) 38%,rgba(245,251,253,.16) 78%)}.hero-content{justify-content:flex-end;padding:21vh 24px 150px}.hero h1{font-size:clamp(2.85rem,7.6vw,4.8rem)}.hero-foot{margin-top:5vh}.hero-index{padding:0 24px;gap:14px}.hero-index span:nth-child(2){display:none}
  .proof-strip{grid-template-columns:1fr 1fr;padding:0 24px}.proof-strip article:nth-child(odd){border-left:1px solid var(--line)}
  .value-system{display:block;padding:90px 24px}.value-title{padding-top:55px}.value-copy{padding-top:45px}.value-flow{grid-template-columns:1fr 1fr;margin-top:65px}.value-flow li:nth-child(odd){border-left:1px solid var(--line)}.value-flow li:nth-child(2)::after{display:none}.value-summary{grid-template-columns:.6fr 1fr 1fr}
  .archive-intro{display:block;padding:90px 24px}.archive-title{margin-top:55px}.archive-note{margin:45px 0 0 20vw}
  .ai-finder{padding:64px 24px}.ai-finder-head{grid-template-columns:1fr;gap:25px}.ai-finder-head>p{max-width:720px}.ai-results{grid-template-columns:repeat(2,1fr)}
  .filter-wrap{padding:0 12px}.filter-wrap.taxonomy{grid-template-columns:1fr;padding-block:14px;gap:7px}.taxonomy-heading{display:block;padding:3px 4px 13px}.taxonomy-heading span{display:block;margin-top:5px}.filter-label{padding:6px 4px 2px}.case-selection-prompt{grid-column:1;padding:4px}.filter-bar{justify-content:flex-start;overflow-x:auto;scrollbar-width:none}.filter-bar::-webkit-scrollbar{display:none}.major-filters button{min-width:190px}.case-navigator{grid-column:1;grid-template-columns:repeat(2,minmax(150px,1fr))}.filter-result small{display:none}
  .case-story,.case-story.reverse{display:block;padding:90px 24px}.case-story.reverse .case-copy,.case-story.reverse .photo-grid{grid-column:auto;grid-row:auto}.case-copy{position:static;margin-bottom:50px}.case-copy>p:not(.case-no){max-width:630px}.case-copy dl{max-width:520px}
  .photo-grid{grid-auto-rows:190px}.shot{grid-column:span 6}.shot.lead{grid-column:span 12}.grid-two .shot,.grid-two .shot.lead,.grid-three .shot:not(.lead),.grid-four .shot,.grid-four .shot.lead,.grid-five .shot,.grid-five .shot.lead{grid-column:span 6}.grid-three .shot.lead,.grid-five .shot.lead{grid-column:span 12}
  .craft,.estimate-guide,.process,.confidence,.network{padding:90px 24px}.craft-grid,.guide-grid,.confidence-grid{grid-template-columns:1fr 1fr}.craft-grid article:nth-child(odd),.guide-grid article:nth-child(odd){border-left:1px solid rgba(229,247,253,.2)}.guide-grid article:nth-child(odd),.confidence-grid article:nth-child(odd){border-left:1px solid var(--line)}.price-principle{grid-template-columns:1fr 1.2fr}.price-principle p{grid-column:1/-1}.process ol{grid-template-columns:1fr 1fr}.process li:nth-child(odd){border-left:1px solid var(--line)}.confidence-head{grid-template-columns:1fr}.confidence-head .overline{grid-column:1}.confidence-head>p:last-child{max-width:720px}.network-head{grid-template-columns:1fr}.network-intro{max-width:720px}.network-promise{grid-template-columns:.65fr 1.2fr}.network-promise p{grid-column:1/-1}.network-grid{grid-template-columns:1fr}.network-grid article,.network-grid article:first-child{min-height:auto;border-left:1px solid rgba(235,250,255,.2);border-bottom:1px solid rgba(235,250,255,.2)}.network-assurance{align-items:flex-end}.network-assurance .outline-quote{min-width:270px}
  .footer-call{display:block;padding:75px 0}.footer-call button{margin-top:28px}.footer-meta{grid-template-columns:1fr 1.6fr}
}

@media(max-width:620px){
  .ai-concierge{right:12px;bottom:96px}.concierge-panel{width:min(360px,calc(100vw - 24px))}.concierge-nudge{display:none}.concierge-toggle{min-width:0;height:44px;padding:0 12px}.concierge-toggle>img,.concierge-toggle small{display:none}.concierge-head{min-height:150px;padding-left:19px}.concierge-head img{width:132px;height:190px}.concierge-actions button{padding-block:12px}
  body{font-size:16px}.brand-name{font-size:.7rem}.hero{min-height:820px}.hero-content .overline{max-width:260px;line-height:1.6}.hero-content{padding-inline:20px}.hero h1{font-size:clamp(2.35rem,10vw,3.55rem);line-height:1.13;letter-spacing:-.05em}.hero-foot{display:block}.hero-foot p{max-width:430px;font-size:.92rem}.hero-actions{margin-top:25px}.primary-quote,.secondary-link{gap:18px;padding:12px 13px;font-size:.76rem}.hero-index{grid-template-columns:1fr auto;height:76px}.hero-index span{font-size:.6rem}.hero-index a{font-size:.6rem}
  .proof-strip{grid-template-columns:1fr 1fr;padding:0 18px}.proof-strip article{min-height:118px;padding:20px 16px}.proof-strip strong{font-size:1.22rem}.proof-strip span{font-size:.72rem}
  .value-title h2,.archive-title :is(h1,h2),.guide-title h2,.process-head h2,.craft-head h2,.network-head h2,.confidence-head h2{font-size:clamp(2.1rem,8.9vw,3rem);line-height:1.18}.value-flow{grid-template-columns:1fr}.value-flow li,.value-flow li:first-child{min-height:auto;border-left:1px solid var(--line);border-bottom:1px solid var(--line)}.value-flow li:not(:last-child)::after{display:none}.value-flow h3{margin-top:32px}.value-summary{display:block;padding:26px}.value-summary p{margin-top:18px}.value-summary strong{display:block;margin-top:4px;text-align:left}.archive-note{margin-left:0}
  .ai-finder{padding:54px 18px 65px}.ai-finder-head h2{font-size:clamp(2rem,9vw,3rem)}.ai-search{margin-top:32px;padding:13px}.ai-search-field{grid-template-columns:1fr}.ai-search-field textarea{min-height:112px}.ai-search-field button{min-width:0;min-height:52px}.ai-trust{align-items:flex-start;line-height:1.55}.ai-result-head{display:block;margin-top:42px}.ai-result-head p{margin-top:8px;line-height:1.55}.ai-results{grid-template-columns:1fr}.ai-result-image{height:205px}.ai-result-copy>p{min-height:0}.ai-selection{display:block;bottom:8px}.ai-selection p{grid-template-columns:auto 1fr}.ai-selection p small{display:none}.ai-selection>button{width:100%;margin-top:12px}
  .filter-bar{min-height:68px}.filter-bar button{padding:10px 14px}.case-navigator{grid-template-columns:1fr}.case-navigator button{min-height:45px}.case-explore{grid-template-columns:1fr}
  .case-story,.case-story.reverse{padding:78px 18px}.case-copy h3{font-size:clamp(1.85rem,7.2vw,2.45rem);line-height:1.24;letter-spacing:-.04em}.photo-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:140px;gap:6px}.shot,.grid-two .shot,.grid-two .shot.lead,.grid-three .shot:not(.lead),.grid-four .shot,.grid-four .shot.lead,.grid-five .shot,.grid-five .shot.lead{grid-column:span 1}.shot.lead,.grid-three .shot.lead,.grid-five .shot.lead{grid-column:span 2;grid-row:span 2}.shot.tall{grid-row:span 2}.shot span{left:10px;bottom:8px;font-size:.56rem}.archive-more{display:grid;padding:32px 20px}.archive-more a{min-width:0;width:100%}
  .craft-grid,.guide-grid,.confidence-grid,.process ol{grid-template-columns:1fr}.craft-grid article,.craft-grid article:first-child,.guide-grid article,.guide-grid article:first-child,.confidence-grid article,.confidence-grid article:first-child,.process li,.process li:first-child{min-height:auto;border-left:1px solid var(--line);border-bottom:1px solid var(--line)}.craft-grid article,.craft-grid article:first-child{border-color:rgba(229,247,253,.2)}.craft-grid h3,.guide-grid h3,.confidence-grid h3,.process li h3{margin-top:32px}.price-principle{display:block;padding:26px}.price-principle strong,.price-principle p{display:block;margin-top:18px}.confidence-cta{display:block;padding:25px}.confidence-cta a{min-width:0;margin-top:25px}.network-promise{display:block;padding:25px}.network-promise strong,.network-promise p{display:block;margin-top:18px}.network-grid article{padding:26px}.network-grid h3{margin-top:35px}.network-assurance{display:block;padding:25px}.network-assurance .outline-quote{min-width:0;width:100%;margin-top:26px}
  .quote-dock{left:10px;right:10px;bottom:10px;width:auto;padding:12px 12px 12px 15px}.quote-dock p span{display:none}.quote-dock button{gap:18px}
  footer{padding-inline:22px}.footer-call button{font-size:2.8rem}.footer-meta{grid-template-columns:1fr}.footer-meta small{justify-items:start}.lightbox{grid-template-columns:42px minmax(0,1fr) 42px;padding:60px 8px 25px}.lightbox-prev,.lightbox-next{width:38px;height:38px}.lightbox-close{right:15px;top:14px;width:42px;height:42px}.lightbox figcaption{padding:0 4px}.modal-panel{padding:48px 22px 24px}.modal form{grid-template-columns:1fr}.wide-label,.submit{grid-column:1}.summary-edit-actions{grid-template-columns:1fr}.summary-actions{flex-direction:column}
}

/* v66 unified photo selection, comparison, and mobile fixed-state system */
.space-start{padding:48px max(24px,6vw);background:#edf5f7;border-block:1px solid #d7e6eb}.space-start header{max-width:780px}.space-start h2{margin:8px 0;font-size:clamp(1.8rem,4vw,3rem);color:#123b4a}.space-start header>p:last-child{color:#607a84}.space-start>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:24px}.space-start a,.space-start button{display:grid;place-items:center;min-height:52px;padding:12px;border:1px solid #87adbb;background:#fff;color:#174556;font-weight:700;text-align:center}.space-start button{font:700 .9rem "Noto Sans KR",sans-serif}.space-start :is(a,button):focus-visible{outline:3px solid #217b9b;outline-offset:2px}
.photo-selected{outline:4px solid #2f91b2!important;outline-offset:-4px}.photo-selected::after{content:"선택됨";position:absolute;top:10px;right:10px;padding:6px 9px;background:#0b4154;color:#fff;font-size:.7rem;font-weight:700}.shot{position:relative}.shot span small{display:block;color:#d6eef6;font:600 .62rem Manrope,sans-serif}.shot span strong{display:block;max-width:30ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lightbox figure{max-width:min(1240px,100%);margin:auto}.lightbox-thumbs{display:flex;justify-content:center;gap:6px;max-width:100%;margin-top:12px;overflow-x:auto}.lightbox-thumbs button{flex:0 0 58px;width:58px;height:48px;padding:2px;border-radius:0}.lightbox-thumbs button[aria-current="true"]{border:3px solid #78c6df}.lightbox-thumbs img{width:100%;height:100%;object-fit:cover;box-shadow:none}
.quote-dock.has-photo-selection{align-items:center}.quote-dock.has-photo-selection>button{display:none}.selection-dock-controls{display:flex;gap:8px}.selection-dock-controls button{min-height:44px;padding:10px 13px;border:1px solid #fff;background:#fff;color:#123b4a;font-weight:700}.selection-dock-controls button:disabled{opacity:.45}.quote-dock>[data-selection-message]{position:absolute;right:0;bottom:100%;max-width:min(440px,90vw);padding:6px 10px;background:#fff;color:#254d5b;box-shadow:0 4px 14px rgba(0,0,0,.12)}
.photo-comparison[hidden]{display:none}.photo-comparison{position:fixed;z-index:110;inset:0;overflow:auto;padding:24px;background:rgba(3,20,27,.88)}.photo-comparison>section{width:min(1100px,100%);margin:auto;padding:28px;background:#f8fcfd}.photo-comparison header,.photo-comparison footer{display:flex;align-items:center;justify-content:space-between;gap:15px}.photo-comparison h2{margin:4px 0;color:#123b4a}.photo-comparison header button{width:48px;height:48px;border:0;background:#123b4a;color:#fff;font-size:1.7rem}.comparison-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:24px 0}.comparison-cards article{padding:12px;background:#fff;border:1px solid #d6e4e9}.comparison-cards img{display:block;width:100%;height:220px;object-fit:contain;background:#eef3f5}.comparison-cards p{color:#52717d;font-size:.75rem}.comparison-cards h3{font-size:1rem}.comparison-cards dl div{padding:8px 0;border-top:1px solid #e1e9ec}.comparison-cards dt{color:#66808a;font-size:.72rem}.comparison-cards dd{margin:3px 0 0;color:#254b59;font-size:.82rem}.photo-comparison footer button{min-height:48px;padding:12px 16px;border:1px solid #174556;background:#fff;color:#174556;font-weight:700}.photo-comparison footer button:last-child{background:#174556;color:#fff}.search-empty{grid-column:1/-1;padding:28px;background:#edf5f7;text-align:center}.search-empty :is(a,button){display:inline-block;min-height:44px;margin:8px 4px 0;padding:11px 14px;border:1px solid #174556;background:#fff;color:#174556;font:700 .84rem "Noto Sans KR",sans-serif}
body.modal-open .quote-dock,body.modal-open .ai-concierge{visibility:hidden;pointer-events:none}
.submission-status.success ol{margin:12px 0 0;padding-left:22px;color:#315e45;font-weight:400;line-height:1.7}
.catalog-more{display:block;min-width:220px;min-height:50px;margin:32px auto 72px;padding:12px 20px;border:1px solid #174e61;background:#fff;color:#174e61;font:700 .9rem "Noto Sans KR",sans-serif}.catalog-more[hidden]{display:none}.catalog-more:focus-visible{outline:3px solid #217b9b;outline-offset:3px}
@media(max-width:760px){.space-start>div{grid-template-columns:repeat(2,minmax(0,1fr))}.comparison-cards{grid-template-columns:1fr}.comparison-cards img{height:auto;max-height:58vh}.photo-comparison footer{align-items:stretch;flex-direction:column}.photo-comparison footer button{width:100%}.quote-dock.has-photo-selection{display:grid;grid-template-columns:1fr auto}.selection-dock-controls{grid-column:1/-1}.selection-dock-controls button{flex:1}.lightbox{grid-template-columns:44px minmax(0,1fr) 44px}.lightbox .lightbox-quote{min-height:48px}.lightbox-thumbs{justify-content:flex-start}}
@media(max-width:380px){.space-start>div{grid-template-columns:1fr}.quote-dock.has-photo-selection p{display:block}.selection-dock-controls{display:grid;grid-template-columns:1fr 1fr}.selection-dock-controls button{padding-inline:8px;font-size:.76rem}}

@media (max-width:960px){
  .estimate-photo-guide{grid-template-columns:1fr;padding:60px 24px}
  .estimate-photo-guide ol{grid-template-columns:1fr}
  .estimate-photo-guide li,.estimate-photo-guide li:first-child{min-height:auto;border-left:0;border-top:1px solid rgba(215,242,250,.22)}
  .estimate-photo-guide li:first-child{border-top:0}
}

/* Verified readability adjustments for small text on pale surfaces. */
.major-filters button small,.major-filters button span,
.case-navigator button small,.case-navigator button span,
.estimate-guide .section-code,.confidence .section-code,
.guide-grid span,.guide-grid p,.confidence-grid span,.confidence-grid p{color:#455f6a}
/* Keep the mobile opening composition still and avoid continuous filters. */
@media(max-width:760px){
  .hero-gallery img{animation:none;filter:none}
  .hero-prism{display:none}
}

/* Inquiry readability and small-screen height handling */
.modal-panel{max-height:calc(100dvh - 40px);overscroll-behavior:contain}
.modal form{grid-template-columns:repeat(2,minmax(0,1fr))}
.modal label,.reference-group{min-width:0}
.modal label,.modal label>small,.quote-steps li,.modal-assurance,.attachment-note,.submission-status,.modal .privacy-consent small{font-size:.875rem}
.modal input[type="file"]{font-size:1rem;min-width:0}
.modal-close{min-width:44px;min-height:44px;line-height:1}
.reference-group{display:grid;gap:8px}
.reference-clear{justify-self:start;min-height:44px;padding:9px 14px;border:1px solid #749cac;background:#fff;color:#234e60;font:inherit;font-size:.875rem}
.reference-clear:disabled{color:#60757e;background:#edf2f4;border-color:#c6d7de}
.reference-clear:focus-visible{outline:2px solid #245c72;outline-offset:3px}
#referenceStatus{color:#315966;font-size:.875rem;overflow-wrap:anywhere}
#referenceStatus:empty{display:none}
.summary-actions button{min-height:44px;font-size:1rem}
@media(max-width:620px){
 .modal{padding:10px}
 .modal-panel{max-height:calc(100dvh - 20px);padding:58px 18px 24px}
 .modal form{grid-template-columns:minmax(0,1fr)}
 .modal h2{padding-right:20px;font-size:clamp(1.8rem,7vw,2.4rem);line-height:1.25}
 .summary textarea{min-height:240px}
}
/* v66 review: scoped layouts for approved catalog/viewer and one mobile dock. */
[hidden]{display:none!important}
.catalog-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;padding:24px 5vw 40px}
.catalog-grid>.search-empty{grid-column:1/-1}
.catalog-card,.service-photo-card{min-width:0;border:1px solid #d7e3e7;background:white;overflow:hidden}
.catalog-image{position:relative;display:block;width:100%;padding:0;border:0;background:#f2f5f6;cursor:pointer}
.catalog-image img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;max-height:none}
.catalog-image>span{position:absolute;left:8px;bottom:8px;padding:7px 10px;background:#123b4a;color:white;font-size:.8rem}
.catalog-copy{padding:16px}.catalog-copy small{color:#496470}.catalog-copy h3{font-size:1.05rem;line-height:1.6;margin:8px 0}.catalog-copy p,.service-photo-card p{font-size:.85rem;line-height:1.7;color:#3b5f6c}
.catalog-copy button,.service-photo-card>[data-catalog-pick]{min-height:44px;padding:10px 16px;border:1px solid #164454;background:white;color:#164454;font:inherit;font-size:.9rem}
[data-catalog-pick][aria-pressed=true]{background:#164454;color:white}
.catalog-controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:18px 0}.catalog-controls label{display:flex;align-items:center;gap:8px}.catalog-controls button,.catalog-controls select{min-height:44px;padding:9px 13px;border:1px solid #afc6d0;background:white;color:#183e4d;font:inherit;font-size:.86rem}.space-filters{display:flex;flex-wrap:wrap;gap:8px;width:100%}.space-filters [aria-pressed=true]{background:#174556;color:white}.catalog-controls p{flex-basis:100%;margin:0;min-height:1.5em}
.service-photo-block{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.service-photo-card h3,.service-photo-card p,.service-photo-card>small{margin:12px 16px}.service-photo-card>small{display:block;color:#4b6874}.service-photo-card>[data-catalog-pick]{margin:0 16px 16px}
.reference-use{font-weight:600}.catalog-more{margin:20px auto 42px}.catalog-more:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid #237b9b;outline-offset:3px}
/* No landscape photograph inside an unnecessarily tall fixed gray slot. */
.service-photos figure img{height:auto;object-fit:contain}
.lightbox:not([hidden]){display:flex!important;align-items:flex-start;justify-content:center;overflow-y:auto;padding:64px 64px 24px;gap:0;overscroll-behavior:contain}
.lightbox>figure{display:block!important;width:min(1080px,100%);min-width:0;margin:0;grid-column:1/-1;max-height:none}
.lightbox>figure>#lightboxImage{display:block;width:auto;max-width:100%;height:auto;max-height:58dvh;object-fit:contain;margin:auto}
.lightbox figcaption{display:flex;gap:12px;justify-content:space-between;align-items:flex-start}.lightbox figcaption p{margin:10px 0;font-size:.95rem;overflow-wrap:anywhere}.lightbox-quote{min-height:44px}.lightbox .viewer-info{color:#fff;font-size:.85rem;line-height:1.6}.viewer-info p{margin:8px 0}.viewer-info p:last-child{opacity:.88}
.lightbox .lightbox-prev,.lightbox .lightbox-next{position:fixed;top:35dvh;width:44px;height:54px;min-width:44px;padding:0;z-index:2}.lightbox .lightbox-prev{left:8px}.lightbox .lightbox-next{right:8px}
.lightbox .lightbox-close{position:fixed;top:10px;right:12px;width:44px;height:44px;padding:0;z-index:3}.lightbox-thumbs{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start;margin:14px 0}.lightbox-thumbs button{width:74px;height:58px;flex:0 0 74px;padding:2px;border:2px solid transparent;background:#fff}.lightbox-thumbs button[aria-current=true]{border-color:#68cde9}.lightbox-thumbs img{width:100%;height:100%;object-fit:contain}.lightbox [data-viewer-all]{min-height:44px;padding:9px 14px;background:white;color:#123b4a;border:1px solid #abc8d4}#viewerNotice{color:#fff;font-size:.85rem;min-height:1.2em}
.photo-comparison{padding:20px}.photo-comparison>section{max-height:calc(100dvh - 40px);overflow-y:auto;width:min(1080px,100%);margin:auto}.photo-comparison footer{position:static;padding:12px 0;flex-wrap:wrap}.comparison-cards article{min-width:0;overflow-wrap:anywhere}.comparison-cards img{height:230px;object-fit:contain}
.quote-dock [data-selection-message]:empty{display:none}.quote-dock [data-selection-message]{grid-column:1/-1;font-size:.76rem;line-height:1.5}.quote-dock.has-photo-selection>.quote-open{display:none}.quote-dock [data-dock-guide]{min-height:44px;padding:10px;border:1px solid #87a9b7;background:white;color:#173f4f}.quote-dock:not(.visible){visibility:hidden;pointer-events:none}
#quoteForm [name=reference]{width:100%;resize:vertical;min-height:82px;font-size:.85rem;line-height:1.6;overflow-wrap:anywhere}
body.concierge-is-open .ai-concierge{visibility:visible;pointer-events:auto}
@media(min-width:981px){#topbar #nav{display:flex!important;position:static;transform:none;visibility:visible;opacity:1;background:transparent;width:auto;height:auto;padding:0;gap:24px}#topbar .menu-toggle{display:none!important}#topbar #nav a{font-size:.85rem;white-space:nowrap}}
@media(max-width:980px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-photo-block{grid-template-columns:repeat(2,minmax(0,1fr))}.comparison-cards{grid-template-columns:1fr}}
@media(max-width:760px){
 body{padding-bottom:112px}body.modal-open{padding-bottom:112px}.catalog-grid{grid-template-columns:1fr;padding:18px 20px}.service-photo-block{grid-template-columns:1fr}.space-start{padding:22px 20px!important}.space-start h2{font-size:1.5rem!important;line-height:1.45}.space-start>p{font-size:.86rem}.space-start>div{grid-template-columns:repeat(2,minmax(0,1fr))!important}.space-start a,.space-start button{min-height:44px;font-size:.85rem;padding:12px 6px}.home-intro h1{font-size:1.75rem!important}
 /* Keep hidden dock geometry stable for photo-action overlap checks. */
 .quote-dock{display:grid!important;grid-template-columns:1fr auto;gap:6px 10px;left:0;right:0;bottom:0;transform:none;width:100%;max-width:none;padding:10px 16px calc(10px + env(safe-area-inset-bottom));border-radius:0}
 .quote-dock p{display:block!important;margin:0;font-size:.82rem}.quote-dock p strong{font-size:.9rem}.quote-dock p span{display:block!important;font-size:.73rem}.quote-dock>.quote-open{min-height:44px}.quote-dock .dock-kakao-chat{grid-column:1/-1;text-align:center;padding:9px}.quote-dock [data-dock-guide]{grid-column:1/-1;min-height:34px;padding:5px;font-size:.78rem}.quote-dock .selection-dock-controls{grid-column:1/-1;display:flex;gap:8px}.selection-dock-controls button{flex:1;min-height:44px}.quote-dock.has-photo-selection>.quote-open{display:none!important}
 .ai-concierge{display:grid!important}body.concierge-is-open .ai-concierge{display:block!important;bottom:12px;right:12px;left:12px;width:auto}.concierge-panel{max-height:calc(100dvh - 110px);overflow:auto;width:100%}
 .lightbox:not([hidden]){padding:62px 12px 24px}.lightbox>figure>#lightboxImage{max-height:47dvh;max-width:100%}.lightbox .lightbox-prev,.lightbox .lightbox-next{top:22dvh;background:rgba(7,25,33,.85)}.lightbox figcaption p{font-size:.84rem}.lightbox-thumbs button{width:58px;flex-basis:58px;height:46px}.lightbox .viewer-info{font-size:.8rem}
 .photo-comparison{padding:10px}.photo-comparison>section{max-height:calc(100dvh - 20px);padding:18px}.comparison-cards img{height:auto;max-height:48dvh}.photo-comparison header h2{font-size:1.3rem}.photo-comparison footer button{width:100%}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Desktop navigation must reset mobile layout properties as well as display. */
@media(min-width:981px){
 #topbar #nav{flex-direction:row!important;align-items:center;margin-left:auto!important;margin-right:28px!important;top:auto;left:auto;right:auto;max-height:none;overflow:visible;box-shadow:none}
 #topbar>.quote-open{display:block!important}
}

/* Related-photo navigation shares the existing viewer; scoped, no new fixed UI. */
.viewer-related {width:100%;border-top:1px solid #d3dfe3;margin-top:14px;padding-top:12px;text-align:left;}
.viewer-related>p{font-size:12px;line-height:1.6;margin:0 0 8px;}
.viewer-related>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
.viewer-related button{min-width:0;border:1px solid #c5d6df;background:#fff;color:#173c4c;padding:6px;text-align:left;cursor:pointer;}
.viewer-related img{display:block;width:100%;height:72px;object-fit:contain;}
.viewer-related span{display:block;white-space:normal;font-size:11px;line-height:1.45;margin-top:4px;}
@media(max-width:480px){.viewer-related>div{grid-template-columns:repeat(2,minmax(0,1fr));}.viewer-related button:last-child{grid-column:1/-1}.viewer-related button:last-child img{height:72px;}}

/* Fixed controls yield only while obscuring a real photo action; geometry stays stable. */
.quote-dock:not(.visible){transform:none}
.ai-concierge.photo-action-yield{visibility:hidden!important;pointer-events:none!important}

/* Separate estimate-form UX work copy: requirement labels, selected-photo controls, aftercare, mobile. */
.quote-field-guide{grid-column:1/-1;margin:0;padding:12px 14px;border:1px solid #c9dce3;background:#f3f9fb;color:#486873;font-size:.82rem;line-height:1.6}
.quote-field-guide b:first-child,.field-requirement.is-required{color:#9b2f2f}
.quote-field-guide b:last-child,.field-requirement.is-optional{color:#536f7a}
.field-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
.field-requirement{flex:0 0 auto;font-size:.72rem;font-weight:700;letter-spacing:0}
.quote-aftercare{margin-top:14px;padding:16px;border:1px solid #cddfe5;background:#f7fbfc}
.quote-aftercare h3{margin:0;color:#214b5b;font-size:.95rem}
.quote-aftercare ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:12px 0 0;padding:0;list-style:none}
.quote-aftercare li{display:grid;grid-template-columns:24px 1fr;align-items:center;gap:7px;min-width:0;padding:9px;border:1px solid #d8e6eb;background:#fff;color:#345b69;font-size:.74rem;line-height:1.45}
.quote-aftercare li b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#174e61;color:#fff;font:700 .68rem Manrope,sans-serif}
.quote-aftercare p{margin:10px 0 0;color:#687f88;font-size:.72rem;line-height:1.55}
.selected-photo-panel{display:grid;gap:10px;padding:14px;border:1px solid #b9d3dc;background:#f5fafc}
.selected-photo-compact{display:none;width:100%;min-height:42px;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border:0;background:transparent;color:#214b5b;text-align:left;font:700 .82rem "Noto Sans KR",sans-serif}
.selected-photo-compact span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.selected-photo-compact b{flex:0 0 auto;color:#23677f;font-size:.76rem}
.selected-photo-compact:focus-visible{outline:3px solid #237da0;outline-offset:2px}
.selected-photo-panel header{display:flex;align-items:end;justify-content:space-between;gap:12px}
.selected-photo-panel h3{display:flex;align-items:center;gap:8px;margin:0;color:#214b5b;font-size:.92rem}
.selected-photo-panel header>small{color:#607b85;font-size:.74rem}
.selected-photo-list{display:grid;gap:8px}
.selected-photo-list.is-empty{padding:12px;border:1px dashed #b9cdd5;background:#fff}
.selected-photo-list.is-empty p{margin:0;color:#667f89;font-size:.82rem}
.selected-photo-card{display:grid;grid-template-columns:92px minmax(0,1fr) auto;align-items:center;gap:12px;padding:9px;border:1px solid #d2e0e5;background:#fff}
.selected-photo-card img{display:block;width:92px;height:68px;object-fit:contain;background:#e9f0f2}
.selected-photo-card>div{display:grid;gap:2px;min-width:0}
.selected-photo-card small{color:#68828c;font-size:.68rem}
.selected-photo-card strong{color:#173f4f;font-size:.86rem}
.selected-photo-card span{color:#456b79;font:600 .72rem Manrope,sans-serif}
.selected-photo-card p{overflow:hidden;margin:1px 0 0;color:#5e7680;font-size:.76rem;text-overflow:ellipsis;white-space:nowrap}
.selected-photo-card button,.selected-photo-actions button{min-height:44px;padding:9px 12px;border:1px solid #6e96a5;background:#fff;color:#244f60;font:700 .8rem "Noto Sans KR",sans-serif}
.selected-photo-card button:focus-visible,.selected-photo-actions button:focus-visible{outline:3px solid #237da0;outline-offset:2px}
.selected-photo-actions{display:flex;gap:8px}
.selected-photo-actions button{flex:1}
.reference-data textarea{min-height:90px;font-size:.8rem}

@media(max-width:760px){
 .modal{align-items:stretch;padding:0}
 .modal-panel{width:100%;max-height:100dvh;padding:58px 16px calc(22px + env(safe-area-inset-bottom));overscroll-behavior:contain}
 .modal-close{position:sticky;z-index:2;top:0;float:right;margin-top:-46px;background:#fafdfe;border-radius:50%}
 .quote-aftercare ol{grid-template-columns:repeat(2,minmax(0,1fr))}
 .selected-photo-panel header{align-items:flex-start;flex-direction:column;gap:3px}
 .selected-photo-card{grid-template-columns:76px minmax(0,1fr) auto;gap:9px;padding:8px}
 .selected-photo-card img{width:76px;height:64px}
 .selected-photo-card p{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}
 .reference-data textarea{min-height:110px}
 footer{padding-bottom:calc(48px + env(safe-area-inset-bottom))}
}

@media(max-width:390px){
 .quote-aftercare ol{grid-template-columns:1fr}
 .selected-photo-card{grid-template-columns:68px minmax(0,1fr)}
 .selected-photo-card img{width:68px;height:58px}
 .selected-photo-card button{grid-column:1/-1;width:100%}
}

/* Seven-step estimate flow. Existing fields and payload remain the source of truth. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.quote-wizard,.wizard-contact{grid-column:1/-1;min-width:0}
.wizard-progress{position:sticky;z-index:3;top:-54px;padding:12px 0;background:rgba(250,253,254,.98);border-bottom:1px solid #d5e3e8}
.wizard-progress ol{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));margin:0;padding:0;list-style:none}
.wizard-progress li{position:relative;display:grid;justify-items:center;gap:5px;color:#6a8089;font-size:.75rem;white-space:nowrap}
.wizard-progress li::before{content:"";position:absolute;z-index:-1;top:13px;left:0;width:100%;height:1px;background:#cadbe1}
.wizard-progress li:first-child::before{left:50%;width:50%}.wizard-progress li:last-child::before{width:50%}
.wizard-progress li b{display:grid;place-items:center;width:27px;height:27px;border:1px solid #a9c0c9;border-radius:50%;background:#fafdfe;color:#486975;font:700 .72rem Manrope,sans-serif}
.wizard-progress li.is-current{color:#174e61;font-weight:700}.wizard-progress li.is-current b{border-color:#174e61;background:#174e61;color:#fff}.wizard-progress li.is-complete b{border-color:#43859d;background:#e2f2f7;color:#174e61}
#wizardProgressCompact{display:none;color:#174e61;font-size:.9rem}
.wizard-status{min-height:1.5em;margin:10px 0;color:#9b2f2f;font-size:.875rem;font-weight:600;line-height:1.55}
.quote-wizard>.selected-photo-panel{margin:8px 0 18px}
.quote-wizard>[data-wizard-step]{min-width:0;padding:6px 0 84px}
.wizard-step-label{margin:0 0 5px;color:#32738b;font:700 .75rem Manrope,sans-serif;letter-spacing:.12em}
.quote-wizard [data-wizard-step]>h3,.wizard-contact h3,.wizard-review>h3{margin:0;color:#173f4f;font-size:1.25rem;line-height:1.45}
.wizard-help{margin:7px 0 0;color:#5e7781;font-size:.875rem;line-height:1.6}
.quote-wizard fieldset{min-width:0;margin:18px 0 0;padding:0;border:0}
.wizard-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.wizard-choice{display:flex!important;grid-template-columns:none!important;align-items:center;gap:10px!important;min-width:0;min-height:50px;padding:11px 13px;border:1px solid #b8cdd5;background:#fff;color:#294f5e!important;font-size:.9rem!important;cursor:pointer}
.wizard-choice:has(input:checked){border-color:#1e6b87;background:#e8f5f9;color:#174e61!important;box-shadow:inset 0 0 0 1px #1e6b87}
.wizard-choice:focus-within{outline:3px solid #237da0;outline-offset:2px}
.wizard-choice input{flex:0 0 auto;width:20px!important;height:20px!important;margin:0;accent-color:#1e6b87}
.wizard-choice span{min-width:0;overflow-wrap:anywhere}
.wizard-choice.is-unavailable{opacity:.52;cursor:not-allowed}.wizard-choice.is-locked{border-color:#6da4b8;background:#edf7fa}
.wizard-existing-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.wizard-existing-fields label{min-width:0}
[data-wizard-upload]{margin-top:14px}.wizard-materials{margin-bottom:12px}
.wizard-nav{position:sticky;z-index:4;bottom:-1px;display:grid;grid-template-columns:1fr 1.6fr;gap:10px;margin-top:-66px;padding:12px 0 calc(4px + env(safe-area-inset-bottom));background:linear-gradient(0deg,#fafdfe 78%,rgba(250,253,254,0))}
.wizard-nav button,.wizard-contact-next,.wizard-contact-back{min-height:48px;padding:12px 16px;border:1px solid #174e61;background:#fff;color:#174e61;font:700 .9rem "Noto Sans KR",sans-serif}
.wizard-nav [data-wizard-next],.wizard-contact-next{display:flex;align-items:center;justify-content:space-between;background:#174e61;color:#fff}.wizard-nav button:disabled{opacity:.45}.wizard-nav [data-wizard-next].is-incomplete{border-color:#8ba2ab;background:#dce5e8;color:#526a74;box-shadow:none}.quote-wizard.is-contact .wizard-nav{display:none}
.wizard-review{display:grid;gap:16px}.wizard-review dl{display:grid;margin:0;border-top:1px solid #ccdce2}.wizard-review dl>div{display:grid;grid-template-columns:110px minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;padding:13px 4px;border-bottom:1px solid #dbe7eb}.wizard-review dt{color:#607985;font-size:.82rem}.wizard-review dd{min-width:0;margin:0;color:#173f4f;font-size:.92rem;font-weight:700;overflow-wrap:anywhere}.wizard-review dl button{min-height:44px;padding:8px 12px;border:1px solid #7b9eab;background:#fff;color:#315b6a;font-weight:700}.wizard-contact-next{width:100%;margin-top:4px}
.wizard-contact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;padding-top:8px}.wizard-contact>header,.wizard-contact>.quote-field-guide,.wizard-contact>.kani-prep,.wizard-contact>.wide-label,.wizard-contact>.privacy-consent,.wizard-contact>.submit,.wizard-contact>.quote-aftercare,.wizard-contact-back{grid-column:1/-1}.wizard-contact>header{margin-bottom:4px}.wizard-contact>.quote-aftercare{order:18}.wizard-contact .submit{order:19}.wizard-contact-back{order:20;background:#fff}
.quote-aftercare ol{grid-template-columns:repeat(3,minmax(0,1fr))}.quote-aftercare li{align-items:start}.quote-aftercare li b{width:30px;height:30px}.quote-aftercare li span{display:grid;gap:2px}.quote-aftercare li strong{color:#214b5b;font-size:.78rem}.quote-aftercare li span{font-size:.72rem}

@media(max-width:760px){
 .wizard-progress{top:-58px}.wizard-progress ol{display:none}#wizardProgressCompact{display:block;white-space:nowrap}
 .quote-wizard>.selected-photo-panel{margin:2px 0 9px;padding:8px 10px;gap:6px}
 .quote-wizard>.selected-photo-panel header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}
 .quote-wizard>.selected-photo-panel h3{font-size:.82rem;line-height:1.35}
 .quote-wizard>.selected-photo-panel header>small{font-size:.7rem;white-space:nowrap}
 .quote-wizard>.selected-photo-panel .selected-photo-actions{gap:6px}
 .quote-wizard>.selected-photo-panel .selected-photo-actions button{min-height:38px;padding:7px 9px;font-size:.75rem}
 .quote-wizard>.selected-photo-panel .selected-photo-list.is-empty{display:none}
 .quote-wizard.is-early-step>.selected-photo-panel{display:block;margin:2px 0 9px;padding:0}
 .quote-wizard.is-early-step>.selected-photo-panel .selected-photo-compact{display:flex}
 .quote-wizard.is-early-step>.selected-photo-panel>header,
 .quote-wizard.is-early-step>.selected-photo-panel>.selected-photo-list,
 .quote-wizard.is-early-step>.selected-photo-panel>.selected-photo-actions{display:none}
 .quote-wizard.is-early-step>.selected-photo-panel.is-expanded>.selected-photo-list{display:grid;padding:0 8px 8px}
 .quote-wizard.is-early-step>.selected-photo-panel.is-expanded>.selected-photo-actions{display:flex;padding:0 8px 8px}
 .quote-wizard.is-early-step>.selected-photo-panel.has-selection .selected-photo-card{grid-template-columns:54px minmax(0,1fr) auto;gap:8px;padding:6px}
 .quote-wizard.is-early-step>.selected-photo-panel.has-selection .selected-photo-card:not(:first-child){display:none}
 .quote-wizard.is-early-step>.selected-photo-panel.has-selection .selected-photo-card img{width:54px;height:44px}
 .quote-wizard.is-early-step>.selected-photo-panel.has-selection .selected-photo-card small,
 .quote-wizard.is-early-step>.selected-photo-panel.has-selection .selected-photo-card span,
 .quote-wizard.is-early-step>.selected-photo-panel.has-selection .selected-photo-card p{display:none}
 .quote-wizard.is-early-step>.selected-photo-panel.has-selection .selected-photo-card button{min-height:38px;padding:7px 8px}
 .quote-wizard>[data-wizard-step]{padding-bottom:88px}
 .wizard-choices,.wizard-existing-fields{grid-template-columns:1fr}
 .wizard-choice{min-height:48px;font-size:.9rem!important}
 .wizard-nav{grid-template-columns:1fr 1.45fr;margin-top:-70px;padding-bottom:calc(8px + env(safe-area-inset-bottom))}
 .wizard-nav button{min-width:0}
 .wizard-review dl>div{grid-template-columns:82px minmax(0,1fr) auto;gap:8px}.wizard-review dl button{padding-inline:10px}
 .wizard-contact{grid-template-columns:minmax(0,1fr)}.wizard-contact>*{grid-column:1!important}
 .quote-aftercare ol{grid-template-columns:1fr 1fr}
 .modal-panel{overflow-x:hidden}
}

@media(max-width:390px){
 .quote-wizard>.selected-photo-panel header{grid-template-columns:1fr}
 .quote-wizard>.selected-photo-panel header>small{white-space:normal}
 .wizard-review dl>div{grid-template-columns:72px minmax(0,1fr)}.wizard-review dl button{grid-column:1/-1;width:100%}
 .quote-aftercare ol{grid-template-columns:1fr}
}
