:root{--ink:#173b3b;--deep:#0e2e2e;--cream:#fff9ed;--paper:#f6eddc;--coral:#e76f51;--gold:#e8af45;--sage:#8caf9a;--white:#fff;--shadow:0 24px 60px rgba(23,59,59,.15)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif;line-height:1.65}img{display:block;max-width:100%}a{color:inherit}.site-header{height:88px;padding:0 clamp(24px,5vw,80px);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:20;background:rgba(255,249,237,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(23,59,59,.1)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-family:"Fraunces",serif;font-size:20px;font-weight:700;line-height:1.05}.brand small{display:block;font:600 10px/1.5 "DM Sans",sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--coral)}.brand-mark{display:grid;place-items:center;width:42px;height:48px;background:var(--ink);color:var(--cream);border-radius:4px 4px 11px 11px;font-size:24px;transform:rotate(-2deg)}nav{display:flex;align-items:center;gap:28px}nav a{text-decoration:none;font-size:14px;font-weight:600}.nav-contact{border:1px solid var(--ink);border-radius:999px;padding:10px 18px}.menu{display:none;background:none;border:1px solid var(--ink);border-radius:999px;padding:8px 14px;color:var(--ink)}.hero{min-height:calc(100vh - 88px);display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(36px,6vw,90px);align-items:center;padding:clamp(56px,8vw,110px) clamp(24px,7vw,110px);overflow:hidden;background:linear-gradient(135deg,#fff9ed 45%,#f1e3c8 100%)}.hero h1,.section h2,.contact-section h2{font-family:"Fraunces",serif;line-height:1.03;margin:.2em 0;color:var(--deep)}.hero h1{font-size:clamp(50px,6vw,92px);max-width:760px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:700;color:var(--coral);margin:0 0 14px}.lede{font-size:clamp(18px,2vw,24px);max-width:650px}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin-top:30px}.button{display:inline-block;text-decoration:none;border-radius:999px;padding:14px 24px;font-weight:700;transition:.2s ease}.button:hover{transform:translateY(-2px)}.primary{background:var(--coral);color:var(--white);box-shadow:0 10px 24px rgba(231,111,81,.26)}.secondary{border:1.5px solid var(--ink)}.light{background:var(--cream);color:var(--deep)}.text-link{font-weight:700;text-underline-offset:5px}.hero-art{margin:0;position:relative;transform:rotate(1.5deg)}.hero-art:before{content:"";position:absolute;inset:-18px;border:2px solid var(--gold);border-radius:30px;transform:rotate(-3deg)}.hero-art img{aspect-ratio:4/3;object-fit:cover;border-radius:22px;box-shadow:var(--shadow);position:relative}.hero-art figcaption{position:absolute;right:18px;bottom:16px;background:rgba(255,249,237,.93);padding:8px 14px;border-radius:99px;font-size:12px}.section{padding:clamp(80px,10vw,150px) clamp(24px,7vw,110px)}.book-section{display:grid;grid-template-columns:minmax(280px,.8fr) 1.2fr;gap:clamp(48px,8vw,130px);align-items:center;background:var(--deep);color:#eaf1e8}.book-section h2{color:var(--white);font-size:clamp(44px,5vw,74px)}.book-art img{aspect-ratio:1/1;object-fit:cover;border:12px solid var(--cream);box-shadow:var(--shadow);transform:rotate(-2deg)}.book-copy{max-width:700px}.book-tag{font-family:"Fraunces",serif;font-size:24px;color:#f2c36f}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:52px}.section-heading h2,.visit-copy h2,.activity h2,.about h2{font-size:clamp(40px,5vw,68px)}.section-heading>p{max-width:500px;font-size:18px}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.gallery figure{margin:0;overflow:hidden;border-radius:14px;background:var(--paper)}.gallery img{width:100%;aspect-ratio:1/1;object-fit:cover;transition:transform .4s}.gallery figure:hover img{transform:scale(1.04)}.portfolio-note{max-width:760px;margin:35px auto 0;text-align:center;font-size:18px}.visit-section{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(45px,7vw,100px);align-items:center;background:var(--paper)}.visit-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:0 60px 0 60px;box-shadow:var(--shadow)}.visit-copy ul{padding-left:20px;margin:24px 0 30px}.activity{display:grid;grid-template-columns:1fr .8fr;gap:60px;align-items:center;background:var(--gold)}.activity>div{max-width:650px}.activity img{max-height:480px;width:100%;object-fit:cover;border:10px solid var(--cream);transform:rotate(2deg);box-shadow:var(--shadow)}.about{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(45px,8vw,120px);align-items:center}.portrait-wrap{max-width:500px}.portrait-wrap img{width:100%;aspect-ratio:4/5;object-fit:cover;filter:saturate(.9);border-radius:180px 180px 20px 20px}.about p:not(.eyebrow){font-size:18px;max-width:760px}.contact-section{text-align:center;background:var(--coral);color:var(--white);padding:clamp(90px,12vw,160px) 24px}.contact-section .eyebrow{color:#ffe2b4}.contact-section h2{font-size:clamp(46px,6vw,80px);color:var(--white)}.contact-section p{max-width:650px;margin:20px auto 34px;font-size:18px}footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding:42px clamp(24px,5vw,80px);background:var(--deep);color:#dce9e4;font-size:13px}footer strong,footer span{display:block}footer>p{text-align:center}footer>a{text-align:right}footer>a span{color:#f1c36e}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(max-width:900px){.menu{display:block}nav{display:none;position:absolute;top:87px;left:0;right:0;padding:24px;background:var(--cream);flex-direction:column;align-items:stretch;border-bottom:1px solid rgba(23,59,59,.15)}nav.open{display:flex}.hero,.book-section,.visit-section,.activity,.about{grid-template-columns:1fr}.hero{padding-top:60px}.hero-art{margin:20px}.book-art{max-width:540px}.gallery{grid-template-columns:repeat(2,1fr)}.section-heading{align-items:start;flex-direction:column}.visit-photo{order:2}.activity img{max-width:560px}footer{grid-template-columns:1fr;text-align:center}footer>a,footer>p{text-align:center}}
@media(max-width:540px){.site-header{height:76px}.brand{font-size:16px}.brand-mark{width:34px;height:40px}.hero{min-height:auto}.hero h1{font-size:48px}.gallery{grid-template-columns:1fr}.actions{align-items:stretch;flex-direction:column}.button{text-align:center}.hero-art{margin:16px 10px}.section{padding-top:72px;padding-bottom:72px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.gallery img{transition:none}}
