:root{color-scheme:light;--paper:#f6f2e9;--ink:#262720;--muted:#53554a;--red:#ad332b;--line:#d9d2c4;--serif:Georgia,"Times New Roman",serif;--sans:Arial,Helvetica,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 var(--sans)}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid #345a46;outline-offset:4px}
img{display:block;width:100%;height:auto}
p,figure,h1,h2,h3{margin:0}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.03}
h2{font-size:clamp(2.5rem,5vw,4.65rem);letter-spacing:-.055em}
h3{font-size:1.65rem;letter-spacing:-.035em}
button,input{font:inherit}
.shell{width:min(100% - 5rem,1240px);margin-inline:auto}
.skip{position:fixed;top:.75rem;left:1rem;z-index:5;transform:translateY(-200%);padding:.6rem 1rem;background:white}
.skip:focus{transform:none}
.top{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;border-bottom:1px solid var(--line)}
.brand{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--serif);font-size:1.4rem;white-space:nowrap}
.seal{display:grid;place-items:center;width:32px;height:32px;border-radius:5px;background:var(--red);color:white;font:1.16rem/1 var(--sans)}
.top nav{display:flex;gap:2rem;font-size:.9rem}
.top-contact{font-size:.92rem;color:var(--red);font-weight:700}
nav a:hover,.footer a:hover,.email:hover{text-decoration:underline;text-underline-offset:.22em}
.hero{display:grid;grid-template-columns:.94fr 1.06fr;gap:clamp(1.5rem,5vw,5rem);align-items:center;padding-block:clamp(2rem,6vw,5.25rem)}
.eyebrow{display:flex;align-items:center;gap:.63rem;text-transform:uppercase;color:var(--red);font-size:.72rem;font-weight:700;letter-spacing:.11em}
.eyebrow>span{width:19px;height:1px;background:currentColor}
h1{font-size:clamp(4.25rem,8.3vw,8rem);letter-spacing:-.085em;margin-block:1.1rem 1.4rem;line-height:.91}
h1 em{color:var(--red);font-weight:400}
.intro{max-width:34ch;color:var(--muted);font-size:clamp(1rem,1.6vw,1.2rem);margin-bottom:1.75rem}
.button{display:inline-flex;align-items:center;justify-content:center;gap:1rem;border:1px solid transparent;border-radius:6px;background:var(--red);color:white;padding:.87rem 1.17rem;font-size:.91rem;font-weight:700;cursor:pointer}
.button:hover{background:#8f2822}
.hero-photo{position:relative;isolation:isolate}
.hero-photo img{height:clamp(350px,41vw,590px);object-fit:cover;object-position:57% center;border-radius:48% 48% 4px 4px / 42% 42% 4px 4px}
.hero-photo figcaption{position:absolute;bottom:1rem;left:1rem;display:flex;gap:.55rem;align-items:center;padding:.38rem .72rem;background:#20231eea;color:#fffaf1;border-radius:3px;font-size:.76rem}
.routes{border-top:1px solid var(--line);padding-block:clamp(2.8rem,6vw,5.2rem)}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:1.25rem;margin:.8rem 0 1.8rem}
.section-head>p{color:var(--muted);max-width:32ch}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem}
.card{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fffaf1}
.card>img{aspect-ratio:1.6;object-fit:cover}
.card:first-child>img{object-position:center 64%}
.card-copy{display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:.7rem;padding:1.2rem}
.card-copy>p:not(.eyebrow){color:var(--muted);font-size:.94rem}
.card-copy a{margin-top:auto;padding-top:.5rem;color:var(--red);font-size:.9rem;font-weight:700}
.card-copy a:hover{text-decoration:underline;text-underline-offset:.22em}
.process{background:#ece8dc;padding-block:clamp(2.8rem,6vw,5.3rem)}
.process-grid{display:grid;grid-template-columns:1fr 1.12fr;gap:clamp(1.4rem,6vw,6rem)}
.process h2,.contact h2{margin-top:.8rem}
.steps{list-style:none;margin:0;padding:0}
.steps li{display:grid;grid-template-columns:2.3rem 1fr;gap:.9rem;border-top:1px solid #d0c8b9;padding-block:1rem}
.steps li:last-child{border-bottom:1px solid #d0c8b9}
.steps li>span{color:var(--red);font-size:.78rem;font-weight:700;padding-top:.15rem}
.steps p{color:var(--muted);margin-top:.4rem}
.contact{padding-block:clamp(2.4rem,6vw,4.6rem)}
.contact-box{background:#292d25;color:#fff8ec;border-radius:10px;padding:clamp(1.4rem,5vw,3.6rem);display:grid;grid-template-columns:1.35fr 1fr;align-items:center;gap:1.5rem}
.contact .eyebrow{color:#ffab96}
.contact h2{font-size:clamp(2.1rem,4.8vw,4.2rem)}
.contact p:not(.eyebrow){color:#e4ded3;margin-top:1rem;max-width:42ch}
.contact-actions{justify-self:end;display:grid;justify-items:center;gap:.75rem}
.email{font-size:.9rem}
.footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);padding-block:1.2rem;color:var(--muted);font-size:.86rem}
.footer .brand{color:var(--ink)}
dialog{width:min(100% - 1.5rem,520px);max-height:calc(100% - 1.5rem);overflow:auto;border:0;border-radius:12px;background:var(--paper);color:var(--ink);padding:clamp(1.1rem,4vw,2.1rem)}
dialog::backdrop{background:#1c211bb8}
dialog h2{font-size:clamp(2rem,5vw,2.75rem);margin-block:.55rem}
dialog p:not(.eyebrow){color:var(--muted)}
.close{position:absolute;right:.8rem;top:.65rem;border:0;background:transparent;color:var(--ink);cursor:pointer;font-size:1.6rem;line-height:1;padding:.25rem .45rem}
dialog label{display:grid;gap:.25rem;margin-top:.9rem;font-size:.9rem;font-weight:700}
dialog input{min-width:0;width:100%;padding:.6rem .65rem;border:1px solid #b9b3a5;border-radius:5px;background:#fffaf1;color:var(--ink);font-size:1rem;font-weight:400}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.form-actions{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.25rem}
.secondary{color:var(--red);background:transparent;border-color:var(--red)}
.secondary:hover{background:#f5e4dc}
.fine{margin-top:.8rem;font-size:.78rem}
@media(max-width:800px){.shell{width:calc(100% - 2.4rem)}.top nav{gap:1rem}.hero{gap:1.25rem}h1{font-size:clamp(3.4rem,9.6vw,5rem)}.hero-photo img{height:clamp(300px,56vw,420px)}.cards{gap:.7rem}.card-copy{padding:.8rem}.card h3{font-size:1.4rem}}
@media(max-width:620px){.top{min-height:62px}.top nav{display:none}.hero{grid-template-columns:1fr;padding-top:2rem;gap:1.5rem}.hero-photo img{height:clamp(220px,66vw,390px)}h1{font-size:clamp(4.1rem,13.5vw,6.2rem)}.section-head,.footer{align-items:flex-start;flex-wrap:wrap}.section-head{gap:.6rem}.cards,.process-grid,.contact-box{grid-template-columns:1fr}.cards{gap:1rem}.card-copy{padding:1.1rem}.card h3{font-size:1.65rem}.contact-actions{justify-self:start;justify-items:start}.footer>span{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.arrow{display:inline-block;width:.85em;height:.85em;vertical-align:-.03em;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
