*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:#353b2e;background:#fbf8ef;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid #9b753e;outline-offset:6px}img{display:block;width:100%}header{height:96px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:#fbf8ef}.wordmark{font-family:Georgia,serif;font-size:33px;letter-spacing:.22em;line-height:1.1}.wordmark span{display:block;font-family:Arial,sans-serif;font-size:10px;letter-spacing:.23em;margin-top:9px}nav{display:flex;align-items:center;gap:34px;font-size:14px}.nav-contact{border-bottom:1px solid #777d6a;padding:9px 0}.nav-contact span{margin-left:24px}.hero{height:min(760px,calc(100svh - 96px));min-height:580px;position:relative;color:#fffdf5}.hero>img,.hero-shade{position:absolute;width:100%;height:100%;object-fit:cover}.hero-shade{background:linear-gradient(90deg,rgba(22,24,16,.64),rgba(22,24,16,.1)),linear-gradient(0deg,rgba(22,24,16,.35),transparent 35%)}.hero-copy{position:relative;padding:100px 7% 85px}.eyebrow{font-size:12px;font-weight:500;letter-spacing:.2em;line-height:1.6;margin:0 0 25px}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.08;margin:0}h1{font-size:clamp(50px,5.9vw,86px);letter-spacing:-.045em}h1 em,h2 em{font-weight:400}h2{font-size:clamp(38px,4vw,59px);letter-spacing:-.035em}h3{font-size:29px}.hero-copy>p:not(.eyebrow){margin:28px 0 31px;line-height:1.8;color:#f4f0e5}.button{display:inline-flex;gap:40px;align-items:center;padding:15px 23px;font-size:14px}.light{background:#faf7ed;color:#353b2e}.button:hover{background:#e9e5d5}.hero-bottom{position:absolute;bottom:28px;left:7%;right:6%;display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:.19em}.hero-bottom a{font-size:27px;line-height:1;border:1px solid #ffffff70;border-radius:50%;padding:11px 17px}.section{padding:110px 7%}.about{display:grid;grid-template-columns:1fr 1.12fr;gap:10%;align-items:center}.brand-image img{mix-blend-mode:multiply}.about-copy p:not(.eyebrow){max-width:520px;color:#686b60;margin:25px 0 0}.text-link{display:inline-flex;border-bottom:1px solid #a4a78f;padding-bottom:8px;gap:40px;font-size:14px;margin-top:30px}.services{background:#eceee5;display:grid;grid-template-columns:1fr 1.2fr;gap:10%}.service-list article{display:flex;gap:28px;border-top:1px solid #b9bdaa;padding:30px 0}.service-list article:last-child{padding-bottom:0}.number{font-size:12px;padding-top:5px;letter-spacing:.1em;color:#737c64}.service-list p{color:#676e5e;margin:13px 0 0;max-width:430px}.portfolio-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:55px}.portfolio-heading>p{color:#74776b;font-size:15px;margin-bottom:3px}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:40px 28px;align-items:start}.gallery figure{margin:0}.gallery img{height:320px;object-fit:cover;transition:filter .3s}.gallery a:hover img{filter:brightness(1.07)}.gallery .tall{grid-row:span 2}.gallery .tall img{height:734px}.gallery .wide{grid-column:1/-1}.gallery .wide img{height:510px}.gallery .portrait img,.gallery .last img{height:510px}.gallery figcaption{font-size:13px;color:#777c6d;margin-top:10px}.contact{padding:100px 7%;text-align:center;background:#3d4635;color:#fbf8ef}.contact h2{font-size:clamp(39px,4.6vw,67px)}.contact>p:not(.eyebrow){color:#d1d5c7;margin:26px 0 36px}.email{display:table;font-family:Georgia,serif;font-size:clamp(18px,2.5vw,34px);border-bottom:1px solid #929c82;margin:auto;padding-bottom:12px;overflow-wrap:anywhere}.email span{font-family:Arial,sans-serif;margin-left:18px}.instagram{display:table;margin:25px auto 0;font-size:14px}.locations{font-size:11px;letter-spacing:.17em;margin-top:55px;color:#d1d5c7}footer{padding:35px 7%;display:flex;align-items:center;justify-content:space-between}footer .wordmark{font-size:24px}footer p{font-family:Georgia,serif;font-style:italic;color:#777c6d}footer>span{font-size:12px;color:#777c6d}.skip{position:absolute;left:12px;top:-100px;background:#fff;padding:12px;z-index:10}.skip:focus{top:10px}@media(min-width:1600px){.section{padding-left:max(7%,calc((100vw - 1400px)/2));padding-right:max(7%,calc((100vw - 1400px)/2))}}@media(max-width:760px){header{height:90px;padding:0 6%}.wordmark{font-size:25px}.wordmark span{font-size:8px}nav{gap:18px}nav>a:not(.nav-contact){display:none}.nav-contact span{margin-left:10px}.hero{height:660px;min-height:0}.hero-copy{padding:95px 7% 80px}h1{font-size:54px}.hero-bottom{font-size:9px;letter-spacing:.1em;gap:15px}.section{padding:65px 7%}.about{grid-template-columns:1fr;gap:35px}.brand-image{max-width:300px;margin:auto}.services{grid-template-columns:1fr;gap:35px}.portfolio-heading{display:block;margin-bottom:35px}.portfolio-heading>p{margin-top:25px}.gallery{gap:27px 15px}.gallery .tall{grid-row:auto}.gallery .tall img,.gallery img{height:270px}.gallery .wide img{height:300px}.gallery .portrait img,.gallery .last img{height:270px}.gallery figure:nth-child(3){grid-column:1/-1}.gallery figure:nth-child(3) img{height:280px}.gallery figcaption{font-size:12px;line-height:1.5}.contact{padding:70px 7%}.contact>p:not(.eyebrow){font-size:15px}.email span{margin-left:3px}.instagram{font-size:13px}footer{flex-wrap:wrap;gap:10px 25px;padding:30px 7%}footer p{order:3;width:100%;margin:4px 0}footer>span{margin-left:auto}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.contact-icon{display:inline-block;width:1em;height:1em;vertical-align:-.13em;margin-right:.45em;flex-shrink:0}.instagram .contact-icon{width:20px;height:20px;vertical-align:-5px}
.brand-image{border-radius:50%;overflow:hidden;aspect-ratio:1}.brand-image img{height:100%;object-fit:cover;border-radius:50%}

/* Interactive three-dimensional opening */
:root{--night:#283226;--cream:#f7f3e8}
header{position:absolute;z-index:20;top:0;left:0;width:100%;background:transparent;color:var(--cream);border-bottom:1px solid #ffffff55}
header .nav-contact{border-color:#ffffffaa}
.hero{height:100svh;min-height:720px;max-height:1100px;background:radial-gradient(circle at 71% 45%,#71806b 0%,#384938 37%,#1d291f 85%);overflow:hidden;display:grid;grid-template-columns:44% 56%;align-items:center;padding:90px 6% 70px;color:var(--cream);isolation:auto}
.hero-atmosphere{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#1b291ee8 2%,#26332599 52%,#1d2c1f6b),url('assets/sala.webp') center/cover;filter:saturate(.62)}
.hero:after{content:"";position:absolute;width:70vw;height:70vw;max-width:950px;max-height:950px;right:-16%;top:50%;transform:translateY(-50%);border:1px solid #ffffff28;border-radius:50%;pointer-events:none;z-index:-1}
.hero-copy{padding:0;position:relative;z-index:3;align-self:center;margin-top:20px}.hero-copy .eyebrow{font-size:11px;letter-spacing:.23em;color:#dfded2}.hero h1{font-size:clamp(58px,5.8vw,96px);line-height:1.02;letter-spacing:-.055em;white-space:nowrap}.hero h1 em{font-weight:400}.hero-copy>p:not(.eyebrow){font-size:17px;line-height:1.75;max-width:410px;margin:33px 0 30px;color:#eceee5}.hero .button{background:#f9f5e9;color:#273327;transition:transform .3s,background .3s}.hero .button:hover{transform:translateY(-4px);background:#e9e8dc}
.scene{position:relative;height:min(68vh,650px);min-height:490px;perspective:1150px;perspective-origin:50% 46%;user-select:none;touch-action:pan-y;z-index:2}.scene-stage{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .25s ease-out}.scene-card{position:absolute;top:9%;left:50%;width:min(55%,370px);height:76%;padding:0;border:1px solid #fff9;background:#1c261d;box-shadow:0 35px 65px #0812098c,0 0 0 9px #ffffff12;overflow:hidden;cursor:pointer;transform-style:preserve-3d;backface-visibility:hidden;transition:transform .9s cubic-bezier(.2,.75,.15,1),opacity .75s,filter .75s,box-shadow .75s;will-change:transform;display:block;text-align:left}.scene-card img{height:100%;object-fit:cover;filter:saturate(.83)}.scene-card:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#101b14b8);pointer-events:none}.scene-card span{position:absolute;z-index:1;bottom:22px;left:22px;color:white;font-family:Georgia,serif;font-size:21px;text-shadow:0 2px 8px #0008}.scene-card[data-position="center"]{z-index:4;filter:brightness(1);box-shadow:0 45px 90px #071307b3,0 0 0 9px #ffffff15}.scene-card[data-position="left"],.scene-card[data-position="right"]{z-index:2;filter:brightness(.65)}.scene-card[data-position="back"]{z-index:1;filter:brightness(.5)}.scene-controls{position:absolute;z-index:8;bottom:-10px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:22px;white-space:nowrap;color:#fff}.scene-controls button{width:42px;height:42px;border:1px solid #ffffff9c;border-radius:50%;background:#14211677;color:white;font-size:19px;cursor:pointer;transition:background .2s,transform .2s}.scene-controls button:hover{background:#f6f2e5;color:#283326;transform:scale(1.08)}.scene-controls span{font-size:12px;letter-spacing:.16em}.scene-hint{position:absolute;bottom:-50px;left:50%;transform:translateX(-50%);font-size:10px;letter-spacing:.2em;white-space:nowrap;opacity:.78}.hero-bottom{bottom:23px;left:6%;right:6%;z-index:5}.hero-bottom a{transition:transform .25s}.hero-bottom a:hover{transform:translateY(4px)}
@media(max-width:1000px){.hero{grid-template-columns:48% 52%}.hero h1{font-size:clamp(50px,6vw,72px)}.scene-card{width:67%;height:70%;top:15%}}
@media(max-width:760px){header{height:90px}.hero{height:auto;min-height:100svh;max-height:none;display:flex;flex-direction:column;justify-content:flex-start;padding:133px 7% 110px}.hero-copy{align-self:stretch;margin:0}.hero h1{font-size:clamp(48px,11vw,72px);white-space:normal}.hero-copy .eyebrow{font-size:10px;margin-bottom:18px}.hero-copy>p:not(.eyebrow){font-size:15px;margin:20px 0 18px;line-height:1.6}.hero .button{padding:12px 17px;gap:18px;font-size:13px}.scene{width:100%;height:360px;min-height:0;margin:5px 0 0;perspective:750px}.scene-card{width:min(55%,255px);height:75%;top:8%}.scene-card span{font-size:16px;bottom:14px;left:14px}.scene-controls{bottom:0}.scene-controls button{width:37px;height:37px}.scene-hint{display:none}.hero-bottom{bottom:18px;left:7%;right:7%;font-size:9px}.hero:after{width:110vw;height:110vw;right:-45%;top:67%}}
@media(max-width:400px){.hero{padding-top:115px;padding-bottom:100px}.hero h1{font-size:46px}.scene{height:300px}.scene-card{height:72%}.scene-controls{bottom:-8px}}
@media(prefers-reduced-motion:reduce){.scene-card,.scene-stage{transition:none!important}}
body.intro-playing{overflow:hidden}.intro{position:fixed;inset:0;z-index:100;background:radial-gradient(circle at 50% 45%,#586a51 0%,#2a392c 47%,#152219 100%);color:#f7f3e8;display:grid;place-items:center;perspective:1100px;overflow:hidden}.intro-glow{position:absolute;width:min(70vw,700px);height:min(70vw,700px);border-radius:50%;border:1px solid #f6f2e934;box-shadow:0 0 0 75px #ffffff08,0 0 0 160px #ffffff05;transform:rotateX(65deg);animation:intro-orbit 3.4s ease-in-out both}.intro-camera{width:min(34vw,330px);aspect-ratio:1;perspective:850px;animation:intro-dolly 3.4s cubic-bezier(.2,.7,.2,1) both}.intro-mark{width:100%;height:100%;position:relative;transform-style:preserve-3d;animation:intro-turn 3.4s cubic-bezier(.22,.75,.18,1) both;box-shadow:0 30px 95px #07170d99}.intro-front,.intro-back{position:absolute;inset:0;backface-visibility:hidden;background:#f6f2e9;display:grid;place-items:center;border:1px solid #ffffffaa}.intro-front img{width:100%;height:100%;object-fit:cover}.intro-back{transform:rotateY(180deg);font-family:Georgia,serif;color:#46543f;font-size:clamp(100px,15vw,180px)}.intro-caption{position:absolute;bottom:11%;font-size:11px;letter-spacing:.32em;animation:intro-caption 3.4s both}.intro-skip{position:absolute;right:5%;bottom:6%;z-index:2;border:0;border-bottom:1px solid #ffffff8c;background:transparent;color:#fff;font:14px Arial,sans-serif;padding:9px 0;cursor:pointer}.intro-skip span{margin-left:18px}.intro.is-leaving{animation:intro-out .65s ease-in forwards}.intro.is-done{display:none}
@keyframes intro-turn{0%{transform:rotateY(-180deg) rotateX(12deg)}45%{transform:rotateY(-32deg) rotateX(5deg)}72%,100%{transform:rotateY(0deg) rotateX(0deg)}}@keyframes intro-dolly{0%{transform:translateZ(-350px) scale(.5);opacity:0}18%{opacity:1}70%{transform:translateZ(0) scale(1)}100%{transform:translateZ(160px) scale(1.12)}}@keyframes intro-orbit{0%{opacity:0;transform:rotateX(75deg) scale(.55)}55%{opacity:1}100%{opacity:.5;transform:rotateX(65deg) scale(1.15)}}@keyframes intro-caption{0%,25%{opacity:0;transform:translateY(12px)}55%,85%{opacity:1;transform:none}100%{opacity:0}}@keyframes intro-out{to{opacity:0;visibility:hidden;transform:scale(1.08)}}
@media(max-width:760px){.intro-camera{width:min(62vw,280px)}.intro-caption{font-size:9px;bottom:15%;letter-spacing:.22em}.intro-skip{bottom:6%;right:8%}}
@media(prefers-reduced-motion:reduce){.intro{display:none}body.intro-playing{overflow:auto}}
/* Scroll story: the opening mark becomes an illuminated orb */
html{scroll-padding-top:0}.story{height:430svh;position:relative;background:#122016;color:#f7f3e8}.story-sticky{height:100svh;position:sticky;top:0;overflow:hidden;background:radial-gradient(circle at 68% 48%,#374d3f 0%,#182a21 38%,#101c16 82%)}.story-sticky:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#101e19d9 0%,#101e1980 46%,transparent 100%);z-index:1;pointer-events:none}.story-space{position:absolute;inset:0;perspective:1100px;transform-style:preserve-3d}.story-orb{position:absolute;width:clamp(340px,43vw,660px);aspect-ratio:1;top:50%;left:70%;border-radius:50%;transform:translate(-50%,-50%) rotateY(var(--orb-turn,0deg)) scale(var(--orb-scale,1));transform-style:preserve-3d;box-shadow:inset -45px -45px 85px #020b0dcc,inset 25px 20px 70px #f8f6c949,0 0 100px #c1e5c540,0 55px 90px #03120bd9;overflow:hidden;transition:transform .18s linear,filter .4s;background:radial-gradient(circle at 28% 24%,#e5e4c4 0%,#9dc1aa 10%,#456a5a 28%,#173944 57%,#071a22 78%)}.orb-core{position:absolute;inset:-12%;border-radius:50%;background:conic-gradient(from 210deg at 45% 50%,transparent 0 18%,#ebefb422 24%,transparent 31% 43%,#8cdbce77 48%,transparent 55% 70%,#e9e5a133 76%,transparent 85%);filter:blur(20px);transform:rotate(var(--orb-spin,0deg));transition:transform .18s linear}.story-orb:after{content:"";position:absolute;inset:7%;border-radius:50%;border:1px solid #ffffff3d;transform:rotate(-25deg) scaleX(.95);box-shadow:inset 12px 8px 30px #ffffff1c}.story-ring{position:absolute;top:50%;left:70%;width:clamp(440px,58vw,880px);aspect-ratio:1;border-radius:50%;border:1px solid #e8e7c740;transform:translate(-50%,-50%) rotateX(73deg) rotateZ(var(--ring-spin,0deg));box-shadow:0 0 45px #d5e2d323;transition:transform .18s linear}.ring-two{width:clamp(550px,68vw,1050px);border-color:#ffffff18;transform:translate(-50%,-50%) rotateX(78deg) rotateZ(var(--ring-spin,0deg))}.orb-reflection{position:absolute;bottom:3%;left:70%;width:35vw;height:8vw;border-radius:50%;background:#8cc6ad4a;filter:blur(50px);transform:translateX(-50%)}.story-panels{position:absolute;z-index:2;inset:0 50% 0 7%;display:flex;align-items:center;pointer-events:none}.story-panel{position:absolute;max-width:680px;opacity:0;transform:translateY(45px);transition:opacity .55s ease,transform .55s ease;pointer-events:none}.story-panel.active{opacity:1;transform:none;pointer-events:auto}.story-panel .eyebrow{color:#d7dbcc}.story-panel h1,.story-panel h2{font-size:clamp(52px,5.8vw,92px);line-height:1.02;letter-spacing:-.05em;color:#fcf9eb}.story-panel h1 em,.story-panel h2 em{font-weight:400}.story-panel>p:not(.eyebrow){font-size:clamp(16px,1.3vw,19px);line-height:1.8;color:#e4e9da;max-width:510px;margin:30px 0 0}.story-link{display:inline-block;border-bottom:1px solid #f7f3e8;padding-bottom:8px;margin-top:30px;font-size:15px}.story-link span{margin-left:24px}.story-frame,.story-bottom{position:absolute;left:7%;right:7%;z-index:3;display:flex;justify-content:space-between;letter-spacing:.2em;font-size:11px;pointer-events:none}.story-frame{top:130px}.story-bottom{bottom:31px}.story-progress{position:absolute;z-index:4;right:3%;top:35%;height:30%;width:1px;background:#ffffff55}.story-progress span{display:block;width:2px;height:100%;background:#f6e9b4;transform-origin:top;transform:scaleY(var(--story-progress,0))}.story-anchor{position:absolute;left:0;width:1px;height:1px}.anchor-about{top:0}.anchor-services{top:110svh}
/* Keep the photographic carousel as the bridge into the portfolio */
.hero{min-height:700px;max-height:950px}.hero-copy .eyebrow{color:#e4e9da}.hero h1{white-space:normal}
.intro-camera,.intro-mark,.intro-front,.intro-back{border-radius:50%}.intro-mark{box-shadow:0 30px 95px #07170d99,0 0 65px #dce9ce55}.intro-front,.intro-back{overflow:hidden}.intro-front img{object-fit:cover;transform:scale(1.02)}
@media(max-width:760px){.story{height:430svh}.story-sticky{background:radial-gradient(circle at 50% 30%,#3c5745,#14251c 65%,#0d1a13)}.story-sticky:before{background:linear-gradient(0deg,#0c1c15ee 0%,#112219b3 30%,transparent 70%)}.story-orb{left:50%;top:30%;width:min(76vw,370px)}.story-ring,.ring-two{left:50%;top:30%;width:95vw}.ring-two{width:118vw}.orb-reflection{left:50%;bottom:35%;width:70vw;height:15vw}.story-panels{inset:43% 7% 9%;align-items:center}.story-panel h1,.story-panel h2{font-size:clamp(42px,10vw,64px)}.story-panel>p:not(.eyebrow){font-size:15px;line-height:1.6;margin-top:17px}.story-panel .eyebrow{font-size:10px;margin-bottom:13px}.story-frame{top:105px;font-size:9px}.story-bottom{bottom:21px;font-size:8px;gap:12px}.story-bottom span:last-child{white-space:nowrap}.story-progress{right:4%;top:38%;height:22%}.hero{min-height:750px}.hero h1{font-size:clamp(48px,11vw,72px)}}
@media(max-width:400px){.story-panels{inset:42% 7% 7%}.story-panel h1,.story-panel h2{font-size:40px}.story-panel>p:not(.eyebrow){font-size:14px}.story-orb{top:29%;width:72vw}}
@media(prefers-reduced-motion:reduce){.story-panel,.story-orb,.story-ring,.orb-core{transition:none}}
.intro-front:after{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 28% 24%,#e5e4c4,#9dc1aa 14%,#456a5a 35%,#173944 63%,#071a22 85%);box-shadow:inset -18px -18px 35px #020b0db0,inset 12px 12px 25px #f8f6c96b;opacity:0;animation:mark-to-orb 3.4s ease-in-out both}@keyframes mark-to-orb{0%,69%{opacity:0}91%,100%{opacity:1}}
@media(prefers-reduced-motion:reduce){.intro-front:after{animation:none}}
/* The brand symbol travels down through the narrative. */
.story-orb{top:calc(27% + var(--orb-y,0vh));left:72%;background:#f9f7ed url('assets/logo.webp') center top/180% auto no-repeat;transform:translate(-50%,-50%) scale(var(--orb-scale,1));box-shadow:inset 0 0 45px #48604438,0 0 0 1px #fff8,0 0 80px #e0e8cf55,0 45px 85px #07170d88;transition:top .13s linear,transform .13s linear}.orb-core{display:none}.story-orb:after{inset:0;border:12px solid #ffffff26;box-shadow:inset 0 0 35px #24382355;transform:none}.story-ring{top:calc(27% + var(--orb-y,0vh));left:72%;transform:translate(-50%,-50%) rotateX(73deg);transition:top .13s linear}.ring-two{transform:translate(-50%,-50%) rotateX(78deg)}.orb-reflection{display:none}.intro-front:after{display:none}.story-panel{transition:opacity .65s ease,transform .65s ease}.story-sticky{background:radial-gradient(circle at 70% 50%,#425843,#1b3024 47%,#101e17 85%)}
.hero .button{border:0;cursor:pointer;font-family:inherit}.hero-bottom a{display:none}.scene-card[data-position="center"]{cursor:zoom-in}.scene-card span{font-size:clamp(16px,1.6vw,21px)}
.event-dialog{padding:0;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;background:#f8f5eb;color:#333c31;overflow:auto}.event-dialog::backdrop{background:#0c160fee}.event-detail{min-height:100%;position:relative}.event-cover{height:clamp(260px,43vh,530px);overflow:hidden}.event-cover img{height:100%;object-fit:cover}.event-close{position:fixed;z-index:10;right:28px;top:24px;background:#f8f5eb;border:0;border-radius:50%;width:49px;height:49px;color:#30382d;font-size:35px;line-height:1;cursor:pointer;box-shadow:0 5px 22px #0004}.event-intro{max-width:1100px;margin:0 auto;padding:70px 7% 65px}.event-intro h2{max-width:850px}.event-intro>p:not(.eyebrow){font-size:18px;line-height:1.8;max-width:680px;color:#646b60}.event-intro span{font-size:12px;letter-spacing:.2em}.event-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:42px 28px;max-width:1300px;margin:auto;padding:0 7% 100px}.event-gallery figure{margin:0}.event-gallery img{width:100%;height:460px;object-fit:cover}.event-gallery figure:first-child,.event-gallery figure:last-child{grid-column:1/-1}.event-gallery figure:first-child img,.event-gallery figure:last-child img{height:580px}.event-gallery figcaption{font-family:Georgia,serif;font-style:italic;font-size:18px;margin-top:12px;color:#656f61}.event-end{text-align:center;padding:0 0 95px}.event-back{font-family:Georgia,serif;font-size:20px;background:transparent;border:0;border-bottom:1px solid #8b9886;padding:10px;cursor:pointer}
@media(max-width:760px){.story-orb,.story-ring{top:calc(24% + var(--orb-y,0vh));left:50%}.story-orb{width:min(70vw,350px)}.story-panel>p:not(.eyebrow){max-width:95%}.story-panels{inset:48% 7% 6%}.event-cover{height:30vh}.event-intro{padding:46px 7%}.event-intro h2{font-size:46px}.event-intro>p:not(.eyebrow){font-size:16px}.event-gallery{display:block;padding:0 7% 60px}.event-gallery figure{margin-bottom:33px}.event-gallery img,.event-gallery figure:first-child img,.event-gallery figure:last-child img{height:auto;max-height:580px;object-fit:contain;background:#e6e8dd}.event-close{top:15px;right:15px}.scene-hint{display:block;bottom:-48px;font-size:9px}}
@media(max-width:400px){.story-panels{inset:48% 7% 5%}.story-orb{width:67vw}.event-intro h2{font-size:40px}}
.event-meta{display:flex;justify-content:space-between;gap:25px;max-width:680px;border-top:1px solid #bec6b6;padding-top:20px;margin-top:38px}.event-meta span{font-size:13px;letter-spacing:.1em;text-transform:uppercase}.event-credit{font-size:14px!important;margin:16px 0 0!important}.event-credit[hidden]{display:none}.event-gallery figure:first-child,.event-gallery figure:last-child{grid-column:auto}.event-gallery figure:first-child img,.event-gallery figure:last-child img{height:460px}.event-gallery figure:nth-child(5n+1){grid-column:1/-1}.event-gallery figure:nth-child(5n+1) img{height:580px}.event-gallery figure:nth-child(5n+1):last-child{grid-column:1/-1}
@media(max-width:760px){.event-meta{display:block}.event-meta span{display:block;margin:0 0 8px}.event-gallery figure:nth-child(5n+1) img{height:auto;max-height:580px}}
/* Contact invitation */
.contact-new{min-height:760px;display:grid;grid-template-columns:1fr 1fr;gap:5%;align-items:center;text-align:left;padding:110px 7%;background:radial-gradient(circle at 72% 48%,#4d604a 0%,#334534 37%,#1b2b21 80%);overflow:hidden}.contact-new:before{display:none}.contact-new>*{position:relative}.contact-heading{z-index:2}.contact-heading .eyebrow{color:#cdd7c7}.contact-heading h2{font-size:clamp(58px,5.7vw,92px);line-height:1.05;letter-spacing:-.045em}.contact-heading>p:not(.eyebrow){font-size:18px;color:#e3e9db;max-width:390px;line-height:1.8;margin-top:33px}.contact-scene{height:550px;perspective:1200px;display:grid;place-items:center;touch-action:pan-y}.contact-halo{position:absolute;width:510px;height:510px;max-width:110%;border-radius:50%;border:1px solid #dcebd346;box-shadow:0 0 0 70px #ffffff07,0 0 0 140px #ffffff05;transform:rotateX(70deg);pointer-events:none}.contact-card{width:min(78%,380px);height:490px;position:relative;transform-style:preserve-3d;transform:rotateY(-13deg) rotateX(5deg);transition:transform .25s ease-out,box-shadow .3s;box-shadow:23px 32px 55px #07160b98,0 0 0 1px #fff8;will-change:transform}.contact-card:before{content:"";position:absolute;inset:8px -9px -8px 9px;background:#b4ba9d;transform:translateZ(-18px);box-shadow:12px 14px 20px #07160b77}.contact-card-inner{position:absolute;inset:0;display:flex;flex-direction:column;padding:28px 31px 30px;background:linear-gradient(140deg,#fcf9ed,#eae9d8);color:#344132;transform:translateZ(20px);border:1px solid #d4d5c5}.contact-card-top{display:flex;justify-content:space-between;align-items:start;gap:10px;font-size:10px;letter-spacing:.18em}.contact-card-top span:first-child{font-family:Georgia,serif;font-size:23px;letter-spacing:.2em;line-height:1}.contact-card-top span:last-child{text-align:right;font-size:9px}.contact-symbol{width:125px;height:125px;border-radius:50%;background:#f8f6ed url('assets/logo.webp') center top/180% auto no-repeat;align-self:center;margin:32px 0 13px;box-shadow:0 0 0 1px #87947c55,0 0 0 13px #81907813}.contact-card-inner>p{font-family:Georgia,serif;text-align:center;font-size:29px;line-height:1.15;margin:14px 0 auto;color:#364332}.contact-card-links{border-top:1px solid #aab6a4}.contact-card-links a{display:flex;justify-content:space-between;align-items:center;padding:15px 0;border-bottom:1px solid #aab6a4;font-size:15px;transition:padding .2s,color .2s}.contact-card-links a:hover{padding-left:8px;color:#758a63}.contact-card-links a span:last-child{font-size:21px;line-height:1}.contact-scene-note{position:absolute;bottom:0;font-size:10px;letter-spacing:.25em;color:#d8e2d3}.contact-card:focus-within{transform:rotateY(0deg) rotateX(0deg)!important}.contact-card a:focus-visible{outline:2px solid #3d5b36;outline-offset:3px}
@media(max-width:900px){.contact-new{grid-template-columns:1fr;gap:30px;text-align:center;padding:95px 7% 75px}.contact-heading>p:not(.eyebrow){margin:25px auto 0}.contact-scene{height:535px}.contact-heading h2{font-size:clamp(50px,9vw,72px)}}
@media(max-width:480px){.contact-new{padding:75px 7% 60px}.contact-heading h2{font-size:clamp(45px,11vw,60px)}.contact-heading>p:not(.eyebrow){font-size:16px}.contact-scene{height:500px}.contact-card{width:min(83%,335px);height:440px}.contact-card-inner{padding:23px}.contact-symbol{width:105px;height:105px;margin:25px 0 8px}.contact-card-inner>p{font-size:27px}.contact-card-top span:first-child{font-size:19px}.contact-scene-note{bottom:-3px}}
@media(prefers-reduced-motion:reduce){.contact-card{transition:none;transform:none}}
/* Clear navigation and tappable contact details */
.story-bottom{justify-content:flex-end}.contact-new{min-height:820px}.contact-scene{height:610px}.contact-card{height:545px}.contact-card-inner{transform:none}.contact-symbol{width:105px;height:105px;margin:23px 0 8px}.contact-card-inner>p{font-size:27px;margin:7px 0 auto}.contact-card-links{position:relative;z-index:5}.contact-card-links a{min-height:66px;padding:10px 0;gap:8px;position:relative;z-index:2}.contact-link-main{display:flex;gap:12px;align-items:center;min-width:0}.contact-link-main svg{width:21px;height:21px;flex:none}.contact-link-main strong{display:block;font-weight:500;font-size:15px;line-height:1.2}.contact-link-main small{display:block;font-size:11px;line-height:1.3;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:230px;color:#697467}.contact-card-links a>span:last-child{flex:none}.contact-card-inner{padding-bottom:24px}
@media(max-width:900px){.contact-scene{height:610px}}
@media(max-width:480px){.contact-scene{height:570px}.contact-card{height:515px;width:min(87%,345px)}.contact-card-inner{padding:22px}.contact-symbol{width:93px;height:93px;margin:20px 0 7px}.contact-card-inner>p{font-size:24px}.contact-card-links a{min-height:65px}.contact-link-main small{max-width:195px;font-size:10px}}
@media(max-width:760px){.story-label{opacity:0;transition:opacity .35s}.story.has-scrolled .story-label{opacity:1}}
/* Motion begins as the contact section enters the viewport. */
.motion-contact .contact-heading{opacity:0;transform:translateY(45px);transition:opacity .9s ease,transform .9s ease}.motion-contact .contact-card{opacity:0;transform:translateY(100px) rotateY(-55deg) rotateX(15deg);transition:opacity .95s ease,transform 1.1s cubic-bezier(.2,.8,.2,1),box-shadow .3s}.motion-contact .contact-halo{opacity:0;transform:rotateX(70deg) scale(.6);transition:opacity 1.2s .25s,transform 1.2s .25s}.motion-contact .contact-new.is-visible .contact-heading{opacity:1;transform:none}.motion-contact .contact-new.is-visible .contact-card{opacity:1;transform:rotateY(-13deg) rotateX(5deg)}.motion-contact .contact-new.is-visible .contact-halo{opacity:1;transform:rotateX(70deg) scale(1)}
@media(prefers-reduced-motion:reduce){.motion-contact .contact-heading,.motion-contact .contact-card,.motion-contact .contact-halo{opacity:1;transform:none;transition:none}}
.contact-email-row{display:flex;align-items:stretch;border-bottom:1px solid #aab6a4}.contact-email-row a{flex:1;min-width:0;border-bottom:0}.copy-email{border:0;background:transparent;color:#3b4a37;width:35px;flex:none;cursor:pointer;display:grid;place-items:center}.copy-email svg{width:18px;height:18px}.copy-email:hover{color:#758a63}.copy-email:focus-visible{outline:2px solid #3d5b36}.copy-feedback{font-size:11px;color:#546a4d;position:absolute;right:25px;bottom:3px}
/* Mobile story composition: text in front of the brand medallion. */
@media(max-width:760px){
  .story-sticky:before{background:linear-gradient(90deg,#0b1d15ed 0%,#0b1d15c9 43%,#0b1d1533 82%,transparent 100%),linear-gradient(0deg,#0b1d1580,transparent 42%)}
  .story-panels{inset:22% 7% 12%;align-items:center}
  .story-panel{max-width:100%;width:100%;text-shadow:0 2px 22px #08180bb8}
  .story-panel h1,.story-panel h2{font-size:clamp(43px,10.5vw,62px);max-width:95%}
  .story-panel>p:not(.eyebrow){max-width:79%;font-size:15px;line-height:1.65}
  .story-orb{top:calc(53% + var(--orb-y,0vh));left:80%;width:min(78vw,370px);opacity:.88;box-shadow:inset 0 0 45px #48604438,0 0 0 1px #fff8,0 0 80px #e0e8cf33,0 45px 85px #07170d88}
  .story-ring,.ring-two{top:calc(53% + var(--orb-y,0vh));left:80%;opacity:.45}
  .story-progress{top:34%;height:30%}
}
@media(max-width:420px){
  .story-panels{inset:20% 7% 11%}
  .story-panel h1,.story-panel h2{font-size:clamp(40px,10vw,48px)}
  .story-panel>p:not(.eyebrow){max-width:82%;font-size:14px}
  .story-orb{left:81%;width:80vw}
  .story-ring,.ring-two{left:81%}
}
/* Scroll-driven invitation book */
.contact-new{height:260svh;min-height:0;display:block;padding:0;text-align:left;background:#16261c;overflow:visible}.contact-sticky{position:sticky;top:0;height:100svh;min-height:650px;overflow:hidden;background:radial-gradient(circle at 50% 46%,#4b614c 0%,#2d4334 43%,#15271c 85%)}.contact-scene{height:100%;width:100%;perspective:1450px;display:grid;place-items:center;overflow:hidden}.contact-halo{width:620px;height:620px;transform:rotateX(70deg);opacity:.8}.contact-card{width:min(44vw,460px);height:min(65vh,560px);min-height:510px;transform:translateX(var(--book-shift,0%));transition:none;box-shadow:0 35px 75px #07160b9a;isolation:auto}.contact-card:before{inset:8px -7px -8px 7px}.contact-card-inner{z-index:1;transform:none;padding:29px 34px 31px;backface-visibility:hidden}.contact-card-inner .contact-card-top{margin-bottom:10px}.contact-card-inner .contact-symbol{width:98px;height:98px;margin:18px 0 8px}.contact-card-inner>p{font-size:29px;margin:9px 0 auto}.contact-card-inner .contact-card-links a{min-height:67px}.contact-card:not(.is-open) .contact-card-inner{pointer-events:none}.contact-card.is-open .contact-card-inner{pointer-events:auto}.contact-cover{position:absolute;inset:0;z-index:5;transform-origin:left center;transform:rotateY(var(--cover-angle,0deg));transform-style:preserve-3d;pointer-events:none;box-shadow:10px 15px 35px #0b1c0b65}.contact-cover-front,.contact-cover-back{position:absolute;inset:0;backface-visibility:hidden;background:linear-gradient(145deg,#faf8ee,#e6e8d9);color:#354331;border:1px solid #cdd2bd;display:flex;flex-direction:column;align-items:center;text-align:center;padding:38px 28px}.contact-cover-front:after{content:"";position:absolute;inset:13px;border:1px solid #9fae994d;pointer-events:none}.contact-cover-back{transform:rotateY(180deg);justify-content:center;background:linear-gradient(140deg,#e4e8d9,#f7f5eb)}.cover-kicker{font-size:11px;letter-spacing:.25em;margin-bottom:auto}.cover-symbol{width:120px;height:120px;border-radius:50%;background:#f8f6ed url('assets/logo.webp') center top/180% auto no-repeat;box-shadow:0 0 0 1px #81907888,0 0 0 14px #81907812;flex:none}.contact-cover-front h2{font-size:clamp(37px,3.4vw,53px);line-height:1.04;letter-spacing:-.04em;margin:27px 0 0}.contact-cover-front>p{font-size:16px;line-height:1.6;color:#606c5b;margin:23px 0 25px}.cover-signature{font-family:Georgia,serif;font-size:13px;letter-spacing:.15em;margin-top:auto}.contact-cover-back .cover-symbol{width:160px;height:160px}.contact-cover-back p{font-family:Georgia,serif;font-size:35px;line-height:1.2;margin:45px 0 0}.contact-scene-note{bottom:5%;z-index:10;pointer-events:none}.contact-new .contact-card:focus-within{transform:translateX(var(--book-shift,0%))!important}
@media(max-width:900px){.contact-card{width:min(55vw,420px);height:540px}.contact-card-inner{padding:26px 30px}.contact-cover-front h2{font-size:44px}}
@media(max-width:760px){.contact-new{height:245svh}.contact-sticky{min-height:0}.contact-card{width:min(84vw,360px);height:520px;min-height:0;transform:none}.contact-new .contact-card:focus-within{transform:none!important}.contact-card-inner{padding:23px}.contact-card-inner .contact-symbol{width:88px;height:88px;margin:14px 0 4px}.contact-card-inner>p{font-size:25px}.contact-card-inner .contact-card-links a{min-height:62px}.contact-cover-front,.contact-cover-back{padding:30px 20px}.contact-cover-front h2{font-size:clamp(38px,10vw,49px);margin:25px 0 0}.contact-cover-front .cover-symbol{width:105px;height:105px}.contact-cover-front>p{font-size:15px;margin:20px 0}.contact-scene-note{bottom:4%}}
@media(max-width:400px){.contact-card{width:85vw;height:505px}.contact-cover-front{padding:25px 16px}.contact-cover-front h2{font-size:37px}.contact-cover-front>p{font-size:14px}.contact-card-inner>p{font-size:23px}.contact-card-inner .contact-card-links a{min-height:61px}}
@media(prefers-reduced-motion:reduce){.contact-new{height:auto}.contact-sticky{position:relative;min-height:700px}.contact-cover{display:none}.contact-card{transform:none}}
/* The opened book fits the viewport, then turns toward the reader. */
.contact-card{transform:translateX(var(--book-shift,0%)) scale(var(--book-scale,1)) rotateY(var(--book-tilt,0deg));transform-style:preserve-3d;transform-origin:center center}.contact-new .contact-card:focus-within{transform:translateX(var(--book-shift,0%)) scale(var(--book-scale,1)) rotateY(var(--book-tilt,0deg))!important}
@media(max-width:760px){.contact-card,.contact-new .contact-card:focus-within{transform:translateX(var(--book-shift,0%)) scale(var(--book-scale,1)) rotateY(var(--book-tilt,0deg))!important}.contact-scene{overflow:hidden}.contact-cover-back p{font-size:32px}}
@media(prefers-reduced-motion:reduce){.contact-card,.contact-new .contact-card:focus-within{transform:none!important}}
.book-zoom{display:none;position:absolute;z-index:12;bottom:9%;left:50%;transform:translateX(-50%);border:1px solid #e5ead2b0;border-radius:999px;background:#15291edb;color:#f7f5ea;padding:10px 17px;font:13px Arial,sans-serif;white-space:nowrap;cursor:pointer}
@media(max-width:760px){.contact-card.is-open~.contact-scene-note+.book-zoom{display:block}.contact-new.is-zoomed .contact-card,.contact-new.is-zoomed .contact-card:focus-within{transform:translateX(0) scale(1) rotateY(0)!important}.contact-new.is-zoomed .contact-cover{opacity:0;pointer-events:none}.contact-new.is-zoomed .contact-scene-note{opacity:0}.contact-new.is-zoomed .book-zoom{bottom:4%}}
@media(prefers-reduced-motion:reduce){.book-zoom{display:none!important}}
/* A single menu on all screen sizes. */
header .site-menu{position:relative;z-index:30;color:#f7f3e8}.site-menu summary{list-style:none;display:flex;align-items:center;gap:13px;cursor:pointer;padding:11px 0 11px 15px;min-width:84px;justify-content:flex-end}.site-menu summary::-webkit-details-marker{display:none}.site-menu summary:focus-visible{outline:2px solid #f7f3e8;outline-offset:5px}.menu-label{font-size:11px;letter-spacing:.18em}.menu-lines{width:27px;height:19px;display:flex;flex-direction:column;justify-content:space-between}.menu-lines i{height:1px;width:100%;background:currentColor;display:block;transition:transform .3s,opacity .3s}.site-menu[open] .menu-lines i:first-child{transform:translateY(9px) rotate(45deg)}.site-menu[open] .menu-lines i:nth-child(2){opacity:0}.site-menu[open] .menu-lines i:last-child{transform:translateY(-9px) rotate(-45deg)}
header .site-menu nav{position:absolute;top:calc(100% + 13px);right:0;width:290px;display:block;background:#f8f5ea;color:#334131;padding:15px 25px;box-shadow:0 18px 50px #0c1b12a8;border:1px solid #ffffffaa;font-size:18px;letter-spacing:0}.site-menu nav a{display:flex!important;justify-content:space-between;align-items:center;padding:16px 3px;border-bottom:1px solid #c5ccbe;font-family:Georgia,serif;opacity:1;transition:padding-left .2s,color .2s}.site-menu nav a:last-child{border-bottom:0}.site-menu nav a:hover{padding-left:10px;color:#697c5d}.site-menu nav a:after{content:"↗";font:17px Arial,sans-serif}.site-menu .nav-contact{padding:16px 3px;border-bottom:0}.site-menu .nav-contact span{display:none}
@media(max-width:760px){header .site-menu nav{width:min(78vw,300px)}.site-menu .menu-label{display:none}.site-menu summary{min-width:44px;padding:12px 0 12px 14px}.site-menu nav a{font-size:20px}}
/* Align the center of the botanical Z within the moving story medallion. */
.story-orb{background-position:center 13%}
.hero-copy .open-event{margin-top:34px}
@media(max-width:760px){.hero-copy .open-event{margin-top:22px}}

/* Frame only the botanical monogram in the story orb. */
.story-orb{background-size:209% auto;background-position:49% 17%}

/* Keep all three contact-book monograms optically centered. */
.contact-symbol,.cover-symbol{background-size:209% auto;background-position:49% 17%}

/* A single mark remains on the cover; center the interior page messages. */
.contact-card-inner>p{margin:auto 0}
.contact-cover-back p{margin:0}

/* Keep footer text readable against the green page background. */
footer{background:#102219;color:#f4f3e8}footer p,footer>span{color:#d0dbc7}


/* On small screens, show the content immediately instead of delaying it behind the opening animation. */


