/* R11 · One architectural opening, quiet navigation, a continuous green close. */
:root{--site-gutter:max(5vw,calc((100vw - 1440px)/2));--footer-green:#183e32;--footer-rule:#426054}
.page-home{--home-gutter:var(--site-gutter)}
.header,.page-home .header{position:sticky;top:0;z-index:100;display:grid;grid-template-columns:1fr auto 1fr;gap:32px;min-height:80px;padding:17px var(--site-gutter);background:#fafaf7;border-bottom:1px solid #dedfd8}
.header>a{justify-self:start}
.header .logo,.page-home .header .logo{width:108px}
.header .primary-nav{align-items:center;gap:34px;font-size:14px}
.primary-nav>a,.services-nav>summary{position:relative;padding:10px 0;font-size:14px;line-height:1.5}
.primary-nav>a::after,.services-nav>summary::after{content:'';position:absolute;left:0;bottom:3px;width:100%;height:1px;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform .18s}
.primary-nav>a:hover::after,.primary-nav>a[aria-current]::after,.services-nav[open]>summary::after,.services-nav.active-section>summary::after{transform:scaleX(1)}
.header .nav-end{justify-self:end;margin:0;gap:25px}
.header .button.small,.page-home .header .button.small{font-size:14px;line-height:1.5;padding:10px 16px;border-radius:2px;gap:21px}
.header .language{font-size:13px;letter-spacing:.04em;padding:10px 0}
.header .services-menu{top:calc(100% + 18px);left:-25px;width:322px;padding:8px 24px;border:1px solid #dfe4dc;border-top:2px solid var(--green);border-radius:0 0 3px 3px;box-shadow:0 16px 36px #193d3212;background:#fff}
.header .services-menu a{position:relative;padding:23px 0 23px 15px;border-radius:0;background:transparent;border-top:0}
.header .services-menu a+a{border-top:1px solid #e8ece5}
.header .services-menu a::before{content:'';position:absolute;left:0;top:25px;width:2px;height:20px;background:#315c4c}
.header .services-menu a[href$="/bookkeeping/"]::before{background:#c4a02c}
.header .services-menu strong{font-size:16px;line-height:1.45;font-weight:500;color:#263d30}
.header .services-menu span{font-size:13px;line-height:1.6;margin-top:6px;color:#6c7569}
.header .services-menu a:hover strong,.header .services-menu a:focus-visible strong{color:#567352}
.header .services-menu a[aria-current] strong{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.skip:focus{z-index:200}

.home-hero{position:relative;isolation:isolate;min-height:650px;padding:0 var(--home-gutter);display:flex;align-items:center;background:#f5f3ed;overflow:hidden}
.hero-panorama{position:absolute;inset:0;z-index:-2;aspect-ratio:auto;width:100%;height:100%;margin:0}
.hero-panorama img{width:100%;height:100%;object-fit:cover;object-position:center 55%}
.home-hero::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#faf9f4fa 0%,#faf9f4f5 29%,#faf9f4e6 41%,#faf9f480 55%,#faf9f400 72%)}
.hero-intro{display:flex;flex-direction:column;gap:29px;margin:0;padding:91px 0 104px;max-width:610px;width:53%}
.page-home .hero-intro h1{font-size:clamp(52px,5.3vw,78px);line-height:1.07;letter-spacing:-.045em;color:#20372b}
html[lang=ko] .page-home .hero-intro h1{font-size:clamp(42px,4.35vw,67px);line-height:1.35;letter-spacing:-.055em}
.hero-description{padding:0;max-width:440px}
.hero-description p{font-size:17px;line-height:1.85;color:#455449}
.hero-actions{margin-top:29px;gap:26px}
.hero-actions .button{box-shadow:0 5px 12px #143d3210}
.home-approach{background:#fff}

.closing,.page-home .closing{padding:73px var(--site-gutter) 67px;background:var(--footer-green);color:#f5f5ec;gap:22px}
.closing>small,.page-home .closing>small{font-size:12px;line-height:1.5;letter-spacing:.12em;color:#bfcebd}
.closing h2,.page-home .closing h2{font-size:clamp(36px,3.8vw,55px);line-height:1.16;letter-spacing:-.035em;max-width:760px}
html[lang=ko] .closing h2,html[lang=ko] .page-home .closing h2{font-size:clamp(32px,3.3vw,48px);line-height:1.4;letter-spacing:-.045em}
.closing .button,.page-home .closing .button{background:#f1f2e8;border-color:#f1f2e8;color:#244332;min-width:154px;padding:15px 22px;border-radius:2px;margin-bottom:9px}
.closing .button:hover,.page-home .closing .button:hover{background:#e2e8d5;border-color:#e2e8d5}
.closing a:focus-visible{outline-color:#f5e096}
footer.site-footer,.page-home footer.site-footer{display:grid;grid-template-columns:1fr 1.15fr;column-gap:9vw;row-gap:57px;padding:58px var(--site-gutter) 25px;background:var(--footer-green);color:#f1f3e9;border:0;position:relative}
.site-footer::before{content:'';position:absolute;top:0;left:var(--site-gutter);right:var(--site-gutter);border-top:1px solid var(--footer-rule)}
.site-footer .footer-brand .logo{width:184px;filter:brightness(0) invert(1);opacity:.96}
.site-footer .footer-brand p{color:#c9d4c8;font-size:15px;line-height:1.8;margin-top:21px;max-width:300px}
footer.site-footer .footer-navigation{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:35px;align-items:start;justify-content:normal}
.site-footer .footer-group{gap:13px}
.site-footer .footer-group>span{color:#a6bba9;font-size:12px;font-weight:400;letter-spacing:.045em;line-height:1.5;margin-bottom:5px}
.site-footer .footer-group>a{color:#f0f3e8;font-size:14px;line-height:1.7;transition:color .15s}
.site-footer .footer-group>a:hover{color:#e7d48b;text-decoration:underline;text-underline-offset:5px}
.site-footer a:focus-visible{outline-color:#f5e096}
.site-footer .footer-bottom{border-color:var(--footer-rule);padding-top:22px;color:#b9cbbc;font-size:12px;line-height:1.6;gap:20px}

/* Preserve the two intentional headline lines in both languages. */
@media(min-width:761px){
 .page-home .home-hero .hero-intro{width:60%;max-width:720px}
 html[lang=en] .page-home .hero-intro h1{font-size:clamp(42px,5.3vw,78px);white-space:nowrap}
 html[lang=ko] .page-home .hero-intro h1{font-size:clamp(32px,4.35vw,67px);white-space:nowrap}
}
@media(min-width:1600px){.home-hero{min-height:720px}.hero-intro{max-width:630px}}
@media(max-width:1050px) and (min-width:761px){
 .header,.page-home .header{grid-template-columns:auto 1fr auto;gap:26px}.header .primary-nav{justify-content:center;gap:25px}.header .nav-end{gap:19px}
 .home-hero{min-height:580px}.hero-intro{width:57%;padding:75px 0 85px}.hero-description{max-width:390px}.hero-description p{font-size:16px}
 .home-hero::after{background:linear-gradient(90deg,#faf9f4fa 0%,#faf9f4f5 35%,#faf9f4d9 49%,#faf9f430 77%,transparent 100%)}
 .hero-actions{gap:19px}.hero-actions .button{padding:13px 18px}
 footer.site-footer,.page-home footer.site-footer{column-gap:5vw;grid-template-columns:.9fr 1.2fr}.site-footer .footer-brand .logo{width:165px}footer.site-footer .footer-navigation{gap:20px}
}
@media(max-width:760px){
 :root{--site-gutter:6vw}.page-home{--home-gutter:var(--site-gutter)}
 .header,.page-home .header{display:flex;justify-content:space-between;gap:20px;padding:13px var(--site-gutter);min-height:70px}
 .header .logo,.page-home .header .logo{width:100px}.header .primary-nav,.header .nav-end>.desktop{display:none}.header .nav-end{gap:18px}
 .header .mobile-menu>summary{width:36px;height:38px;display:flex;flex-direction:column;justify-content:center;gap:6px;padding:8px 4px;cursor:pointer}
 .header .mobile-menu>summary>span{display:block;width:25px;height:1px;margin:0;background:#254534;transition:transform .15s}
 .header .mobile-menu[open]>summary>span:first-child{transform:translateY(3.5px) rotate(45deg)}
 .header .mobile-menu[open]>summary>span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
 .header .mobile-menu>nav{position:absolute;top:100%;left:0;right:0;max-height:calc(100dvh - 70px);overflow-y:auto;padding:27px var(--site-gutter) 30px;background:#fafaf7;border-bottom:1px solid #d4dcd1;box-shadow:0 18px 28px #193d3212}
 .header .mobile-foundation{font-size:17px}.header .mobile-service-group>span,.header .mobile-product-group>summary{font-size:16px}
 .header .mobile-service-group>a,.header .mobile-product-group>a{font-size:15px}
 .header .mobile-menu a[aria-current]{color:#254d3d;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
 .header .mobile-menu .mobile-contact{font-size:15px;padding:16px 0 0;margin-top:5px;border-top:1px solid #d9e0d5;color:#254d3d}
 .home-hero{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding:0;overflow:visible;background:#f6f5ef}
 .home-hero::after{display:none}
 .hero-intro{padding:46px var(--site-gutter) 38px;gap:24px;max-width:none;width:100%}
 .page-home .hero-intro h1{font-size:clamp(39px,10vw,64px);line-height:1.08}
 html[lang=ko] .page-home .hero-intro h1{font-size:clamp(26px,8.4vw,48px);line-height:1.4;white-space:nowrap}
 .hero-description{max-width:540px}.hero-description p{font-size:16px;line-height:1.8}.hero-actions{margin-top:25px;gap:24px}
 .hero-panorama{position:relative;inset:auto;z-index:auto;width:100%;height:auto;aspect-ratio:1.85/1}.hero-panorama img{object-position:55% 60%}
 .closing,.page-home .closing{padding:43px var(--site-gutter) 37px;grid-template-columns:1fr;gap:20px}
 .closing h2,.page-home .closing h2{font-size:36px;line-height:1.18}
 html[lang=ko] .closing h2,html[lang=ko] .page-home .closing h2{font-size:30px;line-height:1.45}
 .closing .button,.page-home .closing .button{justify-self:start;min-width:0;margin:5px 0 0;padding:13px 20px}
 footer.site-footer,.page-home footer.site-footer{grid-template-columns:1fr;padding:37px var(--site-gutter) 23px;gap:34px}
 .site-footer .footer-brand .logo{width:155px}.site-footer .footer-brand p{font-size:14px;margin-top:13px}
 footer.site-footer .footer-navigation{grid-template-columns:1fr 1.2fr 1fr;gap:15px}
 .site-footer .footer-group{gap:10px}.site-footer .footer-group>span{font-size:12px;margin-bottom:3px}.site-footer .footer-group>a{font-size:13px}
 .site-footer .footer-bottom{display:flex;flex-direction:column;gap:6px;padding-top:19px;font-size:12px}
}
@media(prefers-reduced-motion:reduce){.primary-nav>a::after,.services-nav>summary::after,.site-footer .footer-group>a,.header .mobile-menu>summary>span{transition:none}}

/* Public company information follows the shared footer grid. */
.site-footer .footer-company{grid-column:1/-1;color:#c9d4c8;font-size:12px;line-height:1.9;margin-top:-15px;min-width:0}
.footer-company .company-details{display:flex;flex-wrap:wrap;gap:4px 22px;align-items:baseline}
.footer-company strong{color:#f0f3e8;font-size:13px;font-weight:500}
.footer-company address{font-style:normal;margin:6px 0 2px;overflow-wrap:anywhere}
.footer-company>a{display:inline-block;text-underline-offset:4px}
.footer-company>a:hover{text-decoration:underline}
.site-footer .footer-company+.footer-bottom{margin-top:-33px}
@media(max-width:760px){.site-footer .footer-company{margin-top:0}.footer-company .company-details{display:grid;gap:2px}.site-footer .footer-company+.footer-bottom{margin-top:-12px}}
