/* Buyer-first composition. Existing brand typography and real imagery retained. */
.home-page .hero { min-height:0; height:auto; }
.home-page .hero-visual { position:absolute; inset:0; height:100%; }
.home-page .hero-sequence { margin-top:0; }
.home-page .hero-panel { min-height:0; height:auto; padding:150px 5.5vw 88px; }
.home-page .hero h1 { font-size:clamp(2.65rem,5.6vw,5.8rem); line-height:1.25; letter-spacing:-.045em; max-width:18ch; }
.buyer-kicker { font:600 16px/1.6 var(--font-ko); color:#ead79c; margin:0 0 24px; letter-spacing:.02em; }
.home-page .hero-purpose { font-size:clamp(17px,1.4vw,21px); max-width:40rem; line-height:1.75; }
.buyer-actions { display:flex; flex-wrap:wrap; gap:16px 28px; align-items:center; margin-top:32px; }
.buyer-actions a { display:inline-flex; min-height:52px; align-items:center; padding:12px 0; font:600 17px/1.5 var(--font-ko); }
.buyer-actions .buyer-primary { padding:14px 24px; background:#ead79c; color:#101b1b; border-radius:4px; }
.buyer-trust { display:grid; grid-template-columns:1fr 1fr; gap:6vw; background:#f1ece5; color:#182222; }
.buyer-trust h2,.buyer-process h2 { font:500 clamp(2rem,3.6vw,3.5rem)/1.4 var(--font-serif-ko); letter-spacing:-.04em; margin:20px 0; word-break:keep-all; }
.buyer-trust p:not(.label),.buyer-process p { font:400 18px/1.8 var(--font-ko); max-width:42rem; margin:0 0 20px; }
.buyer-trust a { display:inline-flex; align-items:center; min-height:48px; margin-right:28px; font:600 17px/1.6 var(--font-ko); text-decoration:underline; text-underline-offset:6px; }
.buyer-process { background:#f8f5ef; color:#182222; }
.buyer-process ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; list-style:none; padding:0; margin:36px 0 0; counter-reset:step; }
.buyer-process li { counter-increment:step; border-top:1px solid #bdb7ae; padding-top:24px; }
.buyer-process li::before { content:'0' counter(step); font:500 18px/1.6 var(--font-sans); color:#751c3a; }
.buyer-process h3 { font:600 22px/1.5 var(--font-ko); margin:16px 0; }
.about-opening { padding-top:150px; background:#0b1718; color:#f6f0e8; }
.about-opening h1 { font:500 clamp(2.5rem,5vw,5rem)/1.3 var(--font-serif-ko); margin:24px 0; }
.about-opening>p:last-child { font:400 19px/1.8 var(--font-ko); color:#ead79c; }
.about-page .founder-story { margin-top:24px; }
.about-page .founder-story[open] summary { margin-bottom:24px; }
.home-page .service-description dd { font-size:17px; }
.home-page .service-enquiry-link { display:inline-flex; align-items:center; min-height:48px; margin-top:12px; }
@media(max-width:760px) {
 .home-page .hero-panel { padding:112px 22px 56px; }
 .home-page .hero h1 { font-size:clamp(2.3rem,9.4vw,3.3rem); line-height:1.3; max-width:none; }
 .buyer-kicker { font-size:14px; margin-bottom:22px; }
 .home-page .hero-purpose { font-size:17px; margin-top:24px; }
 .buyer-actions { display:grid; grid-template-columns:1fr; width:100%; gap:4px; margin-top:28px; }
 .buyer-actions a { justify-content:center; }
 .buyer-trust { grid-template-columns:1fr; gap:16px; }
 .buyer-process ol { grid-template-columns:1fr; gap:26px; }
 .buyer-process h3 { font-size:21px; margin:10px 0; }
 .buyer-trust p:not(.label),.buyer-process p { font-size:17px; }
 .home-page .offers-head h2 { font-size:clamp(2rem,8vw,2.8rem); }
 .home-page .service-heading h3 { font-size:clamp(1.75rem,7vw,2.3rem); }
 .home-page .service-evidence strong { font-size:1em; }
 .about-opening { padding-top:112px; }
 .about-page .founder-photo { height:auto; min-height:0; background:transparent; }
 .about-page .founder-photo img { display:block; width:100%; height:auto; max-height:none; }
}
@media(prefers-reduced-motion:reduce) { .home-page .hero h1 { animation:none; } }
.legacy-anchor { position:absolute; }
.community-route { display:flex; justify-content:space-between; align-items:center; gap:30px; background:#e6ddd2; color:#182222; padding-top:48px; padding-bottom:48px; }
.community-route h2 { font:500 clamp(1.6rem,2.5vw,2.5rem)/1.5 var(--font-serif-ko); margin:14px 0 0; }
.community-route>a { flex-shrink:0; padding:12px 0; min-height:48px; font:600 17px/1.6 var(--font-ko); text-decoration:underline; text-underline-offset:6px; }
.home-page .site-footer { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:28px; padding-top:44px; padding-bottom:44px; }
.home-page .footer-logo { width:160px; margin:0; }
.home-page .footer-logo img { width:100%; }
.home-page .footer-about { font-size:17px; min-height:48px; display:flex; align-items:center; }
.home-page .footer-meta { width:100%; }
@media(max-width:760px) { .community-route { display:block; } .community-route>a { display:inline-flex; margin-top:20px; } }
.home-page .hero h1 { word-break:keep-all; overflow-wrap:normal; }
@media(max-width:760px) { .buyer-actions>a:not(.buyer-primary) { display:none; } }
