/* Editorial rhythm and geometry. No imagery, external fonts or motion libraries. */
:root { --paper: #edf2f5; --steel-deep: #36566b; --motion-ease: cubic-bezier(.2,.7,.2,1); }
:focus-visible { outline: 3px solid #dc510d; outline-offset: 5px; }
section[id], main[id] { scroll-margin-top: 100px; }
.site-shell { overflow: clip; }
.site-header { background: var(--paper); backdrop-filter: none; }
.header-inner { min-height: 88px; }
.brand-mark { background: var(--orange); color: var(--ink); border-radius: 50%; }
.brand-name { letter-spacing: -.025em; font-size: 1.3rem; }
.brand-tag { font-size: .75rem; letter-spacing: .07em; }
.primary-nav a { font-size: .875rem; letter-spacing: .02em; text-transform: none; }
.header-cta { border-radius: 30px; padding-inline: 26px !important; }
.primary-nav li { position: relative; }
.primary-nav li:not(:last-child)::after { content: ''; position: absolute; height: 2px; background: var(--orange); bottom: -5px; left: 0; width: 100%; transform: scaleX(0); transform-origin: left; transition: transform .3s ease; }
.primary-nav li:hover::after, .primary-nav li:focus-within::after { transform: scaleX(1); }
.hero { min-height: 760px; background: var(--steel-deep); overflow: hidden; }
.hero::after { display: none; }
.hero-inner { padding-block: 74px 32px; }
.hero h1 { position: relative; max-width: 850px; font-size: clamp(4.5rem, 10vw, 9rem); line-height: 1.04; letter-spacing: -.065em; font-weight: 800; text-transform: none; }
.headline-line { display: block; width: fit-content; }
.hero h1 strong { margin-left: clamp(0px, 7vw, 100px); color: #ff965e; }
.eyebrow { font-size: .875rem; letter-spacing: .12em; }
.hero-lead { position: relative; max-width: 470px; font-size: 1.125rem; margin-top: 26px; }
.hero-actions { margin-top: 28px; }
.button { min-height: 54px; padding-inline: 26px; border-radius: 32px; text-transform: none; letter-spacing: 0; font-size: 1rem; }
.button-primary, .header-cta { background: #cc460d; }
.button-primary:hover, .header-cta:hover { background: #ac3707; }
.button-secondary { border: 0; border-bottom: 1px solid #a7bac6; border-radius: 0; padding-inline: 4px; margin-left: 15px; }
.hero-facts { margin-top: 50px; max-width: 750px; }
.hero-fact strong { font-size: 1.05rem; }
.hero-fact span { font-size: .875rem; letter-spacing: .025em; text-transform: none; }
.scroll-cue { display: flex; width: fit-content; align-items: center; gap: 18px; margin-top: 28px; color: #d8e3e9; font-size: .875rem; text-decoration: none; }
.scroll-cue span { display: grid; place-items: center; border: 1px solid #9eb5c3; width: 32px; height: 32px; border-radius: 50%; transition: transform .25s ease; }
.scroll-cue:hover span { transform: translateY(4px); }
.hero-orbit { position: absolute; width: min(58vw, 810px); aspect-ratio: 1; right: -16%; top: 80px; pointer-events: none; }
.hero-orbit span { position: absolute; inset: 0; border: 55px solid #658399; border-radius: 50%; }
.hero-orbit span:nth-child(2) { inset: 21%; border: 2px solid #a6bbc9; }
.hero-orbit span:nth-child(3) { inset: 36%; background: var(--orange); border: 0; border-radius: 16px 50% 50% 50%; }
.hero-orbit::after { content: ''; position: absolute; width: 55px; height: 55px; top: 10%; left: 9%; background: #f7a678; border-radius: 50%; }
.section { padding-block: clamp(72px, 9vw, 140px); }
.section-head { grid-template-columns: 1.2fr .8fr; align-items: end; gap: 10%; margin-bottom: 56px; }
.section-label { font-size: .875rem; letter-spacing: .08em; margin-bottom: 18px; }
.section-title, .about-copy h2 { font-size: clamp(2.6rem, 5.1vw, 4.8rem); text-transform: none; line-height: 1.09; letter-spacing: -.055em; }
.section-intro { max-width: 420px; font-size: 1.0625rem; }
.services-grid { display: block; border: 0; }
.service-card { position: relative; min-height: 0; display: grid; grid-template-columns: .2fr 1fr 1fr; gap: 36px; align-items: start; padding: 35px 0; border: 0; border-top: 1px solid var(--line); transition: background .35s ease, padding .35s ease; }
.service-card:last-child { border-bottom: 1px solid var(--line); }
.service-number { display: block; width: auto; height: auto; background: none; color: var(--steel); font-size: .875rem; padding-top: 4px; }
.service-card h3 { margin: 0; font-size: clamp(1.4rem, 2.3vw, 2rem); text-transform: none; line-height: 1.18; letter-spacing: -.035em; }
.service-card p { max-width: 440px; }
.text-link { display: flex; gap: 45px; align-items: center; width: fit-content; margin-top: 34px; padding-bottom: 8px; border-bottom: 1px solid var(--ink); text-decoration: none; font-weight: 700; }
.text-link span { font-size: 1.6rem; transition: transform .25s ease; }
.text-link:hover span { transform: translate(3px,-3px); }
#par-mums { position: relative; border-top-right-radius: clamp(60px, 12vw, 180px); background: #dbe5eb; }
.about-grid { align-items: start; grid-template-columns: 1.2fr .8fr; gap: 9%; }
.about-copy { position: sticky; top: 130px; }
.about-copy p { max-width: 510px; }
.principles { gap: 0; counter-reset: principle; padding-top: 36px; }
.principle { position: relative; box-shadow: none; border: 0; border-top: 1px solid #aabecb; border-radius: 0; padding: 30px 0; background: transparent; }
.about-grid .principle { padding-left: 45px; }
.about-grid .principle::before { counter-increment: principle; content: '0' counter(principle); position: absolute; left: 0; top: 31px; color: var(--steel); font-size: .875rem; }
.principle strong { text-transform: none; font-size: 1.2rem; letter-spacing: -.02em; }
.principle span { margin-top: 12px; }
.about-grid .principle:nth-child(2) { margin-left: 24px; }
.about-grid .principle:nth-child(3) { margin-left: 48px; }
.cta { position: relative; background: var(--ink); border-top-left-radius: clamp(40px, 8vw, 120px); margin-top: -1px; }
.cta-inner { grid-template-columns: 1fr auto; gap: 60px; }
.cta h2 { text-transform: none; font-size: clamp(3rem, 6.6vw, 6.2rem); line-height: 1.08; max-width: 760px; }
.cta h2 em { display: block; color: #ff965e; }
.contact-disc { width: 230px; aspect-ratio: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; border-radius: 50%; color: var(--ink); background: #f98240; text-decoration: none; font-size: 1rem; font-weight: 800; transition: border-radius .5s var(--motion-ease), background .3s ease; }
.contact-disc span { font-size: 5rem; line-height: 1.2; font-weight: 400; transition: transform .4s ease; }
.contact-disc:hover { border-radius: 35%; background: #ffa16a; }
.contact-disc:hover span { transform: translate(5px,-5px); }
.site-footer { background: var(--ink); border-top: 1px solid #3a4c58; padding-block: 36px; }
.content-area { position: relative; padding-block: 80px 120px; }
.content-area::before { content: ''; display: block; width: 90px; height: 12px; background: var(--orange); border-radius: 20px; margin-bottom: 36px; }
.content-area .entry { max-width: 960px; }
.entry-title { font-size: clamp(3rem, 7vw, 6.5rem); line-height: 1.08; letter-spacing: -.055em; margin-top: 15px; }
.fallback-content > p { max-width: 630px; font-size: 1.125rem; }
.fallback-content .principles { padding: 0; }
.fallback-content .principle { padding: 32px 0; }
.fallback-content h2 { font-size: clamp(1.5rem, 3vw, 2.2rem); letter-spacing: -.035em; }
.fallback-content .principle p { max-width: 650px; }
.admin-bar .site-header { top: 32px; }
@media (hover: hover) {
 .service-card:hover { background: #edf2f5; padding-inline: 18px; }
}
@media (max-width: 1000px) {
 .hero-orbit { right: -30%; opacity: .42; }
 .hero h1 { max-width: 750px; }
 .contact-disc { width: 180px; }
}
@media (max-width: 860px) {
 .primary-nav { top: 88px; }
 .primary-nav ul { gap: 8px; }
 .primary-nav a { font-size: 1.125rem; padding: 10px 0; }
 .hero { min-height: 0; }
 .hero-inner { padding-block: 65px 35px; }
 .hero-orbit { width: 620px; top: -45px; right: -440px; opacity: .3; }
 .hero h1 { font-size: clamp(4rem, 12vw, 7rem); }
 .hero-facts { grid-template-columns: repeat(3, 1fr); }
 .hero-fact { padding-right: 12px; border-bottom: 0; }
 .section-head, .about-grid { grid-template-columns: 1fr; gap: 28px; }
 .service-card { grid-template-columns: 40px 1fr; gap: 12px 20px; }
 .service-card p { grid-column: 2; }
 .about-copy { position: static; }
 .about-grid .principles { padding-top: 0; }
 .cta-inner { grid-template-columns: 1fr; gap: 38px; }
 .contact-disc { width: 150px; }
 .contact-disc span { font-size: 3.8rem; }
}
@media (max-width: 782px) { .admin-bar .site-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .site-header { top: 0; } }
@media (max-width: 560px) {
 .container { width: calc(100% - 36px); }
 .hero h1 { font-size: clamp(3.1rem, 14.5vw, 5rem); }
 .hero h1 strong { margin-left: 14px; }
 .hero-actions { align-items: flex-start; }
 .button { width: auto; max-width: 100%; }
 .button-secondary { margin-left: 0; }
 .hero-facts { grid-template-columns: 1fr 1fr; gap: 15px; }
 .hero-fact:last-child { grid-column: 1 / -1; padding-top: 0; }
 .hero-fact { padding-block: 15px 0; }
 .service-card { column-gap: 8px; }
 .section-title, .about-copy h2 { font-size: 2.6rem; overflow-wrap: anywhere; }
 .about-grid .principle:nth-child(n) { margin-left: 0; }
 .cta h2 { font-size: 3.1rem; }
 .entry-title { overflow-wrap: anywhere; }
 .primary-nav .header-cta { width: fit-content; }
}
@media (prefers-reduced-motion: reduce) {
 *, *::before, *::after { animation: none !important; transition: none !important; }
}
