:root{--sage:#9faf9b;--sage-deep:#5b7254;--sage-deeper:#4f6349;--cream:#f6f2eb;--taupe:#c2b8ad;--champagne:#e6dccf;--ivory-sand:#efe7dc;--gold:#b89b5e;--font-serif:"Cormorant Garamond", "Noto Serif KR", Georgia, "Times New Roman", serif;--font-sans:"Outfit", "Noto Sans KR", "Helvetica Neue", Arial, sans-serif;--step--1:clamp(.83rem, .78rem + .2vw, .95rem);--step-0:clamp(1rem, .95rem + .25vw, 1.125rem);--step-1:clamp(1.35rem, 1.2rem + .7vw, 1.75rem);--step-2:clamp(1.8rem, 1.5rem + 1.4vw, 2.75rem);--step-3:clamp(2.4rem, 1.9rem + 2.6vw, 4.25rem);--step-4:clamp(3rem, 2.2rem + 4vw, 6rem);--container:1200px;--gutter:clamp(1.25rem, 4vw, 3rem);--section-y:clamp(3.5rem, 8vw, 7rem);--radius:2px;--radius-pill:999px;--transition:.3s cubic-bezier(.22, 1, .36, 1)}:root,[data-theme=light]{--bg:#f6f2eb;--bg-alt:#efe7dc;--bg-panel:#e6dccf;--surface:#fffefb;--text:#35392f;--text-muted:#5f665c;--heading:#2f3630;--accent:#5b7254;--accent-hover:#4f6349;--on-accent:#fff;--border:#ddd3c4;--footer-bg:#2f3630;--footer-text:#dfe3d8;--shadow:0 18px 45px -25px #46504159}[data-theme=dark]{--bg:#1c211b;--bg-alt:#232a22;--bg-panel:#2b332a;--surface:#232a22;--text:#e6e9e0;--text-muted:#a7ad9f;--heading:#eef1e8;--accent:#9faf9b;--accent-hover:#b6c4b1;--on-accent:#1c211b;--border:#3a4238;--footer-bg:#151a14;--footer-text:#b3baa9;--shadow:0 20px 50px -25px #000000a6}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);font-size:var(--step-0);color:var(--text);background-color:var(--bg);font-variant-numeric:lining-nums proportional-nums;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--transition), color var(--transition);line-height:1.7}h1,h2,h3,h4{font-family:var(--font-serif);color:var(--heading);letter-spacing:.01em;font-weight:500;line-height:1.1}h1{font-size:var(--step-4)}h2{font-size:var(--step-3)}h3{font-size:var(--step-2)}h4{font-size:var(--step-1)}p{max-width:65ch}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}ul{list-style:none}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}:lang(ko){word-break:keep-all;line-height:1.8}.container{width:100%;max-width:var(--container);padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:var(--section-y)}.section--alt{background-color:var(--bg-alt)}.section--panel{background-color:var(--bg-panel)}.eyebrow{font-family:var(--font-sans);font-size:var(--step--1);letter-spacing:.28em;text-transform:uppercase;color:var(--accent);margin-bottom:1rem}.eyebrow--italic{font-family:var(--font-serif);text-transform:none;letter-spacing:.02em;font-style:italic;font-size:var(--step-1);color:var(--text-muted)}.lead{font-size:var(--step-1);color:var(--text-muted);font-family:var(--font-serif)}.text-link{font-family:var(--font-sans);font-size:var(--step--1);letter-spacing:.2em;text-transform:uppercase;transition:color var(--transition), border-color var(--transition);border-bottom:1px solid;padding-bottom:4px;display:inline-block}.text-link:hover{color:var(--accent)}.btn{font-family:var(--font-sans);font-size:var(--step--1);letter-spacing:.18em;text-transform:uppercase;border-radius:var(--radius-pill);transition:background-color var(--transition), color var(--transition), transform var(--transition), border-color var(--transition);justify-content:center;align-items:center;gap:.6em;padding:.95em 2em;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn--primary{background-color:var(--accent);color:var(--on-accent)}.btn--primary:hover{background-color:var(--accent-hover)}.btn--outline{border:1px solid var(--border);color:var(--text)}.btn--outline:hover{border-color:var(--accent);color:var(--accent)}.reveal{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(24px)}.reveal.is-visible{opacity:1;transform:none}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.logo{align-items:center;gap:.7rem;display:inline-flex}.logo__mark{border:1.5px solid var(--gold);width:42px;height:52px;font-family:var(--font-serif);letter-spacing:.02em;color:var(--gold);background:linear-gradient(160deg, color-mix(in srgb, var(--gold) 8%, transparent), transparent 60%);border-radius:50%/40%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.4rem;display:inline-flex}.logo__text{flex-direction:column;gap:4px;line-height:1;display:flex}.logo__name{font-family:var(--font-serif);letter-spacing:.14em;text-transform:uppercase;color:var(--heading);font-size:1.4rem;font-weight:600;line-height:1}.logo__tag{font-family:var(--font-sans);letter-spacing:.42em;text-transform:uppercase;color:var(--text-muted);font-size:.6rem;line-height:1}@media (width<=480px){.logo__mark{width:36px;height:44px;font-size:1.2rem}.logo__name{letter-spacing:.12em;font-size:1.15rem}.logo__tag{letter-spacing:.38em;font-size:.5rem}}.theme-toggle{border:1px solid var(--border);width:40px;height:40px;color:var(--text);transition:color var(--transition), border-color var(--transition), background-color var(--transition), transform var(--transition);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.theme-toggle:hover{color:var(--accent);border-color:var(--accent);transform:rotate(15deg)}.lang-switch{border:1px solid var(--border);border-radius:var(--radius-pill);flex-shrink:0;align-items:stretch;display:inline-flex;overflow:hidden}.lang-switch__btn{font-family:var(--font-sans);letter-spacing:.12em;color:var(--text-muted);transition:color var(--transition), background-color var(--transition);align-items:center;padding:.4rem .7rem;font-size:.72rem;line-height:1;display:flex}.lang-switch__btn.is-active{background-color:var(--accent);color:var(--on-accent)}.lang-switch__btn:not(.is-active):hover{color:var(--accent)}.header{z-index:100;background-color:color-mix(in srgb, var(--bg) 85%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:background-color var(--transition), border-color var(--transition);border-bottom:1px solid #0000;position:sticky;top:0}.header--scrolled{background-color:color-mix(in srgb, var(--bg) 95%, transparent);border-bottom-color:var(--border)}.header__inner{justify-content:space-between;align-items:center;gap:1.5rem;min-height:84px;display:flex}.header__nav{flex:1;justify-content:center;display:flex}.header__nav-list{white-space:nowrap;align-items:center;gap:clamp(1rem,2.5vw,2.4rem);display:flex}.header__link{font-family:var(--font-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--text);transition:color var(--transition);padding-block:.5rem;font-size:1rem;position:relative}:lang(ko) .header__link{letter-spacing:.08em}.header__link:after{content:"";background-color:var(--accent);width:0;height:1px;transition:width var(--transition);position:absolute;bottom:0;left:0}.header__link:hover,.header__link.is-active{color:var(--accent)}.header__link.is-active:after,.header__link:hover:after{width:100%}.header__actions{flex-shrink:0;align-items:center;gap:.75rem;display:flex}.header__cta{white-space:nowrap;padding:.7em 1.4em}.header__burger{flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;display:none}.header__burger span{background-color:var(--text);width:22px;height:1.5px;transition:transform var(--transition), opacity var(--transition);margin-inline:auto;display:block}.header__burger.is-open span:first-child{transform:translateY(6.5px)rotate(45deg)}.header__burger.is-open span:nth-child(2){opacity:0}.header__burger.is-open span:nth-child(3){transform:translateY(-6.5px)rotate(-45deg)}.mobile-menu{background-color:var(--bg);border-bottom:1px solid var(--border);z-index:99;max-height:0;transition:max-height .4s cubic-bezier(.22,1,.36,1);position:fixed;inset:84px 0 auto;overflow:hidden}.mobile-menu.is-open{max-height:calc(100vh - 84px)}.mobile-menu__nav{padding:1.5rem var(--gutter) 2.5rem;flex-direction:column;gap:.5rem;display:flex}.mobile-menu__link{font-family:var(--font-serif);color:var(--heading);border-bottom:1px solid var(--border);transition:color var(--transition);padding-block:.6rem;font-size:1.6rem}.mobile-menu__link.is-active,.mobile-menu__link:hover{color:var(--accent)}.mobile-menu__cta{width:100%;margin-top:1.25rem}.mobile-menu__lang{border-top:1px solid var(--border);justify-content:center;margin-top:1.25rem;padding-top:1.25rem;display:flex}@media (width<=1150px){.header__nav,.header__cta span{display:none}.header__cta{width:40px;height:40px;padding:.7em}.header__burger{display:flex}}@media (width<=560px){.header__actions .lang-switch{display:none}}.footer{background-color:var(--footer-bg);color:var(--footer-text);padding-top:clamp(3rem,6vw,5rem)}.footer__inner{grid-template-columns:1.5fr repeat(3,1fr);gap:2.5rem;padding-bottom:3rem;display:grid}.footer__mark{border:1px solid var(--gold);width:44px;height:54px;font-family:var(--font-serif);color:var(--gold);border-radius:50%/40%;justify-content:center;align-items:center;margin-bottom:1rem;font-size:1.4rem;display:inline-flex}.footer__name{font-family:var(--font-serif);letter-spacing:.14em;text-transform:uppercase;color:var(--footer-text);margin-bottom:.5rem;font-size:1.3rem}.footer__tagline{color:var(--footer-text);opacity:.75;max-width:32ch;font-size:.95rem}.footer__col{flex-direction:column;gap:.75rem;display:flex}.footer__heading{font-family:var(--font-sans);letter-spacing:.24em;text-transform:uppercase;color:var(--sage);margin-bottom:.5rem;font-size:.72rem}.footer__col a{color:var(--footer-text);transition:color var(--transition);font-size:.95rem}.footer__col a:hover{color:var(--sage)}.footer__muted{opacity:.85;font-size:.9rem}.footer__bar{border-top:1px solid color-mix(in srgb, var(--footer-text) 15%, transparent);opacity:.75;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-block:1.75rem;font-size:.82rem;display:flex}@media (width<=800px){.footer__inner{grid-template-columns:1fr 1fr;gap:2rem}.footer__brand{grid-column:1/-1}}@media (width<=480px){.footer__inner{grid-template-columns:1fr}.footer__bar{flex-direction:column;align-items:flex-start}}.cta-band{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 18%, var(--bg-panel)), var(--bg-panel));text-align:center;padding-block:clamp(3.5rem,8vw,6rem)}.cta-band__inner{flex-direction:column;align-items:center;display:flex}.cta-band__title{font-size:var(--step-3);margin-bottom:1rem}.cta-band__body{color:var(--text-muted);font-size:var(--step-1);font-family:var(--font-serif);text-align:center;margin-bottom:2rem}.cta-band__btn{padding:1.1em 2.6em;font-size:.85rem}.hero{background:radial-gradient(120% 120% at 75% 20%, color-mix(in srgb, var(--sage) 35%, transparent), transparent 55%), linear-gradient(160deg, var(--bg-alt), var(--bg-panel) 60%, var(--bg));align-items:center;min-height:min(88vh,780px);display:flex;position:relative;overflow:hidden}.hero__overlay{background:linear-gradient(to right, color-mix(in srgb, var(--bg) 55%, transparent), transparent 70%);pointer-events:none;position:absolute;inset:0}.hero__inner{z-index:1;padding-block:clamp(3rem,8vw,6rem);position:relative}.hero__kicker{font-family:var(--font-serif);font-style:italic;font-size:var(--step-1);color:var(--accent);margin-bottom:1rem}.hero__title{font-size:var(--step-4);max-width:16ch;margin-bottom:1.5rem}.hero__subtitle{font-size:var(--step-1);font-family:var(--font-serif);color:var(--text-muted);max-width:48ch;margin-bottom:2.5rem}.hero__actions{flex-wrap:wrap;gap:1rem;display:flex}.hero__outline{background-color:color-mix(in srgb, var(--surface) 40%, transparent)}.intro{text-align:center;justify-content:center;display:flex}.intro__text{max-width:62ch}.intro__body{color:var(--text-muted);font-size:var(--step-1);font-family:var(--font-serif);margin:1.5rem auto 2rem}.center{text-align:center}.cards{grid-template-columns:repeat(3,1fr);gap:1.75rem;margin-block:3rem;display:grid}.card{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);transition:transform var(--transition), border-color var(--transition);padding:2.5rem 2rem}.card:hover{border-color:var(--accent);transform:translateY(-4px)}.card__title{font-size:var(--step-1);margin-bottom:1rem}.card__text{color:var(--text-muted)}.why-grid{grid-template-columns:repeat(4,1fr);gap:2rem;margin-top:3rem;display:grid}.why-item__num{font-family:var(--font-sans);font-variant-numeric:lining-nums tabular-nums;letter-spacing:.02em;color:var(--accent);margin-bottom:.75rem;font-size:1.6rem;font-weight:500;display:block}.why-item__title{font-size:var(--step-1);margin-bottom:.6rem}.why-item__text{color:var(--text-muted);font-size:.95rem}@media (width<=900px){.cards{grid-template-columns:1fr;max-width:480px;margin-inline:auto}.why-grid{grid-template-columns:1fr 1fr}}@media (width<=520px){.why-grid{grid-template-columns:1fr}}.page-header{text-align:center;padding-block:clamp(3.5rem,8vw,6.5rem)}.page-header__inner{flex-direction:column;align-items:center;display:flex}.page-header__title{font-size:var(--step-3);max-width:18ch}.page-header__intro{text-align:center;max-width:60ch;margin-top:1.5rem}.about-story{grid-template-columns:1fr 1fr;gap:3rem;display:grid}.about-story__body{color:var(--text-muted);font-size:var(--step-0);margin-top:1.25rem}.values-grid{grid-template-columns:repeat(4,1fr);gap:2rem;margin-top:3rem;display:grid}.value-item{border-top:2px solid var(--accent);padding-top:1.5rem}.value-item__title{font-size:var(--step-1);margin-bottom:.6rem}.value-item__text{color:var(--text-muted);font-size:.95rem}.about-area{text-align:center}.about-area__title{font-size:var(--step-2);margin-bottom:1rem}.about-area__body{color:var(--text-muted);font-family:var(--font-serif);font-size:var(--step-1);margin-inline:auto}@media (width<=800px){.about-story{grid-template-columns:1fr;gap:2.5rem}.values-grid{grid-template-columns:1fr 1fr}}@media (width<=500px){.values-grid{grid-template-columns:1fr}}.services-list{flex-direction:column;gap:3.5rem;display:flex}.service{border-bottom:1px solid var(--border);grid-template-columns:auto 1fr;gap:2rem;padding-bottom:3.5rem;display:grid}.services-list .service:last-child{border-bottom:none;padding-bottom:0}.service__index{font-family:var(--font-sans);font-variant-numeric:lining-nums tabular-nums;color:var(--accent);opacity:.6;font-size:clamp(2.25rem,5.5vw,3.5rem);font-weight:300;line-height:1}.service__title{font-size:var(--step-2);margin-bottom:1rem}.service__text{color:var(--text-muted);max-width:60ch;margin-bottom:1.5rem}.service__features-label{font-family:var(--font-sans);letter-spacing:.24em;text-transform:uppercase;color:var(--accent);margin-bottom:.75rem;font-size:.72rem}.service__features{flex-wrap:wrap;gap:.75rem;display:flex}.service__features li{border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text);padding:.45em 1.1em;font-size:.9rem}@media (width<=640px){.service{grid-template-columns:1fr;gap:1rem}.service__index{font-size:2.5rem}}.gallery-grid{grid-template-columns:repeat(3,1fr);gap:1.25rem;display:grid}.gallery-tile{aspect-ratio:4/5;border-radius:var(--radius);border:1px solid var(--border);transition:transform var(--transition);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.gallery-tile:hover{transform:scale(1.01)}.gallery-tile--1{background:linear-gradient(150deg, var(--bg-alt), var(--bg-panel))}.gallery-tile--2{background:linear-gradient(150deg, color-mix(in srgb, var(--sage) 28%, var(--bg-panel)), var(--bg-alt))}.gallery-tile--3{background:linear-gradient(150deg, color-mix(in srgb, var(--taupe) 40%, var(--bg-panel)), var(--bg-alt))}.gallery-tile__note{font-family:var(--font-sans);letter-spacing:.24em;text-transform:uppercase;color:var(--text-muted);font-size:.68rem}.gallery-tile:first-child,.gallery-tile:nth-child(6){aspect-ratio:4/6}@media (width<=800px){.gallery-grid{grid-template-columns:1fr 1fr}}@media (width<=480px){.gallery-grid{grid-template-columns:1fr}.gallery-tile,.gallery-tile:first-child,.gallery-tile:nth-child(6){aspect-ratio:4/3}}.contact-grid{grid-template-columns:.85fr 1.15fr;align-items:start;gap:3.5rem;display:grid}.contact-methods{flex-direction:column;gap:1rem;display:flex}.contact-card{border:1px solid var(--border);border-radius:var(--radius);background-color:var(--surface);transition:border-color var(--transition), transform var(--transition);flex-direction:column;gap:.35rem;padding:1.5rem 1.75rem;display:flex}a.contact-card:hover{border-color:var(--accent);transform:translateY(-2px)}.contact-card--primary{background-color:var(--accent);color:var(--on-accent);border-color:var(--accent)}.contact-card--primary .contact-card__label{color:var(--on-accent);opacity:.85}.contact-card--static{background-color:#0000}.contact-card__label{font-family:var(--font-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--accent);font-size:.68rem}.contact-card__value{font-family:var(--font-serif);font-size:var(--step-1)}.contact-card__value--sm{font-size:var(--step-0)}.contact-form__title{font-size:var(--step-2);margin-bottom:.5rem}.contact-form__note{color:var(--text-muted);margin-bottom:2rem}.contact-form{flex-direction:column;gap:1.25rem;display:flex}.field-row{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}.field{flex-direction:column;gap:.5rem;display:flex}.field label{font-family:var(--font-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);font-size:.72rem}.field label span{color:var(--accent)}.field input,.field select,.field textarea{font-family:var(--font-sans);color:var(--text);background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:border-color var(--transition), box-shadow var(--transition);padding:.85em 1em;font-size:1rem}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 20%, transparent);outline:none}.field textarea{resize:vertical}.contact-form__submit{align-self:flex-start;margin-top:.5rem}.contact-success{border:1px solid var(--accent);border-radius:var(--radius);background-color:var(--surface);text-align:center;padding:2.5rem}.contact-success h4{font-size:var(--step-2);margin-bottom:1rem}.contact-success p{color:var(--text-muted);margin:0 auto 1.75rem}@media (width<=860px){.contact-grid{grid-template-columns:1fr;gap:2.5rem}}@media (width<=500px){.field-row{grid-template-columns:1fr}}
