:root{--paper:#f6efe5;--paper-2:#ede1d2;--ink:#2c1a15;--muted:#675a53;--rust:#b74121;--rust-2:#d96b43;--line:#d7c6b6;--dark:#351d16;--white:#fffaf3;--serif:"Fraunces",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.58;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit}
button{font:inherit}
:focus-visible{outline:3px solid var(--rust);outline-offset:4px}
.skip{position:absolute;top:-60px;left:1rem;z-index:100;background:#fff;padding:.6rem 1rem}.skip:focus{top:1rem}
.wrap{width:min(100% - 3rem,1240px);margin-inline:auto}
.demo-strip{padding:.45rem 1rem;text-align:center;background:var(--dark);color:#f8ebdc;font-size:.74rem;letter-spacing:.02em}
.site-header{position:relative;z-index:20;background:var(--paper);border-bottom:1px solid rgba(44,26,21,.09)}
.nav-wrap{display:flex;justify-content:space-between;align-items:center;gap:2rem;min-height:95px}
.brand{display:inline-flex;align-items:center;gap:.7rem;text-decoration:none;flex-shrink:0}
.brand-mark{color:var(--rust);font-size:3.25rem;line-height:.8;transform:rotate(-9deg);font-weight:700}
.brand strong{display:block;font-family:var(--serif);font-size:1.42rem;line-height:.87;letter-spacing:-.055em}
.brand small{display:block;margin-top:.38rem;color:var(--rust);text-transform:uppercase;font-size:.52rem;letter-spacing:.19em;font-weight:700}
.nav-links{display:flex;align-items:center;gap:clamp(1rem,2.3vw,2rem)}
.nav-links a{text-decoration:none;font-size:.86rem;font-weight:700;transition:color .2s}
.nav-links a:hover{color:var(--rust)}
.nav-links .nav-cta{background:var(--rust);color:#fff;padding:.7rem 1rem;border-radius:50px}
.nav-links .nav-cta:hover{background:#8b321e;color:#fff}
.menu-toggle{display:none}
.hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.16fr);align-items:center;gap:clamp(2rem,4vw,5rem);padding-block:5.4rem 6.1rem}
.eyebrow{margin:0 0 1.3rem;color:var(--rust);font-size:.71rem;font-weight:700;text-transform:uppercase;letter-spacing:.22em;line-height:1.4}
.eyebrow .line{display:inline-block;width:26px;border-top:1px solid var(--rust);vertical-align:middle;margin-right:.6rem}
h1,h2,h3,p,figure{margin-top:0}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.05;letter-spacing:-.055em}
h1{font-size:clamp(3.6rem,6.25vw,6.45rem);margin-bottom:1.6rem;max-width:650px}
h1 em,h2 em{font-style:italic;color:var(--rust);font-weight:500}
.hero-intro{font-size:clamp(1rem,1.25vw,1.18rem);max-width:480px;color:#51423b;margin-bottom:2rem}
.hero-actions,.visit-actions{display:flex;align-items:center;gap:1.6rem;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:center;gap:1.3rem;padding:1rem 1.45rem;border-radius:100px;text-decoration:none;font-weight:700;font-size:.89rem;line-height:1.15;min-height:50px;transition:transform .25s,background .25s,color .25s,box-shadow .25s}
.button:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(100,49,27,.17)}
.button-primary{background:var(--rust);color:white}
.button-primary:hover{background:#8f301d}
.button-outline{border:1px solid var(--rust);color:var(--rust)}
.button-outline:hover{background:var(--rust);color:#fff}
.button-light{background:var(--paper);color:var(--dark)}
.text-link,.underlink{font-size:.9rem;font-weight:700;text-decoration:none;border-bottom:1px solid var(--rust);padding-bottom:.2rem}
.small-note{font-size:.72rem;color:var(--muted);margin:1.25rem 0 0;max-width:400px}
.hero-art{position:relative;min-height:560px;margin:0;clip-path:polygon(5% 4%,93% 1%,100% 8%,97% 95%,9% 100%,0 89%);background:var(--paper-2)}
.hero-art img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:65% center}
.hero-art figcaption{position:absolute;right:1.1rem;bottom:1rem;max-width:230px;background:rgba(246,239,229,.94);font-size:.66rem;padding:.45rem .65rem;line-height:1.35}
.hero-stamp{position:absolute;left:1.3rem;top:1.5rem;width:114px;height:114px;display:flex;align-items:center;justify-content:center;background:#f3d5b4;color:var(--rust);border-radius:50%;transform:rotate(-15deg);font-family:var(--serif);font-size:1.03rem;line-height:1.05;text-align:center}
.hero-flourish{position:absolute;color:var(--rust-2);font-size:3rem;right:46%;bottom:4.1rem;transform:rotate(-13deg)}
.ticker{background:var(--rust);color:#fff;overflow:hidden;padding:.85rem 0;font-family:var(--serif);font-weight:600;font-size:1.05rem;letter-spacing:.035em}
.ticker-track{width:max-content;display:flex;animation:slide 26s linear infinite}
.ticker-track span{white-space:nowrap;padding-left:1.5rem}
@keyframes slide{to{transform:translateX(-50%)}}
.section-pad{padding-block:clamp(5rem,8vw,8.5rem)}
.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,9vw,9rem)}
.section-heading h2,.feature h2,.story-copy h2,.visit h2,.faq h2{font-size:clamp(2.8rem,4.4vw,5rem);margin-bottom:0}
.intro-body{align-self:end;max-width:520px;font-size:1.08rem;color:#4c4039}
.intro-body p{margin-bottom:1rem}
.underlink{display:inline-block;color:var(--rust);margin-top:.6rem}
.feature{background:var(--paper-2)}
.feature-top{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:3rem}
.feature-top h2{max-width:650px}
.feature-top>p{max-width:310px;color:var(--muted);margin:0 0 .3rem}
.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.15rem}
.feature-card{display:flex;flex-direction:column;min-height:360px;padding:1.7rem;background:var(--paper);border:1px solid #ead9c6;position:relative;transition:transform .25s,box-shadow .25s}
.feature-card:hover{transform:translateY(-7px) rotate(-.4deg);box-shadow:0 16px 36px rgba(92,48,28,.12)}
.card-num{font-size:.71rem;letter-spacing:.2em;color:var(--rust);font-weight:700}
.card-drawing{display:block;color:var(--rust);font-family:var(--serif);font-size:5.2rem;line-height:1.2;margin:.45rem 0 .75rem;text-align:right}
.feature-card h3{font-size:clamp(1.6rem,2.3vw,2.25rem);margin-bottom:.85rem}
.feature-card p{font-size:.92rem;color:var(--muted);margin-bottom:1.2rem}
.feature-card a{margin-top:auto;align-self:flex-start;color:var(--rust);font-weight:700;text-decoration:none;border-bottom:1px solid currentColor}
.story-grid{display:grid;grid-template-columns:1fr .82fr;gap:clamp(3rem,9vw,10rem);align-items:center}
.story-image{margin:0;position:relative;aspect-ratio:1.15;overflow:hidden;background:#d9bf9b}
.story-image img{width:100%;height:100%;object-fit:cover}
.story-image figcaption{position:absolute;bottom:1rem;left:1rem;background:rgba(246,239,229,.94);font-size:.68rem;padding:.4rem .6rem}
.story-copy h2{margin-bottom:1.4rem}
.story-copy p:not(.eyebrow){color:var(--muted);font-size:1.06rem;max-width:450px}
.story-copy .button{margin-top:1rem}
.visit{background:#ebd2b6}
.visit-grid{display:grid;grid-template-columns:.95fr 1fr;gap:clamp(2rem,7vw,7rem);align-items:center}
.visit h2{margin-bottom:1.8rem}
.visit address{font-style:normal;font-family:var(--serif);font-size:clamp(1.35rem,2vw,1.9rem);line-height:1.35;margin-bottom:1rem}
.visit p:not(.eyebrow){color:#594539;max-width:400px}
.visit-actions{margin-top:1.8rem}
.map-art{height:390px;position:relative;background:#f4e8d5;overflow:hidden;border:12px solid rgba(255,250,243,.55);transform:rotate(1deg)}
.map-line{position:absolute;background:#e0c6ab;border:1px solid #d7b99a}
.map-line-a{height:38px;width:150%;left:-20%;top:25%;transform:rotate(-28deg)}
.map-line-b{height:30px;width:160%;left:-30%;top:70%;transform:rotate(21deg)}
.map-line-c{height:160%;width:35px;left:35%;top:-30%;transform:rotate(18deg)}
.map-line-d{height:160%;width:28px;right:24%;top:-25%;transform:rotate(-20deg)}
.map-pin{position:absolute;left:49%;top:42%;font-size:4.4rem;color:var(--rust);filter:drop-shadow(0 5px 2px rgba(44,26,21,.15))}
.map-label{position:absolute;bottom:1.2rem;right:1.2rem;color:var(--rust);background:var(--paper);padding:.65rem .8rem;font-size:.7rem;font-weight:700;letter-spacing:.12em;line-height:1.4}
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,8vw,9rem)}
.faq-grid>div:first-child>p:last-child{color:var(--muted);max-width:330px;margin-top:1.4rem}
.faq-list{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line);padding:1.35rem 0}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem;font-weight:700;font-size:1.03rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary span{color:var(--rust);font-size:1.5rem;line-height:1;transition:transform .2s}
.faq details[open] summary span{transform:rotate(45deg)}
.faq details p{max-width:520px;color:var(--muted);font-size:.92rem;margin:1rem 0 0}
.final-cta{background:var(--rust);color:var(--white);text-align:center;padding:6rem 0 6.4rem;overflow:hidden}
.final-cta .wrap{position:relative}
.final-cta .eyebrow{color:#f7d6c2}
.final-cta h2{max-width:760px;margin:0 auto 2rem;font-size:clamp(2.8rem,5vw,5rem)}
.mini-spark{position:absolute;left:5%;top:-3rem;font-size:5rem;color:#e89a76;transform:rotate(-17deg)}
.site-footer{background:var(--dark);color:#fff0e5;padding:4rem 0 1.5rem}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:2rem}
.footer-brand .brand-mark{color:#e99970}
.footer-brand small{color:#e99970}
.footer-grid>div>strong{font-size:.8rem;text-transform:uppercase;letter-spacing:.13em;color:#e99970}
.footer-grid p{font-size:.85rem;line-height:1.7;margin:.6rem 0 0}
.footer-grid a{text-decoration:none}
.footer-grid a:hover{text-decoration:underline}
.footer-bottom{display:flex;justify-content:space-between;gap:2rem;border-top:1px solid rgba(255,255,255,.2);margin-top:3rem;padding-top:1rem;font-size:.73rem;color:#d8bfb0}
.footer-bottom p{margin:0}.footer-bottom a{white-space:nowrap;text-decoration:none}
.reveal{opacity:0;transform:translateY(25px);transition:opacity .72s ease,transform .72s cubic-bezier(.2,.7,.15,1)}
.reveal.is-visible{opacity:1;transform:none}
@media(max-width:960px){.nav-links{gap:1rem}.nav-links a{font-size:.78rem}.hero{gap:2rem}.hero-art{min-height:470px}.hero-stamp{width:90px;height:90px;font-size:.83rem}.feature-card{min-height:390px}}
@media(max-width:760px){.wrap{width:min(100% - 2rem,620px)}.demo-strip{font-size:.64rem;line-height:1.3}.nav-wrap{min-height:76px}.brand-mark{font-size:2.7rem}.brand strong{font-size:1.25rem}.brand small{font-size:.45rem}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:44px;height:44px;border:0;background:none;cursor:pointer}.menu-toggle span{width:25px;height:2px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.nav-links{display:none;position:absolute;left:0;right:0;top:100%;background:var(--paper);padding:1rem 1.5rem 1.5rem;box-shadow:0 18px 22px rgba(44,26,21,.12);flex-direction:column;align-items:stretch;gap:0}.nav-links.open{display:flex}.nav-links a{font-size:1rem;padding:.8rem 0;border-bottom:1px solid var(--line)}.nav-links .nav-cta{text-align:center;margin-top:.7rem;border:0}.hero{display:flex;flex-direction:column;padding-block:3rem 3.5rem;gap:2.2rem}.hero-copy{width:100%}h1{font-size:clamp(3.3rem,10vw,5rem);max-width:600px}.hero-intro{max-width:530px}.hero-art{width:100%;height:400px;min-height:0}.hero-flourish{display:none}.intro-grid,.story-grid,.visit-grid,.faq-grid{grid-template-columns:1fr;gap:2rem}.intro-body{font-size:1rem}.feature-top{display:block}.feature-top>p{margin-top:1.1rem}.feature-grid{grid-template-columns:1fr}.feature-card{min-height:0;padding:1.4rem}.card-drawing{font-size:3.6rem;margin:-1rem 0 .5rem}.feature-card h3{max-width:450px}.story-image{aspect-ratio:1.35}.story-copy{padding-bottom:1rem}.map-art{height:330px}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:.7rem}}
@media(max-width:420px){.wrap{width:calc(100% - 2rem)}.hero-actions{align-items:flex-start;gap:1rem}.button{width:100%;text-align:center}.hero-art{height:310px}.hero-stamp{width:77px;height:77px;font-size:.72rem}.hero-art figcaption{font-size:.58rem;max-width:170px}.section-pad{padding-block:4rem}.feature-top{margin-bottom:2rem}.story-image{aspect-ratio:1.05}.visit-actions .text-link{margin:.2rem 0}.map-art{height:255px}.footer-grid{grid-template-columns:1fr;gap:1.5rem}.footer-brand{grid-column:auto}.final-cta{padding:5rem 0}.mini-spark{opacity:.3}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ticker-track{animation:none}.reveal{opacity:1;transform:none;transition:none}.button,.feature-card,.menu-toggle span,.faq summary span{transition:none}}

.portson-credit{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px 14px;min-width:0;margin-top:25px;padding-top:16px;border-top:1px solid currentColor;font-size:12px;font-weight:400;line-height:1.5;letter-spacing:normal;text-transform:none}
.portson-credit span{min-width:0;overflow-wrap:anywhere}
.portson-credit img{display:block;width:100px;height:auto;max-width:100%;flex:0 0 100px}
@media(max-width:600px){.portson-credit{justify-content:flex-start}}
