@font-face{font-family:Cormorant;src:url('/fonts/display.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Montserrat;src:url('/fonts/sans.woff2') format('woff2');font-style:normal;font-weight:400 700;font-display:swap}
:root{color-scheme:light;--forest:#1d4132;--deep:#153329;--cream:#f8f7f2;--ink:#19251f;--muted:#59635e;--line:#d8dfd8}
*{box-sizing:border-box}
html{min-width:320px}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Montserrat,Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit}
.page{min-height:100svh;display:flex;flex-direction:column;max-width:1640px;margin:auto;background:linear-gradient(117deg,#faf9f5 0%,#faf9f5 66%,#f0f4ef 100%);padding:0 clamp(24px,6.1vw,96px)}
.masthead{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:115px;border-top:5px solid var(--forest);border-bottom:1px solid var(--line)}
.brand{display:flex;flex-direction:column;line-height:1;color:var(--forest)}
.brand>span{font-weight:700;font-size:1.5rem;letter-spacing:.3em;margin-right:-.3em}
.brand small{margin-top:8px;font-size:.65rem;text-transform:uppercase;letter-spacing:.14em;font-weight:700}
.masthead-note{font-size:.67rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
main{position:relative;flex:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:70px 0 90px;max-width:1010px}
main::after{content:"";position:absolute;right:4%;top:13%;width:clamp(100px,14vw,230px);height:clamp(100px,14vw,230px);border:1px solid #d9e4da;border-radius:50%;opacity:.85;pointer-events:none}
.eyebrow{display:flex;align-items:center;gap:14px;margin:0 0 31px;color:var(--forest);font-size:.66rem;letter-spacing:.16em;font-weight:700}
.eyebrow-line{width:30px;height:1px;background:currentColor}
h1{position:relative;z-index:1;font-family:Cormorant,Georgia,serif;font-size:clamp(4.4rem,8vw,9rem);font-weight:400;letter-spacing:-.045em;line-height:.92;margin:0 0 43px;text-wrap:balance}
h1 em{font-weight:400;color:var(--forest)}
.intro{font-family:Cormorant,Georgia,serif;font-size:clamp(1.9rem,2.9vw,2.9rem);line-height:1.1;margin:0 0 12px}
.description{max-width:540px;color:var(--muted);font-size:.93rem;line-height:1.85;margin:0 0 34px}
.contact{display:inline-flex;align-items:center;gap:30px;min-height:48px;padding:12px 0;border-bottom:1px solid var(--forest);color:var(--forest);font-size:.69rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;transition:gap .25s,border-color .25s}
.contact:hover{gap:38px;border-color:var(--ink)}
.contact:focus-visible{outline:2px solid var(--forest);outline-offset:5px}
.contact span{font-size:1.1rem;font-weight:400;line-height:1}
footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:24px 0 29px;color:var(--muted);font-size:.64rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
@media(max-width:700px){.masthead{min-height:90px}.masthead-note{display:none}main{padding:75px 0 90px}main::after{right:0;top:9%;opacity:.55}h1{font-size:clamp(4.1rem,13vw,6rem);margin-bottom:37px}.description{max-width:450px}footer{flex-direction:column;gap:8px}}
@media(max-width:390px){h1{font-size:3.8rem}.eyebrow{font-size:.59rem;letter-spacing:.11em}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
