/* Kibo 1.2: locally hosted type, readable copy and one primary action. */
@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-vf.woff2') format('woff2');font-style:normal;font-weight:200 800;font-display:swap}
:root{--font:Manrope,Arial,Helvetica,sans-serif;--muted:#4f5948;--text-body:#3e4738}
body[data-view]{font-weight:450;line-height:1.65;font-synthesis:none}
.logo{font-family:Arial,Helvetica,sans-serif;font-weight:800}
.hero h1,.page-intro h1{font-weight:650;letter-spacing:-.035em}
h2{font-weight:650;letter-spacing:-.025em}
h3,.service-card h3,.project-card h3,.step h3,.values-grid h3{font-weight:650;letter-spacing:-.02em}
.hero-intro,.section-heading>p,.page-intro>p:not(.eyebrow),.contact-copy>p:not(.eyebrow){font-size:16px;line-height:1.7;font-weight:450;color:var(--text-body)}
.hero-note{font-size:13px;line-height:1.6;color:var(--muted);max-width:100%}
.hero-copy::after{opacity:.055}
.hero-actions{gap:14px;align-items:stretch}
.hero-actions .button{min-height:56px;padding:14px 22px;gap:18px;font-size:15px;font-weight:650;line-height:1.4;max-width:100%}
.hero-actions .hero-primary{background:var(--ink);color:var(--paper);border:2px solid var(--ink);font-weight:700;box-shadow:0 5px 0 #22251f18,0 10px 22px #22251f12}
.hero-primary>.ui-icon{width:18px;height:18px;padding:6px;box-sizing:content-box;background:var(--lime);color:var(--ink);border-radius:50%;align-self:center}
.hero-actions .hero-primary:hover{background:#35432a;border-color:#35432a;box-shadow:0 7px 0 #22251f12,0 14px 24px #22251f18}
.hero-actions .hero-secondary{background:#f4f4ecaa;color:var(--ink);border-color:#879477;font-weight:600;box-shadow:none}
.hero-actions .hero-secondary:hover{background:var(--paper);border-color:var(--ink)}
.hero-actions .button:focus-visible{outline:3px solid #526c14;outline-offset:5px}
.button{font-size:14px;font-weight:650;line-height:1.45}
.button.small{font-size:12px;font-weight:650}
.text-link{font-size:14px;font-weight:600}
.service-card{min-height:350px}
.service-card h3{font-size:25px;line-height:1.25}
.service-card>p{font-size:16px;line-height:1.65;font-weight:450;color:var(--text-body)}
.service-card:nth-child(1){--text-body:#354322;--muted:#42502f}
.service-card:nth-child(3){--text-body:#e0e7d7;--muted:#d0dac5}
.price{font-size:clamp(20px,1.8vw,24px);font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.3}
.price-label,.price-unit,.index{font-size:12px;font-weight:550;line-height:1.5}
.service-link{width:42px;height:42px}
.eyebrow,.section-heading .eyebrow,.contact-copy>.eyebrow,.page-intro>.eyebrow{font-size:12px;font-weight:650;line-height:1.5;letter-spacing:.08em}
.hero .eyebrow{font-size:12px;font-weight:650;letter-spacing:.07em;line-height:1.5}
.project-card p,.step p,.values-grid p{font-size:15px;font-weight:450;line-height:1.7}
.project-card p,.step p{color:var(--text-body)}
.project-card h3 span{font-size:15px;line-height:1.6;color:var(--muted)}
.values-grid p,.contact-copy>p:not(.eyebrow){color:#e0e7d7}
.values-panel .eyebrow{color:var(--lime)}
.tag,.filter-row button{font-size:12px;font-weight:550;line-height:1.5}
.work-foot p,.collection-note{font-size:12px;line-height:1.7}
.form-card label:not(.consent){font-size:13px;font-weight:600}
.form-card input:not([type=checkbox]),.form-card select,.form-card textarea{font-size:16px;font-weight:450;line-height:1.5}
.form-card input::placeholder,.form-card textarea::placeholder{font-size:14px}
.consent{font-size:13px;line-height:1.6}
.form-privacy,.form-note{font-size:12px;line-height:1.65}
.form-card .submit{min-height:54px;font-size:15px;font-weight:700}
.contact-channel,.footer,.footer a:not(.logo){font-size:12px;line-height:1.6}
.desktop-nav{font-size:13px;font-weight:550}
.language-trigger,.language-rail button,.language-panel p{font-size:12px}
.ticker-inner{font-size:12px}
@media(min-width:1101px) and (max-width:1250px){.desktop-nav{gap:18px}.header-inner{gap:20px}.header-actions{gap:9px}}
@media(max-width:800px){.hero-actions .button{font-size:15px}.step p{font-size:15px}.section-heading>p{font-size:16px}}
@media(max-width:500px){
 .hero-actions{flex-direction:column;gap:12px}
 .hero-actions .button{width:100%;font-size:16px;min-height:56px;justify-content:space-between;padding:14px 20px}
 .hero-actions .hero-secondary{min-height:52px;font-size:15px}
 .hero .eyebrow{font-size:12px;letter-spacing:.04em;max-width:100%}
 .hero-intro{font-size:16px;line-height:1.7}
 .hero-note{font-size:12px}
 .service-card{min-height:340px}
 .service-card h3{font-size:27px}
 .service-card>p,.section-heading>p{font-size:16px}
 .price{font-size:24px}
 .section-heading .eyebrow,.contact-copy>.eyebrow,.page-intro>.eyebrow{font-size:12px;letter-spacing:.06em}
 .language-trigger{font-size:12px}
 .language-panel p,.language-rail button{font-size:12px}
}
@media(max-width:359px){.hero-actions .button{font-size:15px;padding-inline:17px}.price{font-size:22px}.contact-copy h2{font-size:34px}}
@media(prefers-reduced-motion:reduce){.hero-actions .button{transition:none!important;transform:none!important}}

/* Primary action remains 16px across all device sizes. */
.hero-actions .hero-primary{font-size:16px}

/* Exact rhythm and caption weights documented in brandbook 1.2. */
.hero h1,.page-intro h1{line-height:1.08}
h2{line-height:1.15}
.price{line-height:1.2}
.hero-actions .hero-primary{line-height:1.25}
.eyebrow,.hero .eyebrow,.section-heading .eyebrow,.contact-copy>.eyebrow,.page-intro>.eyebrow{font-weight:600}
