@font-face{font-family:Pretendard;src:url('assets/fonts/pretendard-regular.woff') format('woff');font-weight:400;font-display:swap}@font-face{font-family:Pretendard;src:url('assets/fonts/pretendard-bold.woff') format('woff');font-weight:700;font-display:swap}@font-face{font-family:Pretendard;src:url('assets/fonts/pretendard-black.woff') format('woff');font-weight:900;font-display:swap}
:root{--ink:#222e27;--muted:#626960;--green:#283d32;--paper:#faf9f5;--soft:#f0f2eb;--line:#d9ded4;--rust:#b56843;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:108px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Pretendard,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;font-size:17px;line-height:1.8;word-break:keep-all;overflow-wrap:break-word}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,summary,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button,summary{font:inherit}button{cursor:pointer;color:inherit}img{display:block;width:100%;max-width:100%;height:auto}p,figure,blockquote,h1,h2,h3{margin:0}h1,h2,h3{font-weight:700;letter-spacing:-.055em;line-height:1.35}h1{font-size:clamp(42px,4.25vw,62px);letter-spacing:-.065em;line-height:1.3}h2{font-size:clamp(30px,3.45vw,46px)}h3{font-size:23px}em{font-style:normal;color:#617552}button,a,summary{outline-offset:6px}:focus-visible{outline:3px solid var(--rust)}[hidden]{display:none!important}.wrap{max-width:var(--max);margin:auto;padding:0 40px}.section{padding:105px 0}.eyebrow{font-size:14px;font-weight:700;letter-spacing:.015em;color:#57704c;margin-bottom:20px}.intro{color:var(--muted);font-size:18px;line-height:1.9;margin-top:24px}.section-heading{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-bottom:45px}.section-heading>.intro{margin-top:0;max-width:370px}.section-footnote{font-size:14px;line-height:1.9;color:var(--muted);margin-top:24px}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;min-height:56px;padding:14px 24px;background:var(--green);border:1px solid var(--green);color:white;border-radius:3px;font-weight:700;font-size:16px;line-height:1.5;transition:background .2s,transform .2s}.button:hover{background:#3c5343;border-color:#3c5343}.button:active{transform:translateY(1px)}.button>span{font-size:23px;line-height:1}.button-outline{background:transparent;color:var(--green);border-color:#93a08e}.button-outline:hover{background:#e2e8dc;border-color:var(--green)}.button-white{background:#f9f8f2;border-color:#f9f8f2;color:var(--green)}.button-white:hover{background:#e8ebdf;border-color:#e8ebdf}.text-link{display:inline-flex;align-items:center;gap:22px;min-height:44px;text-decoration:underline;text-underline-offset:7px;font-weight:700;font-size:15px}.text-link:hover{color:var(--rust)}.skip{position:fixed;left:12px;top:-100px;z-index:200;background:white;padding:12px 18px}.skip:focus{top:12px}
/* A quiet editorial frame. */
.site-header{position:sticky;top:0;z-index:60;background:#faf9f5f5;border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.header-inner{height:86px;max-width:1440px;margin:auto;padding:0 48px;display:flex;align-items:center;gap:34px}.brand{font-family:Arial,sans-serif;font-weight:800;font-size:35px;letter-spacing:-2px;line-height:1;white-space:nowrap;display:flex;align-items:baseline}.brand>span{color:var(--rust)}.brand>small{font-family:Pretendard,sans-serif;font-weight:400;font-size:12px;letter-spacing:-.4px;margin-left:16px}.main-nav{display:flex;align-items:center;gap:31px;margin-left:auto}.main-nav a{font-weight:700;font-size:14px;min-height:44px;display:flex;align-items:center}.main-nav a:hover{color:#6c7f55}.header-call{min-height:44px;padding:9px 19px;font-size:14px;gap:16px}.menu-toggle{display:none}.hero{background:var(--paper)}.hero-inner{display:grid;grid-template-columns:.94fr 1.13fr;max-width:1440px;margin:auto;padding:38px 48px 0;gap:38px;align-items:center}.hero-copy{padding:35px 0 44px;max-width:560px}.hero .eyebrow{font-size:13px;display:flex;align-items:center;gap:10px;margin-bottom:27px}.dot{width:6px;height:6px;background:#68815c;border-radius:50%;display:inline-block;flex:none}.hero-description{font-size:17px;line-height:1.9;color:var(--muted);margin-top:27px}.hero-actions{display:flex;gap:23px;flex-wrap:wrap;align-items:center;margin-top:32px}.hero-actions .text-link{font-size:14px}.hero-note{color:var(--muted);font-size:12px;margin-top:17px}.hero-note>span{margin:0 6px}.hero-visual{position:relative;align-self:stretch;min-height:570px;overflow:hidden;border-radius:3px}.hero-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% center}.hero-visual figcaption{position:absolute;bottom:0;left:0;right:0;padding:65px 34px 30px;background:linear-gradient(transparent,#17241fd6);color:white;line-height:1.6}.hero-visual figcaption span{display:block;font-size:14px}.hero-visual figcaption strong{font-size:22px;font-weight:400;letter-spacing:-.03em}.hero-foundation{display:grid;grid-template-columns:repeat(3,1fr);padding-top:32px;padding-bottom:32px;gap:24px}.hero-foundation p{padding-left:28px;border-left:1px solid var(--line)}.hero-foundation p:first-child{border-left:0;padding-left:0}.hero-foundation strong{display:block;font-size:17px;letter-spacing:-.03em}.hero-foundation span{display:block;font-size:13px;color:var(--muted);margin-top:3px}
/* Customer situations, short and easy to recognise. */
.concern-section{border-top:1px solid var(--line);background:#f1f2ec}.concern-layout{display:grid;grid-template-columns:1fr 1.12fr;gap:80px}.concern-list article{display:flex;gap:25px;padding:25px 0;border-bottom:1px solid #d4dbcd}.concern-list article:first-child{padding-top:0}.concern-list article:last-child{border-bottom:0;padding-bottom:0}.concern-list article>span{font:italic 21px Georgia,serif;color:#7a8a68;padding-top:3px}.concern-list h3{font-size:22px}.concern-list p{font-size:16px;color:var(--muted);margin-top:11px}
/* Service photography is illustrative; documentary evidence follows. */
.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 25px}.service{min-width:0;scroll-margin-top:110px}.service-image{position:relative;overflow:hidden}.service-image img{aspect-ratio:1.4;object-fit:cover;transition:transform .5s}.service:hover .service-image img{transform:scale(1.025)}.service-number{position:absolute;left:17px;top:15px;color:white;font:italic 20px Georgia,serif;text-shadow:0 1px 8px #0009}.service-content{padding:22px 2px 0}.service h3{font-size:26px}.service-line{font-size:16px;margin-top:8px}.zones{font-size:13px;color:var(--muted);margin-top:8px}.service details{border-top:1px solid var(--line);margin-top:18px}.service summary{font-size:14px;padding:12px 0}.service details p{font-size:14px;color:var(--muted);padding:0 0 10px;line-height:1.9}.special-services{margin-top:40px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;font-weight:700;line-height:1.7;padding:21px 0}summary::-webkit-details-marker{display:none}summary>span:last-child{font-family:Arial,sans-serif;font-weight:400;font-size:23px;color:#6f7f61;flex:none;line-height:1}details[open]>summary>span:last-child{transform:rotate(45deg)}.special-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;padding:12px 0 28px}.special-grid img{height:220px;object-fit:cover}.special-grid h3{font-size:21px;margin-top:16px}.special-grid p{font-size:15px;color:var(--muted);margin-top:10px}
/* Actual work records, varied compositions, simple captions. */
.work-section{background:#fff}.work-lead{display:grid;grid-template-columns:1.2fr 1fr;gap:24px}.field-photo{min-width:0}.field-photo button{display:block;width:100%;position:relative;padding:0;border:0;background:#e7e9e1;text-align:left;overflow:hidden}.field-photo img{object-fit:cover;transition:transform .5s}.field-photo button:hover img{transform:scale(1.02)}.zoom{position:absolute;right:13px;bottom:13px;width:32px;height:32px;background:#fffffff0;display:grid;place-items:center;font-family:Arial,sans-serif;font-size:22px}.field-photo figcaption{font-size:14px;margin-top:10px;color:var(--muted)}.work-lead img{height:365px}.work-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:30px}.work-details img{height:255px}.beforeafter-heading{margin-top:60px;padding-top:30px;border-top:1px solid var(--line);display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.beforeafter-heading .eyebrow{font-size:12px;display:block;margin-bottom:9px}.beforeafter-heading h3{font-size:25px}.beforeafter-heading>p{font-size:14px;color:var(--muted)}.beforeafter{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}.beforeafter img{aspect-ratio:4/3}.beforeafter figcaption{font-size:15px;font-weight:700;color:var(--ink)}.work-section .text-link{margin-top:20px}
.reviews-section{background:#edf0e7}.reviews-grid{display:grid;grid-template-columns:1.12fr 1fr .9fr;gap:32px}.review{padding-top:12px;border-top:1px solid #c4ceba;position:relative;min-width:0}.quote-mark{font:64px Georgia,serif;color:#81916f;display:block;line-height:1.2;height:60px}.review blockquote{font-size:18px;line-height:1.9;letter-spacing:-.025em}.review figcaption{font-size:12px;color:var(--muted);margin-top:24px}
.history-layout{display:grid;grid-template-columns:.85fr 1fr;gap:85px;align-items:center}.history-photo img{height:610px;object-fit:cover;object-position:50% 40%}.history-photo figcaption{font-size:13px;color:var(--muted);margin-top:10px}.history-copy h2{font-size:clamp(30px,3vw,42px)}.timeline{list-style:none;margin:32px 0 0;padding:0}.timeline li{display:flex;gap:35px;padding:25px 0;border-top:1px solid var(--line)}.timeline li>strong{font:40px Georgia,serif;letter-spacing:-2px;color:#657754;line-height:1.15}.timeline h3{font-size:19px}.timeline p{font-size:14px;color:var(--muted);margin-top:7px}.history-copy .section-footnote{font-size:12px;margin-top:15px}
.management-section{background:#f0f2ec}.management-layout{display:grid;grid-template-columns:1.12fr .88fr;gap:80px;align-items:center}.management-list article{display:flex;gap:24px;padding:25px 0;border-bottom:1px solid var(--line)}.management-list article:first-child{padding-top:0}.management-list article>span{font:italic 21px Georgia,serif;color:#7b8b6a}.management-list p{font-size:16px;color:var(--muted);margin-top:12px}.management-list h3{font-size:23px}.management-list .button{margin-top:30px}.management-photo img{height:445px;object-fit:cover;object-position:center 50%}.management-photo figcaption{font-size:12px;color:var(--muted);margin-top:10px}
.philosophy{display:grid;grid-template-columns:1.2fr 1fr;background:#e7ebdf}.philosophy>figure{min-width:0;min-height:510px}.philosophy>figure img{height:100%;object-fit:cover;object-position:68% center}.philosophy-copy{padding:65px clamp(35px,6vw,90px);align-self:center}.philosophy h2{font-size:clamp(36px,4.4vw,61px);line-height:1.25}.philosophy-copy>p:not(.eyebrow){font-size:17px;margin-top:24px;color:#4d5949;line-height:1.9}.signature{font:italic 27px Georgia,serif;display:block;margin-top:28px;color:#6c785b}
.quote-criteria{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:35px 0;gap:35px}.quote-criteria article+article{padding-left:35px;border-left:1px solid var(--line)}.quote-criteria article>span{font-size:13px;color:#6a7d56;display:block;margin-bottom:15px}.quote-criteria h3{font-size:22px}.quote-criteria p{font-size:16px;color:var(--muted);margin-top:16px}.contract-block{background:var(--green);color:#f8f8f1;display:flex;align-items:center;justify-content:space-between;gap:40px;padding:38px 44px;margin-top:36px}.contract-block .eyebrow{color:#bdc9b0;font-size:13px;margin-bottom:15px}.contract-block h3{font-size:28px;line-height:1.6;font-weight:400}.contract-block h3 strong{font-weight:700;color:#e2eacb}.contract-block>p{font-size:14px;color:#d2d9cc;line-height:1.9}.quote-check{border-bottom:1px solid var(--line);margin-top:10px}.quote-check summary{font-size:16px}.quote-check dl{margin:0 0 20px}.quote-check dl div{display:grid;grid-template-columns:130px 1fr;padding:11px 0;font-size:15px}.quote-check dt{font-weight:700}.quote-check dd{margin:0;color:var(--muted)}.switch-note{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:34px}.switch-note>p{font-size:16px;color:var(--muted)}.switch-note strong{color:var(--ink);font-weight:400}
.gift-section{background:#eeeee5}.gift-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:85px;align-items:center}.gift-copy h2{font-size:clamp(30px,3.35vw,44px)}.gift-list{list-style:none;margin:28px 0;padding:0}.gift-list li{display:flex;gap:19px;padding:14px 0}.gift-list li>span{font:italic 20px Georgia,serif;color:#70815d}.gift-list strong{font-size:17px}.gift-list p{font-size:14px;color:var(--muted);margin-top:3px}.gift-note{font-size:12px;color:var(--muted);margin-top:15px}.gift-note>a{display:inline-block;text-decoration:underline;margin-left:9px;min-height:30px}.gift-visual{display:block;justify-self:center;max-width:310px;position:relative;margin:15px}.gift-visual>img{box-shadow:10px 15px 30px #222c241c;transform:rotate(3deg);transition:transform .3s}.gift-visual:hover>img{transform:rotate(0)}.gift-visual>span{display:block;font-size:12px;color:var(--muted);text-align:center;margin-top:26px}.faq-layout{display:grid;grid-template-columns:.85fr 1.4fr;gap:85px}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{font-size:17px;padding:24px 0}.answer{padding:0 32px 24px 0;color:var(--muted);font-size:16px;line-height:1.9}
.contact-section{padding:90px 0 0;background:#283d32;color:#faf9ef;text-align:center}.contact-section .eyebrow{color:#bdcbae}.contact-section h2{font-size:clamp(36px,4.15vw,56px);line-height:1.35}.contact-description{font-size:18px;color:#d1dacb;margin-top:25px}.contact-phone{font:44px Georgia,serif;display:block;margin:30px auto 24px;letter-spacing:-1px;width:fit-content}.contact-phone>span{font:26px Arial,sans-serif;margin-left:10px}.contact-section .button{min-width:250px}.contact-note{font-size:12px;color:#bdc8b7;margin-top:16px}.contact-steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);padding:32px 0;margin:58px 0 0;border-top:1px solid #60705f;text-align:left;gap:25px}.contact-steps>li{border-left:1px solid #60705f;padding-left:24px}.contact-steps>li:first-child{padding-left:0;border-left:0}.contact-steps span{font:italic 17px Georgia,serif;color:#b8c7a3;display:block;margin-bottom:12px}.contact-steps strong{font-size:17px}.contact-steps p{font-size:12px;color:#bdc8b7;margin-top:6px}.site-footer{padding:48px 0 30px;background:#f6f5ef}.footer-top{display:flex;align-items:center;gap:35px;padding-bottom:35px;border-bottom:1px solid var(--line)}.footer-top>p{font-size:13px;color:var(--muted)}.footer-top nav{display:flex;gap:25px;margin-left:auto;font-size:12px}.footer-top nav a{min-height:44px;display:flex;align-items:center}.footer-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-top:25px;font-size:11px;color:var(--muted)}.footer-bottom p+p{margin-top:6px}.footer-bottom span{padding:0 6px}.mobile-call{display:none}.lightbox{width:min(1100px,95vw);max-height:94dvh;border:0;padding:55px 24px 23px;background:#faf9f5;color:var(--ink)}.lightbox::backdrop{background:#101811df}.lightbox-close{position:absolute;right:20px;top:8px;min-height:40px;min-width:70px;background:transparent;border:0;display:flex;gap:12px;align-items:center;font-size:14px}.lightbox-close span{font:28px Arial,sans-serif}.lightbox img{max-height:73dvh;width:100%;object-fit:contain}.lightbox figcaption{font-size:14px;text-align:center;margin-top:14px}
@media(min-width:1600px){.hero-inner{padding-top:50px}.hero-visual{min-height:620px}.hero-copy{padding-top:60px;padding-bottom:60px}}
@media(max-width:1100px){.header-inner{padding:0 30px;gap:25px}.brand small{display:none}.main-nav{gap:21px}.hero-inner{padding:30px 30px 0;gap:25px;grid-template-columns:1fr 1.05fr}.hero h1{font-size:46px}.hero-visual{min-height:560px}.hero-actions{gap:16px}.hero-actions .button{padding:14px 19px;gap:15px}.wrap{padding-left:30px;padding-right:30px}.concern-layout,.history-layout,.management-layout,.gift-layout,.faq-layout{gap:45px}.section{padding:85px 0}.services-grid{gap:40px 20px}.service-line{font-size:15px}.service h3{font-size:24px}.work-lead img{height:300px}.work-details img{height:220px}.history-photo img{height:580px}.timeline li{gap:23px}.quote-criteria{gap:24px}.quote-criteria article+article{padding-left:24px}.quote-criteria h3{font-size:20px}.contract-block{padding:32px}.reviews-grid{gap:24px}.review blockquote{font-size:17px}.footer-top{gap:25px}.philosophy-copy{padding:50px 40px}}
@media(max-width:800px){html{scroll-padding-top:85px}.header-inner{height:72px;padding:0 24px;gap:18px}.brand{font-size:30px}.main-nav{gap:17px}.main-nav a{font-size:12px}.header-call{font-size:12px;gap:12px;padding:8px 13px}.hero-inner{padding:24px 24px 0;gap:21px}.hero h1{font-size:38px}.hero .eyebrow{font-size:11px;gap:6px}.hero-description{font-size:15px}.hero-visual{min-height:505px}.hero-visual figcaption{padding:50px 20px 24px}.hero-visual figcaption strong{font-size:18px}.hero-visual figcaption span{font-size:12px}.hero-actions{display:block}.hero-actions .text-link{margin-top:11px}.hero-copy{padding-top:25px;padding-bottom:25px}.hero-note{font-size:10px;margin-top:12px}.hero-foundation{gap:15px;padding-top:27px;padding-bottom:27px}.hero-foundation strong{font-size:15px}.hero-foundation span{font-size:11px}.hero-foundation p{padding-left:18px}.wrap{padding-left:24px;padding-right:24px}.section{padding:75px 0}.section-heading{gap:25px}.section-heading>.intro{font-size:15px}.intro{font-size:17px}.concern-layout{gap:35px;grid-template-columns:.95fr 1.1fr}.concern-list h3{font-size:19px}.concern-list p{font-size:14px}.concern-list article{gap:18px}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 22px}.service-content{padding-top:18px}.history-layout{gap:35px}.history-copy h2{font-size:30px}.history-copy .intro{font-size:15px}.history-photo img{height:550px}.timeline li{gap:17px}.timeline li>strong{font-size:32px}.timeline h3{font-size:16px}.timeline p{font-size:12px}.management-layout{gap:35px}.management-list h3{font-size:20px}.management-list p{font-size:14px}.management-list .button{font-size:13px;padding:13px 16px;gap:12px}.management-photo img{height:420px}.reviews-grid{grid-template-columns:1fr;gap:30px}.review{display:grid;grid-template-columns:45px 1fr;column-gap:15px;padding:22px 0 0}.quote-mark{grid-row:1/3;height:auto;line-height:1.1}.review figcaption{grid-column:2;margin-top:15px}.review blockquote{font-size:18px}.philosophy>figure{min-height:450px}.philosophy-copy{padding:40px 28px}.philosophy-copy>p:not(.eyebrow){font-size:15px}.quote-criteria{gap:18px}.quote-criteria article+article{padding-left:18px}.quote-criteria h3{font-size:17px}.quote-criteria p{font-size:14px}.contract-block{gap:25px;padding:29px}.contract-block h3{font-size:23px}.contract-block>p{font-size:12px}.switch-note>p{font-size:14px}.switch-note .text-link{font-size:13px}.gift-layout{gap:35px;grid-template-columns:1.2fr .8fr}.gift-copy .intro{font-size:15px}.gift-list p{font-size:13px}.gift-visual{margin:12px;max-width:250px}.faq-layout{gap:35px;grid-template-columns:.85fr 1.2fr}.faq-list summary{font-size:15px}.answer{font-size:15px}.contact-steps{gap:16px}.contact-steps>li{padding-left:16px}.contact-steps strong{font-size:15px}.contact-steps p{font-size:11px}.footer-top nav{gap:14px}.footer-bottom{font-size:10px}}
@media(max-width:640px){body{font-size:17px;padding-bottom:86px}.header-inner{height:68px;padding:0 20px;gap:17px}.brand{font-size:30px}.brand small{display:block;font-size:10px;margin-left:10px}.header-call{margin-left:auto;font-size:12px;padding:8px 13px;min-height:38px;gap:10px}.header-call>span{font-size:18px}.menu-toggle{display:flex;flex-direction:column;gap:6px;align-items:center;justify-content:center;background:transparent;border:0;width:36px;height:44px;padding:6px}.menu-toggle span{height:1.5px;width:21px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.75px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.75px) rotate(-45deg)}.main-nav{display:none;position:absolute;top:68px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--paper);padding:10px 24px 22px;border-bottom:1px solid var(--line)}.main-nav.is-open{display:flex}.main-nav a{font-size:17px;min-height:55px;border-bottom:1px solid var(--line)}.hero-inner{display:flex;flex-direction:column;gap:0;padding:0}.hero-copy{max-width:none;width:100%;padding:37px 24px 29px}.hero .eyebrow{font-size:12px;margin-bottom:20px;gap:8px}.hero h1{font-size:42px;line-height:1.3;letter-spacing:-.065em}.hero-description{font-size:16px;margin-top:20px;line-height:1.85}.hero-actions{display:flex;align-items:center;gap:18px;margin-top:25px}.hero-actions .button{font-size:14px;padding:13px 17px;min-height:51px;gap:16px}.hero-actions .text-link{font-size:12px;margin-top:0;gap:8px}.hero-note{font-size:11px;margin-top:13px}.hero-visual{width:calc(100% - 40px);margin:0 20px;align-self:initial;min-height:0;aspect-ratio:1.22;border-radius:2px}.hero-visual figcaption{padding:55px 22px 22px}.hero-visual figcaption span{font-size:12px}.hero-visual figcaption strong{font-size:19px}.hero-foundation{grid-template-columns:1fr;gap:0;padding:21px 24px 27px}.hero-foundation p{border:0;padding:9px 0;display:flex;align-items:center;justify-content:space-between;gap:16px}.hero-foundation p:first-child{padding-left:0}.hero-foundation strong{font-size:14px}.hero-foundation span{font-size:12px;margin:0}.wrap{padding-left:24px;padding-right:24px}.section{padding:67px 0}.eyebrow{font-size:12px;margin-bottom:16px}h2{font-size:31px;letter-spacing:-.06em;line-height:1.4}.intro{font-size:17px;line-height:1.85;margin-top:19px}.section-heading{display:block;margin-bottom:29px}.section-heading>.intro{font-size:16px;margin-top:18px}.section-heading>.text-link{margin-top:13px;font-size:13px}.section-footnote{font-size:12px;margin-top:19px;line-height:1.9}.concern-layout{display:block}.concern-list{margin-top:32px}.concern-list article{gap:18px;padding:25px 0}.concern-list h3{font-size:20px}.concern-list p{font-size:16px;margin-top:9px}.concern-list article>span{font-size:19px}.services-grid{grid-template-columns:1fr;gap:35px}.service-image img{aspect-ratio:1.48}.service-content{padding:18px 0 0}.service h3{font-size:25px}.service-line{font-size:17px;margin-top:7px}.zones{font-size:13px;margin-top:7px}.service summary{font-size:15px;padding:14px 0;min-height:50px}.service details p{font-size:15px}.special-services{margin-top:27px}.special-services>summary{font-size:15px;gap:18px}.special-grid{grid-template-columns:1fr;gap:30px}.special-grid img{height:auto;aspect-ratio:1.5}.special-grid p{font-size:16px}.work-lead{grid-template-columns:1fr;gap:25px}.work-lead img{height:auto;aspect-ratio:1.35}.field-photo figcaption{font-size:13px}.work-details{grid-template-columns:1fr 1fr;gap:20px 15px;margin-top:25px}.work-details .field-photo:first-child{grid-column:1/-1}.work-details .field-photo:first-child img{height:auto;aspect-ratio:1.5}.work-details img{height:auto;aspect-ratio:1}.work-details figcaption{font-size:12px}.beforeafter-heading{display:block;margin-top:38px;padding-top:27px}.beforeafter-heading h3{font-size:23px}.beforeafter-heading>p{margin-top:10px;font-size:14px}.beforeafter{grid-template-columns:1fr;gap:23px;margin-top:23px}.beforeafter figcaption{font-size:14px}.work-section .text-link{font-size:14px}.reviews-grid{gap:25px}.review{grid-template-columns:28px 1fr;column-gap:13px;padding-top:22px}.quote-mark{font-size:46px}.review blockquote{font-size:17px;line-height:1.95}.review figcaption{font-size:11px}.history-layout{display:flex;flex-direction:column-reverse;gap:32px;align-items:stretch}.history-copy h2{font-size:31px}.history-copy .intro{font-size:17px}.timeline{margin-top:27px}.timeline li{gap:29px;padding:23px 0}.timeline li>strong{font-size:38px;min-width:80px}.timeline h3{font-size:19px}.timeline p{font-size:14px;line-height:1.75}.history-copy .section-footnote{font-size:11px}.history-photo img{height:390px;object-position:50% 40%}.history-photo figcaption{font-size:12px}.management-layout{display:flex;flex-direction:column;gap:33px;align-items:stretch}.management-list article{gap:18px;padding:23px 0}.management-list h3{font-size:21px}.management-list p{font-size:16px;line-height:1.9}.management-list .button{font-size:15px;padding:14px 17px;width:100%;margin-top:24px}.management-photo img{height:370px;object-position:center 43%}.management-photo figcaption{font-size:12px}.philosophy{grid-template-columns:1fr}.philosophy>figure{min-height:0;aspect-ratio:1.25}.philosophy>figure img{width:100%;height:100%;object-position:65% center}.philosophy-copy{padding:42px 28px 47px}.philosophy h2{font-size:43px}.philosophy h2 br{display:none}.philosophy h2 em{margin-left:.17em}.philosophy-copy>p:not(.eyebrow){font-size:17px;margin-top:23px}.signature{margin-top:20px;font-size:26px}.quote-criteria{grid-template-columns:1fr;gap:24px;padding:27px 0}.quote-criteria article+article{padding:24px 0 0;border-left:0;border-top:1px solid var(--line)}.quote-criteria article>span{font-size:12px;margin-bottom:10px}.quote-criteria h3{font-size:21px}.quote-criteria p{font-size:16px;margin-top:11px}.contract-block{display:block;padding:28px 24px;margin-top:29px}.contract-block .eyebrow{font-size:11px;margin-bottom:12px}.contract-block h3{font-size:23px;line-height:1.7}.contract-block>p{font-size:13px;margin-top:18px}.quote-check summary{font-size:15px;line-height:1.8}.quote-check dl div{grid-template-columns:80px 1fr;font-size:14px;gap:12px}.switch-note{display:block;margin-top:25px}.switch-note>p{font-size:16px;line-height:1.9}.switch-note .text-link{font-size:14px;margin-top:12px}.gift-layout{display:flex;flex-direction:column;gap:38px;align-items:stretch}.gift-copy h2{font-size:31px}.gift-copy .intro{font-size:16px}.gift-list{margin-top:22px;margin-bottom:22px}.gift-list strong{font-size:18px}.gift-list p{font-size:15px}.gift-copy>.button{font-size:15px}.gift-note{font-size:11px}.gift-visual{max-width:230px;align-self:center;margin:5px 12px 0}.gift-visual>span{font-size:11px}.faq-layout{display:block}.faq-list{margin-top:30px}.faq-list summary{font-size:16px;padding:23px 0;line-height:1.85}.answer{font-size:16px;padding-right:15px}.contact-section{padding-top:63px}.contact-section h2{font-size:35px}.contact-description{font-size:16px;margin-top:21px}.contact-phone{font-size:35px;margin-top:27px;margin-bottom:23px;letter-spacing:-1px}.contact-phone>span{font-size:23px;margin-left:3px}.contact-section .button{font-size:16px;min-width:250px}.contact-note{font-size:11px}.contact-steps{grid-template-columns:1fr 1fr;gap:27px 20px;margin-top:42px;padding-top:29px;padding-bottom:33px}.contact-steps>li{padding-left:19px}.contact-steps>li:nth-child(3){padding-left:0;border-left:0}.contact-steps strong{font-size:16px}.contact-steps p{font-size:11px;margin-top:7px}.contact-steps span{margin-bottom:9px}.site-footer{padding:33px 0 25px}.footer-top{flex-wrap:wrap;gap:22px}.footer-top>p{font-size:12px}.footer-top nav{margin-left:0;width:100%;gap:25px;font-size:12px}.footer-bottom{display:block;margin-top:23px;font-size:10px;line-height:1.9}.footer-bottom>p{margin-top:17px}.footer-bottom span{padding:0 3px}.mobile-call{position:fixed;z-index:55;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:11px 20px calc(11px + env(safe-area-inset-bottom));background:#faf9f5;border-top:1px solid var(--line);box-shadow:0 -4px 25px #1722190a}.mobile-call strong{display:block;font-size:13px;line-height:1.65}.mobile-call>div>span{display:block;font-size:11px;color:var(--muted)}.mobile-call .button{font-size:14px;min-height:47px;padding:12px 18px;gap:19px}.lightbox{padding:52px 12px 18px}.lightbox figcaption{font-size:12px}.lightbox img{max-height:70dvh}}
@media(max-width:370px){.header-inner{gap:10px;padding:0 16px}.brand small{display:none}.hero-copy{padding-left:22px;padding-right:22px}.hero h1{font-size:38px}.hero .eyebrow{font-size:11px}.hero-actions{gap:12px}.hero-actions .button{font-size:13px;padding-left:14px;padding-right:14px;gap:12px}.hero-actions .text-link{font-size:11px}.hero-foundation span{font-size:11px}.wrap{padding-left:22px;padding-right:22px}h2{font-size:29px}.history-copy h2,.gift-copy h2{font-size:29px}.timeline li{gap:19px}.timeline li>strong{font-size:34px;min-width:74px}.timeline h3{font-size:17px}.contract-block{padding:25px 19px}.contract-block h3{font-size:21px}.philosophy h2{font-size:38px}.contact-phone{font-size:31px}.mobile-call{padding-left:16px;padding-right:16px}.mobile-call strong{font-size:12px}.mobile-call .button{font-size:13px;padding-left:15px;padding-right:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{body{padding:0;background:white;color:black}.site-header,.mobile-call,.button,.lightbox,.skip{display:none!important}.section{padding:30px 0}.hero-inner{display:block}.hero-visual{display:none}.hero-copy{max-width:none}.contact-section{background:white;color:black}.contact-description,.contact-note,.contact-steps p{color:black}.contact-steps{border-color:#aaa}.gift-visual{display:none}.service details>p,.faq-list .answer{display:block}.philosophy{break-inside:avoid}.site-footer{background:white}}
/* Keep the compact mobile header on a single line. */
.header-call{white-space:nowrap;flex-shrink:0}
@media(max-width:640px){.brand>small{display:none}.menu-toggle{flex-shrink:0}}

/* Reference typography: thick Korean gothic headlines, comfortable reading sizes. */
body{font-family:Pretendard,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;font-size:19px;line-height:1.75;letter-spacing:-.018em}
h1,h2{font-weight:900;letter-spacing:-.045em;line-height:1.24}
h3{font-weight:700;letter-spacing:-.035em}
h1,.hero h1{font-size:clamp(46px,4.7vw,66px);line-height:1.19;letter-spacing:-.05em}
h2{font-size:clamp(34px,3.6vw,50px)}
.history-copy h2,.gift-copy h2{font-size:clamp(34px,3.4vw,46px)}
.philosophy h2{font-size:clamp(42px,4.4vw,62px)}
.contact-section h2{font-size:clamp(38px,4.2vw,58px)}
.hero-description,.intro,.section-heading>.intro,.history-copy .intro,.gift-copy .intro{font-size:19px;line-height:1.75}
.hero .eyebrow,.eyebrow{font-size:15px}
.hero-note{font-size:14px}
.hero-foundation strong{font-size:19px;font-weight:700}
.hero-foundation span{font-size:15px}
.hero-visual figcaption strong{font-size:25px;font-weight:700}
.hero-visual figcaption span{font-size:16px}
.main-nav a{font-size:16px}
.button,.text-link{font-size:17px;font-weight:700}
.header-call{font-size:15px}
.hero-actions .text-link{font-size:16px}
.concern-list h3,.management-list h3,.quote-criteria h3{font-size:25px}
.service h3{font-size:29px;font-weight:900}
.service-line,.concern-list p,.management-list p,.quote-criteria p,.special-grid p,.philosophy-copy>p:not(.eyebrow),.switch-note>p,.contact-description{font-size:18px;line-height:1.75}
.zones,.section-footnote,.field-photo figcaption,.management-photo figcaption,.history-photo figcaption,.history-copy .section-footnote{font-size:15px;line-height:1.7}
.service summary,.service details p,.quote-check summary,.quote-check dl div,.answer,.faq-list summary{font-size:18px;line-height:1.75}
.special-services>summary{font-size:19px}
.special-grid h3,.beforeafter-heading h3{font-size:26px}
.beforeafter-heading>p{font-size:17px}
.review blockquote{font-size:20px;line-height:1.8}
.review figcaption{font-size:14px}
.timeline li>strong{font-family:Pretendard,sans-serif;font-size:43px;font-weight:900;letter-spacing:-.04em}
.timeline h3{font-size:22px}
.timeline p{font-size:17px;line-height:1.7}
.contract-block h3{font-size:31px;line-height:1.45;font-weight:700}
.contract-block h3 strong{font-weight:900}
.contract-block>p{font-size:17px;line-height:1.75}
.contract-block .eyebrow{font-size:15px}
.gift-list strong{font-size:20px}
.gift-list p{font-size:17px}
.gift-note,.gift-visual>span,.contact-note{font-size:14px}
.contact-steps strong{font-size:19px}
.contact-steps p{font-size:14px}
.footer-top>p,.footer-top nav{font-size:15px}
.footer-bottom{font-size:13px}
@media(min-width:641px) and (max-width:1000px){
 .hero h1{font-size:clamp(38px,4.8vw,48px)}
 .hero .eyebrow{font-size:12px}
 .hero-description{font-size:18px}
 .main-nav{gap:17px}.main-nav a{font-size:14px}.header-call{font-size:14px}
 .hero-foundation strong{font-size:17px}.hero-foundation span{font-size:13px}
 .section-heading{align-items:flex-start}.section-heading>.intro{max-width:280px;font-size:18px}
 .history-layout,.faq-layout,.management-layout{gap:30px}
 .history-copy h2,.gift-copy h2,h2{font-size:34px}
 .timeline li{gap:19px}.timeline li>strong{font-size:36px}.timeline h3{font-size:20px}.timeline p{font-size:16px}
 .quote-criteria h3{font-size:22px}.contract-block{gap:25px}.contract-block h3{font-size:27px}
 .reviews-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
 body{font-size:18px;line-height:1.75}
 .hero h1{font-size:clamp(36px,10.8vw,44px);line-height:1.2;letter-spacing:-.045em}
 h2,.history-copy h2,.gift-copy h2{font-size:clamp(28px,7.9vw,32px);line-height:1.32;letter-spacing:-.04em}
 .philosophy h2{font-size:clamp(33px,9.5vw,40px);line-height:1.25}
 .contact-section h2{font-size:clamp(31px,8.7vw,36px)}
 .hero-description,.intro,.section-heading>.intro,.history-copy .intro,.gift-copy .intro{font-size:18px;line-height:1.75}
 .hero .eyebrow,.eyebrow{font-size:14px;line-height:1.6}
 .hero-note{font-size:13px}
 .hero-actions{gap:14px}.hero-actions .button{font-size:16px;min-height:54px}.hero-actions .text-link{font-size:14px}
 .header-call{font-size:14px}.main-nav a{font-size:18px}
 .hero-foundation strong{font-size:16px}.hero-foundation span{font-size:13px}
 .hero-foundation p{gap:12px}
 .hero-visual figcaption strong{font-size:21px}.hero-visual figcaption span{font-size:14px}
 .concern-list h3,.management-list h3,.quote-criteria h3{font-size:23px;line-height:1.45}
 .service h3{font-size:27px}
 .concern-list p,.management-list p,.service-line,.special-grid p,.quote-criteria p,.philosophy-copy>p:not(.eyebrow),.switch-note>p,.contact-description{font-size:18px;line-height:1.75}
 .service summary,.service details p,.quote-check summary,.quote-check dl div,.faq-list summary,.answer{font-size:17px;line-height:1.8}
 .special-services>summary{font-size:17px}
 .zones,.section-footnote,.field-photo figcaption,.work-details figcaption,.beforeafter figcaption,.management-photo figcaption,.history-photo figcaption,.history-copy .section-footnote{font-size:14px;line-height:1.75}
 .beforeafter-heading h3{font-size:24px}.beforeafter-heading>p{font-size:16px}
 .review blockquote{font-size:18px;line-height:1.85}.review figcaption{font-size:13px}
 .timeline li{gap:22px}.timeline li>strong{font-size:38px;min-width:78px}.timeline h3{font-size:21px}.timeline p{font-size:16px}
 .contract-block{padding:28px 22px}.contract-block h3{font-size:clamp(23px,6.7vw,27px);line-height:1.5}
 .contract-block .eyebrow{font-size:13px}.contract-block>p{font-size:16px}
 .gift-list strong{font-size:20px}.gift-list p{font-size:17px}.gift-note,.gift-visual>span{font-size:13px}
 .button,.text-link,.work-section .text-link,.management-list .button,.gift-copy>.button,.contact-section .button{font-size:17px}
 .switch-note .text-link,.section-heading>.text-link{font-size:15px}
 .contact-note{font-size:13px}.contact-steps strong{font-size:18px}.contact-steps p{font-size:13px;line-height:1.75}
 .footer-top>p,.footer-top nav{font-size:14px}.footer-bottom{font-size:12px}
 .mobile-call strong{font-size:14px}.mobile-call>div>span{font-size:12px}.mobile-call .button{font-size:15px;min-height:49px}
}
@media(max-width:370px){
 .hero .eyebrow{font-size:13px}.hero-actions .button{font-size:15px}.hero-actions .text-link{font-size:13px}
 .hero-foundation strong{font-size:15px}.hero-foundation span{font-size:12px}
 .timeline li{gap:16px}.timeline li>strong{font-size:34px;min-width:70px}.timeline h3{font-size:19px}
 .contract-block{padding:25px 19px}.contract-block h3{font-size:23px}
 .mobile-call strong{font-size:13px}.mobile-call .button{font-size:14px}
}
@media(max-width:640px){.site-header .header-call{font-size:14px}}

/* Keep complete years aligned at every viewport width. */
.timeline li{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:start}
.timeline li>strong{white-space:nowrap;word-break:normal;overflow-wrap:normal;font-variant-numeric:tabular-nums}
.timeline li>div{min-width:0}

.history-photo img{object-position:68% center}

/* Customer proof and recurring-service offers supplied by CareOn. */
.hero-promise{margin-top:10px;font-size:15px;font-weight:700;color:var(--green)}
.clients-section{background:var(--green);color:var(--paper)}
.clients-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:center}
.clients-section .eyebrow{color:#b8c8a9}
.clients-count{display:flex;align-items:baseline;flex-wrap:wrap;gap:16px;margin-top:30px}
.clients-count>strong{font-size:86px;line-height:1.1;font-weight:900;letter-spacing:-.05em;color:#e8d0a2;font-variant-numeric:tabular-nums}
.clients-count>span{font-size:20px;font-weight:700}
.clients-message{font-size:17px;line-height:1.75;color:#c7d1c4;margin-top:22px}
.clients-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));list-style:none;margin:0;padding:0;gap:0 26px}
.clients-list li{display:flex;min-height:100px;flex-direction:column;justify-content:center;gap:5px;padding:23px 0;border-bottom:1px solid #f5f6ee30}
.clients-list li:first-child{grid-column:1/-1}
.clients-list strong{font-size:20px;line-height:1.55;font-weight:700;letter-spacing:-.03em}
.clients-list span{font-size:15px;color:#c7d1c4}
.clients-more{margin-top:26px;font-size:17px;color:#e8d0a2;font-weight:700}
.promise-block{grid-template-columns:1.1fr 1fr;align-items:start;border-left:4px solid #637d53;background:#edf1e8;gap:45px}
.promise-block h3{font-size:30px;font-weight:900;line-height:1.5;letter-spacing:-.04em}
.promise-copy>p{font-size:17px;color:var(--muted);line-height:1.75;margin-top:15px}
.promise-copy>.promise-terms{margin-top:0;color:var(--ink);font-size:21px}
.promise-terms strong{font-weight:900;color:var(--green)}
.promise-copy>.promise-detail{font-size:14px;margin-top:18px}
.plans-section{background:var(--soft)}
.plans-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}
.plan{display:flex;flex-direction:column;padding:30px 26px;background:var(--paper);border:1px solid var(--line);border-top:4px solid #b8a06c;min-width:0}
.plan-diamond{border-top-color:#7d9694}
.plan-platinum{border:2px solid #58704d;border-top-width:4px;background:#f8faf4}
.plan-top{display:flex;gap:10px;align-items:center;justify-content:space-between;min-height:30px}
.plan-tier{font-size:13px;letter-spacing:.1em;font-weight:700;color:#79633c}
.plan-diamond .plan-tier{color:#476c70}.plan-platinum .plan-tier{color:#4f6942}
.plan-max{font-size:12px;line-height:1.4;font-weight:700;color:white;background:var(--green);padding:6px 9px}
.plan h3{font-size:30px;font-weight:900;line-height:1.3;margin-top:20px;letter-spacing:-.04em}
.plan-benefit-label{font-size:15px;font-weight:800;color:var(--green);line-height:1.45}
.plan>.plan-benefit-label{margin:20px 0 0}
.plan-benefits{list-style:none;padding:0;margin:10px 0 24px;flex:1}
.plan-benefits li{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px;position:relative;padding:14px 0 14px 21px;border-top:1px solid var(--line);font-size:17px;line-height:1.6}
.plan-benefits li:before{content:'✓';position:absolute;left:0;color:#617552;font-weight:700}
.plan-benefits li>strong{white-space:nowrap;font-weight:900}
.plan-discount{margin-bottom:24px;padding-top:13px;border-top:1px solid var(--line)}
.plan-discount p{margin-top:5px;font-size:16px;line-height:1.6}
.plan .button{width:100%;font-size:16px;padding-left:12px;padding-right:12px;gap:18px}
.schedule-panel{display:grid;grid-template-columns:.7fr 1.3fr;gap:55px;align-items:start;margin-top:50px;padding-top:38px;border-top:1px solid #bfc8b7}
.schedule-heading .eyebrow{margin-bottom:15px}
.schedule-heading h3{font-size:27px;font-weight:900;line-height:1.5}
.schedule-panel dl{margin:0}
.schedule-panel dl>div{display:grid;grid-template-columns:95px minmax(0,1fr);gap:20px;padding:17px 0;border-bottom:1px solid var(--line);font-size:18px;line-height:1.65}
.schedule-panel dl>div:first-child{padding-top:0}
.schedule-panel dt{font-weight:700}
.schedule-panel dd{margin:0;color:var(--muted)}
@media(max-width:1000px){
 .clients-layout{gap:35px}.clients-list{column-gap:19px}.clients-list strong{font-size:18px}.clients-count>strong{font-size:72px}
 .promise-block{gap:25px}.promise-block h3{font-size:27px}
 .plans-grid{gap:15px}.plan{padding:24px 20px}.plan-top{flex-wrap:wrap}.plan-benefits li{font-size:16px}.plan .button{font-size:14px;gap:10px}
 .schedule-panel{gap:35px;grid-template-columns:.8fr 1.2fr}.schedule-panel dl>div{gap:14px;font-size:17px}
}
@media(max-width:700px){
 .clients-layout{grid-template-columns:1fr;gap:31px}.clients-count{margin-top:25px}.clients-count>strong{font-size:76px}.clients-count>span{font-size:19px}.clients-message{margin-top:16px;font-size:17px}
 .clients-list li{min-height:90px;padding:20px 0}.clients-list strong{font-size:17px}.clients-list span{font-size:14px}.clients-more{font-size:17px;margin-top:24px}
 .plans-grid{grid-template-columns:1fr;gap:22px}.plan{padding:27px 25px}.plan-top{min-height:28px}.plan-tier{font-size:14px}.plan-max{font-size:13px}.plan h3{font-size:29px;margin-top:18px}
 .plan-benefits li{font-size:18px;padding-top:15px;padding-bottom:15px}.plan .button{font-size:17px;gap:20px}
 .schedule-panel{display:block;margin-top:35px;padding-top:30px}.schedule-heading h3{font-size:25px}.schedule-heading h3 br{display:none}.schedule-panel dl{margin-top:25px}.schedule-panel dl>div{grid-template-columns:77px minmax(0,1fr);gap:16px;font-size:17px}
}
@media(max-width:640px){
 .hero-promise{font-size:14px;line-height:1.7;margin-top:9px}
 .clients-section h2{font-size:30px;line-height:1.4}
 .promise-block{padding:28px 22px}.promise-block h3{font-size:26px;line-height:1.5}.promise-block h3 br{display:none}
 .promise-copy{margin-top:24px}.promise-copy>.promise-terms{font-size:22px}.promise-copy>p{font-size:17px}.promise-copy>.promise-detail{font-size:14px}
 .mobile-call>div>span{font-size:11px;white-space:nowrap}
}
@media(max-width:370px){
 .clients-list{grid-template-columns:1fr}.clients-list li:first-child{grid-column:auto}.clients-list li{min-height:78px}
 .promise-block h3{font-size:24px}.promise-copy>.promise-terms{font-size:21px}.plan{padding:25px 21px}.plan-benefits li{font-size:17px}.plan .button{font-size:16px}
 .schedule-panel dl>div{grid-template-columns:1fr;gap:5px}
 .mobile-call>div>span{font-size:10px}
}
.promise-block{color:var(--ink)}
.promise-block .eyebrow{color:#57704c}
.promise-block h3{color:var(--ink)}
