/* R7 · Clear proposition, paired services, one expansive product scene. */
.page-home{--home-canvas:#fafaf7;--home-rule:#dedfd8;--home-gutter:max(4vw,calc((100vw - 1440px)/2));background:var(--home-canvas);color:#202420}
.page-home .header{padding:21px var(--home-gutter);background:var(--home-canvas);border-color:var(--home-rule);min-height:82px}
.page-home .header .logo{width:104px}
.page-home .button{border-radius:2px;gap:25px;padding:14px 22px}
.page-home .button.small{padding:10px 17px}
.page-home .text-link{font-size:14px;line-height:1.5;padding-bottom:6px;border-bottom:1px solid #8c968a;gap:23px}
.page-home .eyebrow{font-size:12px;font-weight:550;letter-spacing:.1em;color:#47624f;margin:0}
.home-hero{padding:73px var(--home-gutter) 0}
.hero-intro{display:grid;grid-template-columns:1.38fr 1fr;gap:52px;align-items:start;margin-bottom:55px}
.page-home .hero-intro h1{font-size:clamp(48px,5.5vw,83px);line-height:1.04;letter-spacing:-.045em;text-wrap:initial}
html[lang=ko] .page-home .hero-intro h1{font-size:clamp(42px,4.7vw,69px);line-height:1.32;letter-spacing:-.055em}
.hero-description{padding-top:8px;max-width:440px}
.hero-description p{font-size:17px;line-height:1.8;color:#555e55}
.hero-actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap;margin-top:28px}
.hero-actions .text-link{margin:0}
.hero-panorama{margin:0;width:100%;aspect-ratio:3.08/1;overflow:hidden;background:#264c3e}
.hero-panorama img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 57%}
.home-approach{display:grid;grid-template-columns:180px minmax(0,1fr);gap:48px;padding:80px var(--home-gutter) 88px;border-bottom:1px solid var(--home-rule)}
.approach-label{padding-top:8px}
.home-approach-content{display:grid;grid-template-columns:1.06fr 1fr;gap:48px;align-items:start}
.page-home .home-approach h2{font-size:clamp(29px,2.8vw,42px);line-height:1.16;letter-spacing:-.035em;text-wrap:initial}
html[lang=ko] .page-home .home-approach h2{font-size:clamp(26px,2.4vw,35px);line-height:1.5;letter-spacing:-.04em}
.home-approach-content p{font-size:16px;line-height:1.85}
.home-approach-content .text-link{margin-top:20px}
.home-services{padding:88px var(--home-gutter) 95px;background:#fff}
.home-section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:25px;margin-bottom:48px}
.page-home .home-section-heading h2{font-size:clamp(34px,3.8vw,54px);line-height:1.15}
html[lang=ko] .page-home .home-section-heading h2{font-size:clamp(32px,3.1vw,45px);line-height:1.4}
.services-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
.service-story{display:flex;flex-direction:column;min-width:0;border-top:1px solid #bfc7be}
.story-copy{padding:28px 4px 33px;display:flex;flex-direction:column;align-items:flex-start;flex:1}
.story-category{font-size:12px;color:#4b6856;letter-spacing:.07em;margin-bottom:16px}
.bookkeeping-story .story-category{color:#85661d}
.story-copy h3{font-family:var(--serif);font-size:clamp(29px,2.5vw,36px);line-height:1.17;font-weight:400;letter-spacing:-.035em}
html[lang=ko] .story-copy h3{font-family:Wanted,Arial,sans-serif;font-size:27px;line-height:1.4;font-weight:450;letter-spacing:-.045em}
.story-copy p{font-size:16px;line-height:1.8;margin:20px 0 23px;max-width:440px}
.story-copy .text-link{margin-top:auto}
.story-media{height:460px;margin:0;overflow:hidden}
.consulting-media{background:#274637}
.consulting-media img{width:100%;height:100%;object-fit:cover;object-position:60% 57%;display:block;transition:transform .7s ease}
@media(hover:hover){.consulting-story:hover .consulting-media img{transform:scale(1.025)}}
.finance-stage{padding:24px 28px 0;background:#eeeadd;display:flex;align-items:flex-start;justify-content:center}
.finance-stage .finance-preview{width:100%;max-width:540px;border:1px solid #d8d3c6;border-radius:3px;box-shadow:0 12px 26px #423e1710}
.finance-stage .finance-chrome{padding:12px 19px;gap:12px;border-top-width:2px}
.finance-stage .finance-brand{font-size:22px}
.finance-stage .finance-dot{display:none}
.finance-stage .finance-content{padding:17px 20px 19px}
.finance-stage .finance-title{flex-direction:row;align-items:center;gap:10px}
.finance-stage .finance-title h3{font-size:18px;margin-top:3px;line-height:1.4}
.finance-stage .finance-title>div>small{font-size:12px}
.finance-stage .finance-title .preview-example{padding:3px 5px;font-size:12px;align-self:center}
.finance-stage .cash-summary{padding:17px 0;gap:12px}
.finance-stage .cash-summary strong{font-size:32px}
.finance-stage .cash-change>small{max-width:none;white-space:nowrap}
.finance-stage .cash-chart-heading{padding-top:13px}
.finance-stage .cash-chart svg{max-height:111px}
.finance-stage .cash-chart .cash-plot{max-width:450px;margin:0 auto}
.finance-stage .cash-reconciliation,.finance-stage .review-heading,.finance-stage .close-review-row,.finance-stage .finance-footer{display:none}
.home-product{padding:94px var(--home-gutter) 91px}
.product-intro{display:grid;grid-template-columns:1.12fr 1fr;gap:80px;align-items:end;margin-bottom:43px}
.product-intro .eyebrow{margin-bottom:23px}
.page-home .product-intro h2{font-size:clamp(37px,4.1vw,60px);line-height:1.1;text-wrap:initial}
html[lang=ko] .page-home .product-intro h2{font-size:clamp(34px,3.5vw,50px);line-height:1.4}
.product-description{max-width:460px}
.product-description p{font-size:17px;line-height:1.8}
.product-description .text-link{margin-top:22px}
.stocktor-stage{padding:46px 46px 0;background:linear-gradient(100deg,#1d382bab,#1c3c2a40),url('/assets/architectural-glass.webp') center 55%/cover;overflow:hidden}
.stocktor-stage .inventory-preview{border-radius:4px 4px 0 0;border-color:#ced6c9;box-shadow:0 12px 52px #10291e32}
.stocktor-stage .preview-chrome{background:#fff;padding-top:17px;padding-bottom:17px}
.stocktor-stage .inventory-foot{padding-bottom:23px}
.product-caption{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding-top:17px}
.product-caption>span{font-size:14px;font-weight:500;color:#345440}
.product-caption p{font-size:12px;line-height:1.7;color:#72796d}
.page-home .closing{padding:63px var(--home-gutter) 69px;background:#243f32;color:#fff;gap:24px}
.page-home .closing small{color:#becab7;font-size:12px;letter-spacing:.08em}
.page-home .closing h2{font-size:clamp(35px,3.7vw,53px);line-height:1.13}
html[lang=ko] .page-home .closing h2{font-size:clamp(30px,3.1vw,44px);line-height:1.4}
.page-home .closing .button{background:#f6f7ef;border-color:#f6f7ef;color:#213d2e}
.page-home .closing .button:hover{background:#e9eddd}
.page-home footer{padding:46px var(--home-gutter) 24px;background:var(--home-canvas);border-color:var(--home-rule)}
.page-approach .foundation-hero,.page-approach .foundation-practice{background:var(--paper)}
@media(max-width:1180px){
 .hero-intro{gap:38px;grid-template-columns:1.28fr 1fr}
 .home-approach{grid-template-columns:130px minmax(0,1fr);gap:32px}
 .home-approach-content{gap:32px}.product-intro{gap:48px}
 .stocktor-stage{padding:32px 30px 0}
 .stocktor-stage .inventory-workspace{grid-template-columns:minmax(0,1fr)205px}
 .stocktor-stage .inventory-nav{display:none}
 .story-media{height:450px}.finance-stage{padding:20px 17px 0}
}
@media(max-width:900px){
 .hero-intro{grid-template-columns:1.1fr 1fr;gap:28px}
 html[lang=ko] .page-home .hero-intro h1{font-size:40px}
 .hero-actions{gap:17px}.hero-actions .button{padding:12px 18px}
 .home-approach{grid-template-columns:1fr;gap:25px;padding-top:58px;padding-bottom:60px}
 .home-approach-content{grid-template-columns:1fr 1fr;gap:36px}
 .finance-stage{padding:15px 12px 0}
 .finance-stage .finance-chrome>span:nth-child(2){display:none}
 .finance-stage .finance-title{align-items:flex-start;flex-direction:column}
 .finance-stage .finance-title .preview-example{align-self:flex-start}
 .finance-stage .cash-change{display:none}.services-grid{gap:25px}
}
@media(max-width:760px){
 .page-home{--home-gutter:6vw}
 .page-home .header{padding-top:19px;padding-bottom:19px;min-height:76px;gap:25px}
 .page-home .header .logo{width:98px}
 .home-hero{padding-top:44px}.hero-intro{grid-template-columns:1fr;gap:25px;margin-bottom:32px}
 .page-home .hero-intro h1{font-size:clamp(39px,9.5vw,66px);line-height:1.06;letter-spacing:-.04em}
 html[lang=ko] .page-home .hero-intro h1{font-size:clamp(34px,8.4vw,48px);line-height:1.38;letter-spacing:-.055em}
 .hero-description{padding:0;max-width:530px}.hero-description p{font-size:16px;line-height:1.85}
 .hero-actions{margin-top:24px;gap:24px}.hero-actions .button{padding:13px 20px}
 .hero-panorama{aspect-ratio:1.5/1}.hero-panorama img{object-position:60% center}
 .home-approach{padding-top:44px;padding-bottom:50px;gap:21px}.approach-label{padding:0}
 .home-approach-content{grid-template-columns:1fr;gap:20px}
 .page-home .home-approach h2{font-size:32px;line-height:1.14}
 html[lang=ko] .page-home .home-approach h2{font-size:28px;line-height:1.48}
 .home-approach-content p{font-size:16px}.home-approach-content .text-link{margin-top:19px}
 .home-services{padding-top:51px;padding-bottom:56px}
 .home-section-heading{display:block;margin-bottom:32px}.home-section-heading .eyebrow{margin-bottom:18px}
 .page-home .home-section-heading h2{font-size:34px}
 html[lang=ko] .page-home .home-section-heading h2{font-size:29px}
 .services-grid{grid-template-columns:1fr;gap:39px}.story-copy{padding:24px 0 27px}.story-category{margin-bottom:14px}
 .story-copy h3{font-size:29px}html[lang=ko] .story-copy h3{font-size:25px}
 .story-copy p{margin:16px 0 21px}.story-media{height:auto;min-height:0}
 .consulting-media{aspect-ratio:1.4/1}.finance-stage{padding:20px}
 .finance-stage .finance-title{flex-direction:row;align-items:center}
 .finance-stage .finance-title .preview-example{align-self:center}
 .finance-stage .finance-title h3{font-size:17px}.finance-stage .finance-content{padding:17px 16px 20px}
 .finance-stage .cash-summary strong{font-size:31px}.finance-stage .cash-change{display:block}
 .finance-stage .cash-change>small{white-space:normal}
 .home-product{padding-top:53px;padding-bottom:50px}
 .product-intro{grid-template-columns:1fr;gap:23px;margin-bottom:30px}.product-intro .eyebrow{margin-bottom:18px}
 .page-home .product-intro h2{font-size:37px}html[lang=ko] .page-home .product-intro h2{font-size:31px}
 .product-description p{font-size:16px}.product-description .text-link{margin-top:20px}
 .stocktor-stage{padding:14px 12px 0}.stocktor-stage .inventory-workspace{grid-template-columns:minmax(0,1fr)}
 .stocktor-stage .inventory-main{padding:20px 15px 0}.stocktor-stage .preview-chrome{padding:13px 15px}
 .stocktor-stage .valuation-detail{padding:20px 15px}.product-caption{display:block;padding-top:13px}.product-caption p{margin-top:5px}
 .page-home .closing{padding-top:45px;padding-bottom:49px}.page-home .closing h2{font-size:36px}
 html[lang=ko] .page-home .closing h2{font-size:29px}.page-home footer{padding-top:35px;padding-bottom:22px}
}
@media(max-width:380px){.finance-stage{padding:15px}.finance-stage .cash-change{display:none}.finance-stage .finance-title{align-items:flex-start;flex-direction:column}.finance-stage .finance-title .preview-example{align-self:flex-start}}
@media(prefers-reduced-motion:reduce){.consulting-media img{transition:none}}

/* R24: a concise introduction to the ontology; full detail lives on Approach. */
.ontology-brief{grid-column:1/-1;display:grid;grid-template-columns:1fr 1.05fr 1fr;align-items:center;margin-top:38px;border-block:1px solid #dce2d6;padding:26px 0;gap:30px;text-align:center}
.ontology-brief>div{min-width:0;padding:16px 12px}
.ontology-brief span{display:block;font-size:12px;letter-spacing:.06em;color:#607463}
.ontology-brief p{font-size:15px;line-height:1.7;color:#345746;margin:10px 0 0}
.ontology-brief-core{background:#285a4c;color:#fff}
.ontology-brief-core span{color:#cdded4}
.ontology-brief-core strong{display:block;margin-top:9px;font-size:25px;font-weight:500;letter-spacing:-.03em}
.home-services .story-copy .service-intent{font-size:15px;font-weight:500;color:#285a4c;line-height:1.6;margin:14px 0 16px}
.home-services .bookkeeping-story .service-intent{color:#8a701c}
.case-task{padding-bottom:20px;margin-bottom:22px;border-bottom:1px solid #dce2d6}
.case-task span{display:block;font-size:12px;letter-spacing:.06em;margin-bottom:8px;color:#667b67}
.case-detail .case-task p{font-size:18px;color:#2d4939;line-height:1.7;margin:0}
.context-example-flow{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin:38px 0 0;padding:0}
.context-example-flow li{border-top:1px solid #a8b6a9;padding:24px 0}
.context-example-flow span{font-size:12px;color:#657664;letter-spacing:.05em}
.context-example-flow h3{font-size:23px;font-weight:500;line-height:1.5;margin:18px 0 12px}
.context-example-flow p{font-size:16px;color:#65705f;line-height:1.8}
.context-example-note{font-size:13px;color:#737b70;margin:12px 0 0;line-height:1.8}
.copy-inquiry{margin:18px 0 0;background:none;border:0;border-bottom:1px solid currentColor;color:#285a4c;justify-self:start;cursor:pointer;font:inherit;padding:5px 0}
@media(max-width:800px){.ontology-brief{gap:14px;grid-template-columns:1fr;margin-top:25px;padding:20px 0}.ontology-brief>div{padding:10px}.ontology-brief-core{padding:22px 16px!important}.ontology-brief p{margin-top:7px}.context-example-flow{grid-template-columns:1fr;gap:0}.context-example-flow li{padding:22px 0}.case-detail .case-task p{font-size:17px}}
