@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+KR:wght@400;500;600;700;800&display=swap');
:root{--ink:#102d38;--teal:#4db7bb;--teal-dark:#248e92;--muted:#64747a;--pale:#edf7f6;--line:#d9e2e3;--cream:#f8faf9}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:'DM Sans','Noto Sans KR',sans-serif;background:white}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}em{font-style:normal;color:var(--teal)}[hidden]{display:none!important}.container{width:min(100% - 80px,1210px);margin-inline:auto}.section{scroll-margin-top:86px}.skip-link{position:absolute;left:12px;top:-60px;z-index:100;background:white;padding:12px}.skip-link:focus{top:10px}
.top-strip{height:36px;background:#0a2732;color:#d0e2e4;display:flex;align-items:center;justify-content:center;gap:26px;font-size:11px;letter-spacing:.13em}.top-strip a{color:#a2e2e1;font-weight:700}.top-strip a span{font-size:14px}.site-header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.96);box-shadow:0 1px 0 rgba(16,45,56,.1);backdrop-filter:blur(12px)}.header-inner{width:min(100% - 80px,1320px);height:78px;margin:auto;display:flex;justify-content:space-between;align-items:center}.logo img{width:184px;height:auto}.desktop-nav{display:flex;align-items:center;gap:clamp(22px,2.5vw,43px);font-size:14px;font-weight:700}.desktop-nav>a:not(.nav-consult){padding:30px 0;transition:color .2s}.desktop-nav>a:hover{color:var(--teal-dark)}.nav-consult{border:1px solid #bfd6d8;border-radius:50px;padding:12px 20px}.nav-consult span{margin-left:14px}.menu-button,.mobile-nav{display:none}
.hero{position:relative;min-height:min(700px,calc(100vh - 114px));background:#123943;color:white;overflow:hidden;display:flex;align-items:center}.hero-image{position:absolute;inset:0;background-image:url('/assets/gallery/023.webp');background-size:cover;background-position:center 44%;transform:scale(1.02)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,34,46,.95) 0%,rgba(5,34,46,.81) 39%,rgba(5,34,46,.24) 75%,rgba(5,34,46,.14) 100%),linear-gradient(0deg,rgba(5,34,46,.32),transparent 50%)}.hero-content{position:relative;z-index:1;padding:100px 0 120px}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.17em;color:var(--teal-dark);margin:0 0 25px}.eyebrow.light{color:#a7e4e4}.eyebrow-line{display:inline-block;width:24px;height:2px;background:currentColor;vertical-align:middle;margin-right:8px}.hero h1{font-size:clamp(50px,5.5vw,84px);line-height:1.23;letter-spacing:-.07em;margin:0 0 24px;font-weight:800}.hero h1 em{color:#8ee0df}.hero-description{font-size:17px;line-height:1.85;color:rgba(255,255,255,.84);margin:0}.hero-actions{display:flex;gap:12px;margin-top:37px}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:54px;padding:0 24px;border-radius:6px;font-size:14px;font-weight:800;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}.button-teal{background:var(--teal);color:#07242e}.button-teal:hover{background:#8de0df}.button-outline{border:1px solid rgba(255,255,255,.66);color:white}.hero-note{display:flex;align-items:center;gap:9px;margin-top:48px;color:#d4e4e5;font-size:12px}.note-dot{display:inline-block;width:6px;height:6px;background:#8de0df;border-radius:50%}.scroll-cue{position:absolute;right:5%;bottom:28px;font-size:10px;letter-spacing:.2em;z-index:2}.scroll-cue span{margin-left:15px;font-size:18px}
.about{padding:124px 0 112px}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}.about h2,.stories h2,.consult h2,.faq h2{font-size:clamp(36px,4vw,56px);line-height:1.34;letter-spacing:-.06em;margin:0;font-weight:800}.about h2 em{color:var(--teal-dark)}.about-copy{padding-top:47px}.about-copy>p{font-size:16px;line-height:1.95;color:#4e626b;margin:0 0 18px}.inline-link{display:inline-block;padding-bottom:8px;border-bottom:1px solid var(--ink);margin-top:12px;font-size:14px;font-weight:800}.inline-link span{margin-left:30px}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:85px}.value-grid article{padding:36px 31px 31px;border:1px solid var(--line);border-top:3px solid var(--teal);min-height:220px}.value-number{color:var(--teal-dark);font-size:12px;font-weight:800}.value-grid h3{font-size:19px;letter-spacing:-.04em;margin:25px 0 12px}.value-grid p{font-size:13px;color:var(--muted);line-height:1.8;margin:0}
.winter{background:#0d303b;color:white;padding:100px 0 112px;overflow:hidden}.winter-heading{display:flex;justify-content:space-between;align-items:end;position:relative}.winter-heading h2{font-size:clamp(48px,6vw,80px);letter-spacing:-.07em;margin:0 0 18px}.winter-heading p:last-child{color:#c2d8db;line-height:1.8;margin:0;font-size:16px}.winter-year{font-size:220px;font-weight:800;line-height:.65;letter-spacing:-.1em;color:rgba(255,255,255,.045);margin-right:50px}.winter-layout{display:grid;grid-template-columns:1.23fr .77fr;margin-top:59px;box-shadow:0 30px 70px rgba(0,0,0,.14)}.winter-main{padding:60px;background:#2a8f93;min-height:455px}.status-pill{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.68);border-radius:20px;padding:8px 13px;font-size:11px;font-weight:700;color:white}.status-pill span{height:6px;width:6px;border-radius:50%;background:#e7fbf8}.winter-main h3{font-size:clamp(28px,3vw,43px);line-height:1.35;letter-spacing:-.06em;margin:34px 0 18px}.winter-main>p{color:#e1f4f3;line-height:1.85;max-width:650px;font-size:14px}.winter-actions{display:flex;align-items:center;gap:32px;margin-top:32px}.button-white{background:white;color:var(--ink)}.winter-text-link{font-size:13px;font-weight:800;border-bottom:1px solid rgba(255,255,255,.65);padding-bottom:7px}.winter-text-link span{margin-left:14px}.winter-detail{background:white;color:var(--ink);padding:47px 40px}.detail-kicker{color:var(--teal-dark);font-size:11px;font-weight:800;letter-spacing:.15em;margin:0 0 23px}.detail-row{display:flex;gap:18px;border-top:1px solid var(--line);padding:23px 0}.detail-row>span{font-size:12px;font-weight:800;color:var(--teal-dark)}.detail-row strong{display:block;font-size:16px;letter-spacing:-.04em;margin-bottom:5px}.detail-row small{font-size:12px;color:#849296}.sample-note{font-size:11px;color:#697b80;line-height:1.65;margin:15px 0 0;padding-top:17px;border-top:1px solid var(--line)}
.stories{padding:115px 0 120px;background:#f7faf9}.stories-heading{display:flex;align-items:end;justify-content:space-between;gap:30px}.stories-heading>p{color:var(--muted);font-size:14px;line-height:1.8;margin-bottom:4px}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:49px}.review-grid blockquote{background:white;margin:0;padding:25px 29px 27px;border:1px solid #e5ebeb;min-height:245px;display:flex;flex-direction:column}.quote-mark{font-size:51px;line-height:1;color:var(--teal);font-family:Georgia,serif}.review-grid blockquote p{font-size:15px;line-height:1.8;letter-spacing:-.03em;margin:10px 0 26px}.review-grid blockquote footer{margin-top:auto;color:#74858a;font-size:12px;font-weight:700}.gallery-header{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-top:110px}.gallery-small{font-size:11px;color:var(--teal-dark);font-weight:800;letter-spacing:.17em}.gallery-header h3{font-size:35px;letter-spacing:-.06em;margin:9px 0 0}.gallery-filters{display:flex;gap:6px;flex-wrap:wrap}.gallery-filters button{background:transparent;border:1px solid #d7e1e2;border-radius:30px;padding:9px 17px;font-size:12px;color:#63757a}.gallery-filters button.active,.gallery-filters button:hover{background:#203e47;border-color:#203e47;color:white}.gallery-count{font-size:12px;color:#7f8e93;text-align:right;margin:19px 0 10px;min-height:18px}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.gallery-item{border:0;padding:0;background:#d5e7e7;aspect-ratio:1.16;position:relative;overflow:hidden}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.gallery-item:hover img{transform:scale(1.06)}.gallery-item:focus-visible{outline:3px solid #2a9295;outline-offset:2px}.gallery-item span{position:absolute;bottom:9px;left:9px;padding:5px 8px;background:rgba(4,36,47,.75);color:white;font-size:10px}.show-more{display:flex;justify-content:center;align-items:center;gap:22px;margin:34px auto 0;min-width:190px;padding:14px 25px;border:1px solid #a9bdc2;background:transparent;color:var(--ink);font-size:13px;font-weight:800}.show-more:hover{background:white}
.consult{background:#0d303b;color:white;padding:110px 0}.consult-layout{display:grid;grid-template-columns:1fr 410px;gap:80px;align-items:center}.consult-intro p:last-child{color:#c2d8db;line-height:1.85;margin-top:26px}.consult-card{background:white;color:var(--ink);padding:35px 36px 33px;box-shadow:0 24px 60px rgba(0,0,0,.15)}.consult-card-label{font-size:10px;font-weight:800;color:var(--teal-dark);letter-spacing:.16em}.consult-card h3{font-size:32px;margin:12px 0 23px}.contact-row{border-top:1px solid var(--line);padding-top:21px;display:flex;flex-direction:column;gap:5px}.contact-row span{font-size:11px;font-weight:800;color:#688087;margin-bottom:5px}.contact-row a{font-size:25px;font-weight:800;letter-spacing:-.03em}.contact-row a:hover{color:var(--teal-dark)}.hours{color:#6e8288;line-height:1.6;font-size:12px;margin:18px 0 25px}.kakao-button{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#ffe74b;color:#211e14;font-size:14px;font-weight:800}.kakao-button:hover{background:#ffda25}.contact-note{font-size:11px;color:#859399;margin:15px 0 0}
.process{padding:98px 0 110px}.process h2,.faq h2{font-size:42px;margin:0}.process-grid{display:grid;grid-template-columns:repeat(5,1fr);margin-top:42px;border-top:2px solid #1c3b45}.process-grid>div{padding:27px 20px;border-right:1px solid var(--line);min-height:156px}.process-grid>div:first-child{padding-left:0}.process-grid>div:last-child{border-right:0}.process-grid b{display:block;color:var(--teal-dark);font-size:12px;margin-bottom:18px}.process-grid strong{display:block;font-size:17px;margin-bottom:7px}.process-grid span{font-size:12px;color:var(--muted);line-height:1.6}
.faq{background:#eff6f5;padding:100px 0 110px}.faq-layout{display:grid;grid-template-columns:330px 1fr;gap:75px}.faq-layout>div:first-child>p:last-child{color:var(--muted);font-size:13px;line-height:1.75;margin-top:20px}.faq-list{border-top:1px solid #bacfd0}.faq-list details{border-bottom:1px solid #bacfd0;padding:0 4px}.faq-list summary{display:flex;align-items:center;justify-content:space-between;list-style:none;cursor:pointer;padding:25px 0;font-size:15px;font-weight:700}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:'+';font-size:23px;font-weight:400;color:var(--teal-dark)}.faq-list details[open] summary::after{content:'−'}.faq-list details p{margin:0;padding:0 32px 25px 0;color:#546a70;font-size:13px;line-height:1.85}
.site-footer{background:#0a222d;color:#bfd1d4;padding:62px 0 34px}.footer-top{display:flex;justify-content:space-between;align-items:start}.footer-top img{width:184px}.footer-top p{font-size:12px;line-height:1.8;margin-top:27px}.footer-top>a{font-size:12px;border:1px solid #5c7880;border-radius:50%;width:70px;height:70px;display:grid;place-items:center}.footer-bottom{border-top:1px solid #36505a;margin-top:37px;padding-top:27px;display:flex;justify-content:space-between;gap:20px;align-items:end;color:#829aa0;font-size:11px;line-height:1.8}.footer-bottom p{margin:0}.footer-bottom span{white-space:nowrap}
.lightbox{border:0;padding:0;margin:auto;max-width:min(92vw,1100px);max-height:94vh;background:transparent;color:white;overflow:visible}.lightbox::backdrop{background:rgba(5,20,27,.92)}.lightbox img{display:block;max-width:90vw;max-height:80vh;object-fit:contain;margin:auto}.lightbox p{text-align:center;margin:12px 0 0;font-size:13px}.lightbox-close,.lightbox-arrow{position:absolute;background:rgba(255,255,255,.16);color:white;border:0;border-radius:50%;display:grid;place-items:center}.lightbox-close{right:0;top:-49px;width:38px;height:38px;font-size:29px}.lightbox-arrow{top:45%;width:45px;height:45px;font-size:35px}.lightbox-arrow.previous{left:-58px}.lightbox-arrow.next{right:-58px}
@media(max-width:900px){.container,.header-inner{width:min(100% - 44px,1210px)}.desktop-nav{gap:16px;font-size:12px}.logo img{width:158px}.about-layout{gap:35px}.winter-layout{grid-template-columns:1fr}.winter-detail{display:grid;grid-template-columns:repeat(3,1fr);gap:0 20px}.winter-detail .detail-kicker,.winter-detail .sample-note{grid-column:1/-1}.review-grid{gap:9px}.review-grid blockquote{padding:19px}.gallery-grid{grid-template-columns:repeat(3,1fr)}.consult-layout{gap:35px;grid-template-columns:1fr 360px}.faq-layout{grid-template-columns:240px 1fr;gap:35px}}
@media(max-width:700px){.container,.header-inner{width:min(100% - 38px,1210px)}.top-strip{font-size:9px;gap:10px;letter-spacing:.04em}.top-strip a{font-size:10px}.header-inner{height:65px}.logo img{width:153px}.desktop-nav{display:none}.menu-button{display:flex;width:42px;height:42px;border:0;background:transparent;flex-direction:column;justify-content:center;gap:6px;padding:8px}.menu-button span{width:25px;height:2px;background:var(--ink)}.mobile-nav{display:flex;flex-direction:column;padding:8px 19px 20px;background:white;box-shadow:0 14px 18px rgba(10,35,45,.08)}.mobile-nav a{padding:12px 2px;border-bottom:1px solid #e5ebec;font-size:14px;font-weight:700}.hero{min-height:650px}.hero-image{background-position:60% center}.hero-overlay{background:linear-gradient(90deg,rgba(5,34,46,.93),rgba(5,34,46,.51)),linear-gradient(0deg,rgba(5,34,46,.55),transparent)}.hero-content{padding:95px 0}.hero h1{font-size:clamp(40px,10vw,56px)}.hero-description{font-size:14px}.hero-actions{flex-wrap:wrap}.button{font-size:13px}.scroll-cue{display:none}.about{padding:85px 0}.about-layout{grid-template-columns:1fr}.about-copy{padding-top:0}.about h2,.stories h2,.consult h2{font-size:38px}.value-grid{grid-template-columns:1fr;margin-top:43px;gap:9px}.value-grid article{min-height:0;padding:25px}.value-grid h3{margin-top:13px}.winter{padding:80px 0}.winter-heading h2{font-size:52px}.winter-year{display:none}.winter-layout{margin-top:36px}.winter-main,.winter-detail{padding:30px 24px}.winter-main{min-height:0}.winter-main h3{font-size:29px}.winter-actions{flex-wrap:wrap;gap:22px}.winter-detail{display:block}.stories{padding:85px 0}.stories-heading{display:block}.stories-heading>p{margin-top:20px}.review-grid{grid-template-columns:1fr;margin-top:30px}.review-grid blockquote{min-height:0;padding:22px}.review-grid blockquote p{margin:0 0 20px}.gallery-header{margin-top:76px;display:block}.gallery-header h3{font-size:29px}.gallery-filters{margin-top:21px;gap:6px}.gallery-filters button{padding:8px 12px}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:6px}.consult{padding:80px 0}.consult-layout{grid-template-columns:1fr}.consult-card{padding:29px}.process{padding:75px 0}.process-grid{grid-template-columns:repeat(2,1fr)}.process-grid>div{min-height:128px;padding:20px!important;border-bottom:1px solid var(--line)}.faq{padding:78px 0}.faq-layout{grid-template-columns:1fr}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:20px;white-space:normal}.lightbox-arrow.previous{left:2px}.lightbox-arrow.next{right:2px}.lightbox-arrow{width:36px;height:36px}.lightbox img{max-width:94vw}}
@media(max-width:420px){.top-strip>span{max-width:160px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.hero-actions .button{width:100%}.hero-note{line-height:1.5}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-item span{font-size:9px}.consult-card h3{font-size:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
.review-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 32px)/3);overflow-x:auto;scroll-snap-type:x mandatory;padding-top:25px;padding-bottom:12px;scrollbar-color:#a9cbcc transparent}.review-grid blockquote{position:relative;scroll-snap-align:start;padding-top:52px;min-height:275px}.review-grid blockquote img{position:absolute;top:-25px;left:27px;width:64px;height:64px;border-radius:50%;object-fit:cover;border:4px solid #f7faf9}.review-hint{text-align:right;color:#849398;font-size:11px;margin-top:12px}
@media(max-width:700px){.review-grid{grid-template-columns:none;grid-auto-columns:min(82%,315px)}.review-grid blockquote{min-height:270px;padding-top:48px}}
