html,body,#root{width:100%;height:100%;min-height:100dvh;overflow:hidden}:root{--paper:#fffdf9;--paper-deep:#f5ede4;--white:#fff;--deep-red:#a71930;--ink:#1b1715;--text:#5d4b45;--text-strong:#2d221f;--line:#60221e24;--line-strong:#60221e38;--shadow-soft:0 28px 50px #29120c14, 0 8px 18px #29120c0a;--font-body:"Avenir Next", "Segoe UI", "Trebuchet MS", "Gill Sans", sans-serif;--font-heading:"Iowan Old Style", "Palatino Linotype", "Book Antiqua", "URW Palladio L", serif;color:var(--text);background:radial-gradient(circle at top, #a719300f, transparent 32%), linear-gradient(180deg, var(--paper) 0%, var(--paper-deep) 100%);font:17px/1.65 var(--font-body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at top, #a719300f, transparent 32%), linear-gradient(180deg, var(--paper) 0%, var(--paper-deep) 100%);min-width:320px;min-height:100vh;margin:0}#root{max-width:100%;min-height:100vh;margin:0 auto}img{max-width:100%}h1,h2{color:var(--ink);font-family:var(--font-heading);letter-spacing:-.03em;margin:0;font-weight:600;line-height:1.08}h1{font-size:clamp(2.3rem,5vw,4.2rem)}h2{font-size:clamp(1.2rem,1.2vw + 1rem,1.7rem)}p{margin:0}a{color:inherit}button,input,textarea{font:inherit}@media (width<=760px){:root{font-size:16px}}.page-shell{--page-pad-inline:clamp(18px, 4vw, 56px);--page-pad-top:max(18px, env(safe-area-inset-top));--page-pad-bottom:max(42px, calc(env(safe-area-inset-bottom) + 18px));--content-gap:clamp(16px, 2.4vh, 28px);--hero-gap:clamp(8px, 1.5vh, 14px);--section-gap:clamp(10px, 1.25vh, 16px);--form-gap:clamp(8px, 1vh, 12px);--logo-size:clamp(124px, 13vw, 216px);--title-size:clamp(2.3rem, 5vw, 4.2rem);--body-size:clamp(.94rem, .5vw + .82rem, 1.04rem);--field-pad-y:clamp(11px, 1.2vh, 14px);--field-pad-x:16px;--textarea-min:clamp(72px, 10vh, 96px);--textarea-max:16vh;--button-pad-y:clamp(11px, 1.1vh, 13px);--button-pad-x:clamp(18px, 1.8vw, 22px);--button-min-width:clamp(156px, 18vw, 180px);width:100%;height:100dvh;min-height:100dvh;padding:var(--page-pad-top) var(--page-pad-inline) var(--page-pad-bottom);background:radial-gradient(circle at top,#a7193014,#0000 38%),radial-gradient(circle at bottom,#c7944414,#0000 34%);place-items:center;display:grid;position:relative;overflow:hidden}.page-shell:before{content:"";pointer-events:none;opacity:.32;background:linear-gradient(#ffffff52,#fff0),repeating-linear-gradient(90deg,#2d221f08 0 1px,#0000 1px 140px);position:absolute;inset:0}.page-content{z-index:1;align-content:center;justify-items:center;row-gap:var(--content-gap);text-align:center;grid-template-rows:auto auto auto;width:min(100%,1040px);max-height:100%;padding-bottom:clamp(4px,.8vh,10px);display:grid;position:relative}.site-header{justify-content:center;width:100%;display:flex}.brand-logo{width:var(--logo-size);object-fit:contain;height:auto;display:block}.hero-copy{gap:var(--hero-gap);max-width:38rem;display:grid}.hero-kicker{color:var(--text-strong);letter-spacing:.2em;text-transform:uppercase;margin:0;font-size:clamp(.92rem,.42vw + .84rem,1rem);font-weight:600}.hero-copy h1{font-size:var(--title-size)}.hero-text{color:var(--text);font-size:var(--body-size);line-height:1.7}.contact-section{gap:var(--section-gap);width:100%;padding-top:clamp(8px,1.2vh,14px);padding-bottom:clamp(12px,1.6vh,20px);display:grid}.contact-section:before{content:"";background:linear-gradient(90deg,#0000,#60221e3d,#0000);width:min(100%,760px);height:1px;margin:0 auto}.section-heading{gap:6px;display:grid}.section-heading h2{font-size:clamp(1.16rem,1.1vw + .96rem,1.7rem)}.contact-form{gap:var(--form-gap);padding-bottom:clamp(10px,1.4vh,18px);display:grid}.field-grid{gap:var(--form-gap);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.field{display:block}.field-name,.field-message{grid-column:1/-1}.field input,.field textarea{width:100%;padding:var(--field-pad-y) var(--field-pad-x);border:1px solid var(--line);color:var(--text-strong);background:#fffffff0;border-radius:18px;transition:border-color .2s,box-shadow .2s,background-color .2s}.field input::placeholder,.field textarea::placeholder{color:#2d221f8c}.field input:hover,.field textarea:hover{border-color:var(--line-strong)}.field-invalid input,.field-invalid textarea{border-color:var(--deep-red);background:#fff9f9fa;animation:.34s field-shake;box-shadow:0 0 0 3px #a7193014}.field input:focus-visible,.field textarea:focus-visible{border-color:var(--deep-red);background:var(--white);outline:none;box-shadow:0 0 0 4px #a719301a}.field textarea{min-height:var(--textarea-min);resize:none;max-height:var(--textarea-max)}.form-footer{grid-template-columns:1fr;place-items:center;gap:clamp(10px,1.1vh,14px);padding-bottom:0;display:grid}.status-region{text-align:center;width:100%;min-height:clamp(18px,2.1vh,22px)}.status-message{margin:0;font-size:.94rem}.success-message{color:#1f5a3d}.error-message{color:var(--deep-red)}.submit-button{min-width:var(--button-min-width);padding:var(--button-pad-y) var(--button-pad-x);color:var(--paper);cursor:pointer;background:linear-gradient(135deg,#8e1126,#bb1832);border:0;border-radius:999px;justify-self:center;font-size:clamp(.94rem,.34vw + .88rem,1rem);font-weight:700;transition:transform .2s,box-shadow .2s,opacity .2s;box-shadow:0 16px 30px #a719302e}.submit-button:hover:not(:disabled){transform:translateY(-1px)}.submit-button:focus-visible{outline-offset:3px;outline:3px solid #a7193029}.submit-button:disabled{opacity:.78;cursor:wait}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.reveal{animation:.8s both reveal-up}@keyframes reveal-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes field-shake{0%,to{transform:translate(0)}20%{transform:translate(-5px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(2px)}}@media (width<=640px){.page-shell{--page-pad-inline:16px;--page-pad-top:max(16px, env(safe-area-inset-top));--page-pad-bottom:max(28px, calc(env(safe-area-inset-bottom) + 14px));--content-gap:clamp(12px, 2vh, 18px);--logo-size:clamp(104px, 32vw, 158px);--title-size:clamp(2rem, 8vw, 2.8rem);--body-size:clamp(.9rem, 1vw + .72rem, .98rem);--field-pad-y:clamp(10px, 1.5vh, 12px);--textarea-min:clamp(72px, 12vh, 92px);--textarea-max:16vh;--button-pad-y:clamp(12px, 1.8vh, 14px);--button-min-width:100%}.page-shell:before{opacity:.18}.page-content{align-content:center}.field-grid{grid-template-columns:1fr}.form-footer{gap:10px}.submit-button{width:auto}}@media (height<=800px){.page-shell{--page-pad-inline:clamp(16px, 3vw, 32px);--page-pad-top:max(14px, env(safe-area-inset-top));--page-pad-bottom:max(30px, calc(env(safe-area-inset-bottom) + 12px));--content-gap:clamp(10px, 1.35vh, 14px);--hero-gap:clamp(5px, .9vh, 8px);--section-gap:clamp(8px, 1vh, 12px);--form-gap:clamp(8px, 1vh, 12px);--logo-size:clamp(92px, 10vh, 148px);--title-size:clamp(1.72rem, 2.9vw, 2.55rem);--body-size:clamp(.88rem, .22vw + .82rem, .95rem);--field-pad-y:clamp(9px, .95vh, 12px);--textarea-min:clamp(62px, 8.8vh, 78px);--textarea-max:12vh;--button-pad-y:clamp(10px, .95vh, 12px)}.page-content{align-content:start}.section-heading h2{font-size:clamp(1.08rem,.7vw + .9rem,1.34rem)}.hero-text{line-height:1.5}}@media (height<=700px){.page-shell{--page-pad-inline:clamp(14px, 2.6vw, 24px);--page-pad-top:max(12px, env(safe-area-inset-top));--page-pad-bottom:max(24px, calc(env(safe-area-inset-bottom) + 10px));--content-gap:clamp(8px, 1.05vh, 12px);--hero-gap:5px;--section-gap:7px;--form-gap:7px;--logo-size:clamp(80px, 8.5vh, 118px);--title-size:clamp(1.5rem, 2.2vw, 2.05rem);--body-size:clamp(.84rem, .16vw + .8rem, .9rem);--field-pad-y:8px;--textarea-min:clamp(52px, 7vh, 66px);--textarea-max:10vh;--button-pad-y:8px;--button-pad-x:clamp(16px, 1.2vw, 19px);--button-min-width:clamp(142px, 16vw, 160px)}.section-heading h2{font-size:clamp(1rem,.52vw + .88rem,1.2rem)}.hero-text{line-height:1.42}}@media (height<=620px){.page-content{row-gap:8px}.page-shell{--page-pad-inline:14px;--page-pad-top:max(10px, env(safe-area-inset-top));--page-pad-bottom:max(20px, calc(env(safe-area-inset-bottom) + 8px));--content-gap:8px;--hero-gap:5px;--section-gap:6px;--form-gap:6px;--logo-size:clamp(72px, 7.4vh, 102px);--title-size:clamp(1.34rem, 1.95vw, 1.72rem);--body-size:.82rem;--field-pad-y:7px;--field-pad-x:14px;--textarea-min:46px;--textarea-max:8vh;--button-pad-y:7px;--button-pad-x:18px;--button-min-width:142px}.contact-section:before{display:none}.section-heading h2{font-size:.98rem}.hero-text{line-height:1.34}.status-message{font-size:.84rem}}@media (height<=540px){.page-shell{overflow-y:auto}.page-content{align-content:start;width:min(100%,920px);min-height:100%;max-height:none}}
