html{
    scroll-behavior:smooth;
    scroll-padding-top:100px;
    scrollbar-gutter:stable
}
body{
    background:var(--color-bg);
    color:var(--color-text);
    font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
    font-size:18px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased
}
h1,h2,h3{
    font-weight:650;
    line-height:1.12;
    letter-spacing:-.045em;
    text-wrap:balance
}
h1{
    font-size:clamp(40px,4.8vw,70px)
}
h2{
    font-size:clamp(30px,3.3vw,46px)
}
h3{
    font-size:23px;
    letter-spacing:-.025em
}
p{
    color:var(--color-muted)
}
p+p{
    margin-top:16px
}
small{
    font-size:15px;
    line-height:1.5
}
strong{
    font-weight:650
}
a,button{
    touch-action:manipulation
}
a:hover{
    color:var(--color-text)
}
:focus-visible{
    outline:3px solid #9a6800;
    outline-offset:5px
}
input:focus-visible,select:focus-visible,textarea:focus-visible{
    outline-offset:2px
}
.dark-section :focus-visible,.site-footer :focus-visible{
    outline-color:var(--color-accent)
}
::selection{
    background:var(--color-accent);
    color:var(--color-text)
}
.icon{
    width:24px;
    height:24px;
    flex-shrink:0;
    fill:none;
    stroke:currentColor;
    stroke-width:1.65;
    stroke-linecap:round;
    stroke-linejoin:round
}
.icon.reverse{
    transform:rotate(180deg)
}
.eyebrow{
    display:block;
    font-size:16px;
    line-height:1.5;
    font-weight:650;
    letter-spacing:.13em;
    text-transform:uppercase;
    color:var(--color-muted);
    margin-bottom:18px
}
.muted,.section-note{
    color:var(--color-muted);
    font-size:16px
}
.section-note{
    margin-top:18px;
    max-width:800px
}
.skip-link{
    position:fixed;
    top:8px;
    left:16px;
    padding:12px 20px;
    background:var(--color-accent);
    z-index:200;
    transform:translateY(-160%)
}
.skip-link:focus{
    transform:translateY(0)
}
.button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:20px;
    min-height:54px;
    padding:14px 22px;
    border-radius:var(--radius-sm);
    background:var(--color-accent);
    color:var(--color-text);
    font-size:17px;
    line-height:1.35;
    font-weight:650;
    transition:background .2s,transform .2s;
    text-align:center
}
.button:hover{
    background:var(--color-accent-hover);
    transform:translateY(-2px)
}
.button.secondary{
    background:transparent;
    border:1px solid var(--color-border)
}
.button.secondary:hover{
    background:var(--color-soft)
}
.button.small{
    min-height:44px;
    padding:11px 15px;
    font-size:17px
}
.button:disabled{
    opacity:.65;
    cursor:wait;
    transform:none
}
.text-button{
    display:inline-flex;
    align-items:center;
    gap:12px;
    min-height:44px;
    font-weight:600;
    font-size:17px;
    border-bottom:1px solid var(--color-border);
    padding:8px 0
}
.text-button:hover .icon{
    transform:translateX(4px)
}
.text-button .icon{
    transition:transform .2s
}
.icon-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    width:46px;
    height:46px;
    border:1px solid var(--color-border);
    border-radius:50%;
    background:var(--color-surface)
}
.icon-button:hover{
    background:var(--color-accent);
    color:var(--color-text)
}
label{
    display:flex;
    flex-direction:column;
    gap:7px;
    font-size:16px;
    font-weight:550;
    min-width:0
}
input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{
    width:100%;
    min-width:0;
    min-height:50px;
    border:1px solid var(--color-border);
    border-radius:8px;
    background:var(--color-surface);
    color:var(--color-text);
    padding:12px 14px;
    font-size:18px;
    line-height:1.4
}
textarea{
    resize:vertical
}
input::placeholder,textarea::placeholder{
    color:#73786e;
    opacity:1
}
input[type=checkbox],input[type=radio]{
    accent-color:var(--color-text);
    width:19px;
    height:19px;
    flex-shrink:0;
    margin:2px 0
}
input[type=range]{
    width:100%;
    accent-color:#977215;
    min-height:32px;
    cursor:pointer
}
.check{
    display:flex;
    flex-direction:row;
    align-items:flex-start;
    gap:10px;
    cursor:pointer;
    line-height:1.5
}
.check a{
    text-decoration:underline
}
.check small{
    display:block;
    color:var(--color-muted)
}
.check.consent{
    font-size:15px
}
.status-dot{
    display:inline-block;
    vertical-align:middle;
    width:7px;
    height:7px;
    border-radius:50%;
    background:#649d66;
    box-shadow:0 0 0 4px rgba(100,157,102,.12);
    margin-right:2px;
    margin-bottom:2px;
}
.dark-section{
    background:var(--color-dark);
    color:var(--color-inverse)
}
.dark-section p,.dark-section .eyebrow,.dark-section small{
    color:var(--color-dark-muted)
}
.dark-section a:hover{
    color:var(--color-accent)
}
.soft{
    background:var(--color-soft)
}
 h1,h2,h3{
    overflow-wrap:anywhere;
    hyphens:auto
}
.section-heading>div,.split-layout>*,.editorial-hero>*,.contact-layout>*{
    min-width:0
}
 .sr-only{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    padding:0!important;
    margin:-1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;
    border:0!important
}
 