:root{--ink:#252922;--paper:#f4f3ec;--cream:#e8e7dd;--accent:#d66246;--serif:'Cormorant Garamond',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);font-size:0.875rem}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.icon-library{position:absolute;width:0;height:0;overflow:hidden}.site-header{height:90px;padding:0 6%;display:flex;align-items:center;justify-content:space-between;background:var(--paper)}.wordmark,.footer-brand{display:block}.wordmark img{width:49px;height:60px;object-fit:contain}.footer-brand img{width:91px;height:111px;object-fit:contain}.desktop-nav{display:flex;gap:43px;font-size:0.75rem}.desktop-nav a,.footer-bottom a{transition:opacity .2s}.desktop-nav a:hover,.footer-bottom a:hover{opacity:.55}.header-cta,.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;border-radius:2px;font-size:0.75rem;font-weight:600}.header-cta{border:1px solid #abb0a6;padding:13px 16px}.header-cta svg,.button svg,.text-link svg{width:15px;height:15px}.menu-toggle,.mobile-nav{display:none}.hero{min-height:690px;display:grid;grid-template-columns:47% 53%;background:#e6e6dc}.hero-copy{padding:9% 8% 6% 13%;display:flex;align-items:flex-start;flex-direction:column;justify-content:center}h1,h2,p{margin:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.045em}h1{font-size:clamp(3.625rem,calc(1rem + 4.65vw),5.6875rem);line-height:.99}h1 em,h2 em{font-weight:400}.hero-copy>p{max-width:340px;font-size:0.9375rem;line-height:1.75;margin:28px 0 31px;color:#62675e}.button{border:0;padding:17px 19px;cursor:pointer;transition:background .2s,color .2s}.button-dark{background:#252a23;color:#fff}.button-dark:hover{background:#d66246}.button-light{background:#f3f1e9;color:var(--ink)}.button-light:hover{background:#d66246;color:#fff}.hero-note{width:100%;display:flex;gap:20px;margin-top:80px;font-size:0.625rem;color:#737970}.hero-image{position:relative;min-height:690px}.hero-image:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.36));pointer-events:none}.hero-image img{object-position:center 48%}.image-caption{position:absolute;z-index:1;bottom:30px;left:35px;color:white;font-family:var(--serif);font-style:italic;font-size:1.125rem}.ticker{overflow:hidden;background:var(--accent);color:#fff}.ticker-track{height:68px;display:flex;align-items:center;justify-content:space-around;gap:35px;min-width:1100px;font-size:0.625rem;letter-spacing:.12em}.section-pad{padding:125px 8%}.intro{display:grid;grid-template-columns:1.15fr .7fr;gap:14%;align-items:start}.intro-title{position:relative}.intro h2,.section-heading h2,.gallery h2,.contact h2{font-size:clamp(2.9375rem,calc(1rem + 3.75vw),4.625rem);line-height:1.05}.intro-copy{max-width:400px;padding-top:9px;color:#666b62;line-height:1.8;font-size:0.875rem}.intro-copy p+p{margin-top:20px}.text-link{display:inline-flex;align-items:center;gap:30px;color:var(--ink);font-size:0.75rem;font-weight:600;border-bottom:1px solid #8c9088;padding-bottom:10px;margin-top:28px}.stories{background:#e7e8df}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:45px}.section-heading p,.gallery-heading p{max-width:320px;color:#676d64;line-height:1.7}.story-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:14px;align-items:end}.story-card,.gallery-item{position:relative;display:block;width:100%;padding:0;border:0;overflow:hidden;background:#d6d5cc;cursor:pointer;text-align:left}.story-card-tall{height:570px}.story-card-short{height:460px}.story-card img,.gallery-item img{transition:transform .7s cubic-bezier(.2,.7,.2,1)}.story-card:hover img,.gallery-item:hover img{transform:scale(1.045)}.story-card:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.45))}.story-overlay{position:absolute;z-index:1;bottom:25px;left:25px;right:25px;color:white;display:flex;justify-content:space-between;align-items:center;font-family:var(--serif);font-size:1.4375rem}.story-overlay svg{width:22px;height:22px}.stories-footer{display:flex;align-items:center;justify-content:space-between;color:#6b7068;margin-top:24px}.stories-footer .text-link{margin:0}.approach{display:grid;grid-template-columns:1fr 1fr;background:#353e34;color:#f4f3ec}.approach-image{min-height:700px}.approach-copy{padding:12% 15%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.approach h2{font-size:clamp(3rem,calc(1rem + 3.55vw),4.5rem);line-height:1.05}.approach-copy>p{max-width:370px;color:#ced1c9;line-height:1.8;margin:27px 0 37px}.values{display:grid;grid-template-columns:repeat(3,1fr);width:100%;gap:15px;border-top:1px solid #727a70;padding:25px 0 35px}.values div{display:flex;flex-direction:column;gap:14px;font-size:0.6875rem}.values svg{width:23px;height:23px}.gallery-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:45px}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.gallery-item{height:350px}.gallery-item:nth-child(even){margin-top:45px}.contact{background:#dedfd4;display:grid;grid-template-columns:1fr .7fr;gap:15%}.contact>div>p{margin-top:25px;line-height:1.7;color:#62685f;max-width:300px}.contact form{display:flex;flex-direction:column;gap:23px}.contact label{font-size:0.75rem;font-weight:600}.contact label span{font-weight:400;color:#777d74}.contact input{display:block;width:100%;border:0;border-bottom:1px solid #a5aaa0;background:transparent;border-radius:0;padding:13px 0;color:var(--ink);outline:none}.contact input:focus{border-bottom-color:var(--ink)}.contact form .button{align-self:flex-start}.form-note{color:#6f756b;font-size:0.6875rem;line-height:1.6}footer{background:#272d26;color:#eee;padding:75px 8% 25px}.footer-top{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:90px}.footer-top p{font-family:var(--serif);font-size:1.5625rem;line-height:1.15;color:#d5d8cf}.back-top{border:1px solid #788075;width:45px;height:45px;display:grid;place-items:center}.footer-bottom{border-top:1px solid #5c6459;padding-top:24px;display:flex;justify-content:space-between;color:#b8bdb4;font-size:0.625rem}.footer-bottom div{display:flex;gap:25px}.lightbox{position:fixed;max-width:none;max-height:none;width:100%;height:100%;border:0;padding:50px;background:rgba(20,24,20,.94)}.lightbox::backdrop{background:rgba(0,0,0,.8)}.lightbox img{object-fit:contain}.lightbox-close{position:absolute;right:25px;top:15px;border:0;background:none;color:#fff;font-size:2.5rem;cursor:pointer}.menu-toggle{border:0;background:none;width:36px;padding:8px}.menu-toggle span{display:block;height:1px;background:var(--ink);margin:6px 0}.mobile-nav{background:var(--paper);padding:10px 6% 25px}.mobile-nav a{padding:12px 0;border-top:1px solid #d5d8d0}
@media(max-width:800px){.site-header{height:75px}.desktop-nav,.header-cta{display:none}.menu-toggle{display:block}.mobile-nav.open{display:flex;flex-direction:column}.hero{grid-template-columns:1fr}.hero-copy{padding:70px 7% 55px;min-height:490px}.hero-note{margin-top:55px}.hero-image{min-height:520px;height:68vh}.section-pad{padding:80px 7%}.intro,.contact{grid-template-columns:1fr;gap:35px}.section-heading,.gallery-heading{align-items:start;flex-direction:column;gap:20px}.story-grid{grid-template-columns:1fr 1fr}.story-card-tall{grid-column:span 2;height:500px}.story-card-short{height:350px}.approach{grid-template-columns:1fr}.approach-image{min-height:500px;height:65vh}.approach-copy{padding:80px 7%}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-item{height:350px}.gallery-item:nth-child(even){margin-top:0}.gallery-item:nth-child(2),.gallery-item:nth-child(4){transform:translateY(30px)}.gallery{padding-bottom:110px}.footer-bottom{gap:20px;flex-wrap:wrap}.footer-top{padding-bottom:70px}.footer-top p{font-size:1.25rem}}
@media(max-width:480px){h1{font-size:3.4375rem}.intro h2,.section-heading h2,.gallery h2,.contact h2,.approach h2{font-size:2.875rem}.hero-image{min-height:450px}.story-card-tall{height:410px}.story-card-short{height:270px}.story-overlay{left:15px;right:15px;bottom:18px;font-size:1.125rem}.gallery-item{height:260px}.stories-footer{align-items:start;gap:25px;flex-direction:column}.footer-top p{display:none}.values{gap:8px}.values div{font-size:0.625rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Full-bleed hero video */
.hero{position:relative;display:block;overflow:hidden}
.hero-image{position:absolute;inset:0;min-height:0;height:100%}
.hero-video{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-image:after{inset:0;background:linear-gradient(90deg,rgba(20,24,20,.78),rgba(20,24,20,.25) 75%)}
.hero-copy{position:relative;z-index:1;min-height:690px;width:60%;color:#fff}
.hero-copy>p,.hero-note{color:#f1f1ec}
@media(max-width:800px){.hero-image{min-height:0;height:100%}.hero-image:after{background:linear-gradient(0deg,rgba(20,24,20,.65),rgba(20,24,20,.3))}.hero-copy{width:100%;min-height:700px}}

/* Editorial refinements */
body{font-size:1rem}
h1,h2{font-weight:500;letter-spacing:-.035em}
h1{font-size:clamp(4rem,calc(1.5rem + 4.5vw),6.5rem);line-height:.91}
h1 em,h2 em{font-weight:500}
.site-header{height:96px}
.wordmark img{width:55px;height:68px}
.desktop-nav{font-size:.9375rem;gap:clamp(28px,3vw,48px)}
.header-cta,.button,.text-link{font-size:.875rem}
.hero-copy{width:min(65%,850px);padding-left:8%}
.hero-copy>p{font-size:1.0625rem;max-width:390px;line-height:1.7}
.hero-copy .button{background:var(--paper);color:var(--ink)}
.hero-copy .button:hover{background:var(--accent);color:#fff}
.ticker-track{min-width:0;height:auto;min-height:68px;padding:18px 8%;gap:24px;font-size:.9375rem;letter-spacing:0;justify-content:space-between}
.section-pad{padding:clamp(80px,8.5vw,140px) 8%}
.intro h2,.section-heading h2,.gallery h2,.contact h2,.moments h2,.closing-story h2{font-size:clamp(3.25rem,calc(1.4rem + 3.5vw),5.4rem);line-height:.96}
.intro-copy,.section-heading p,.gallery-heading p,.approach-copy>p,.contact>div>p{font-size:1rem;line-height:1.75}
.intro-copy{color:#4f564d}
.section-heading p,.gallery-heading p{max-width:360px;color:#50584f}
.story-overlay{font-size:1.75rem;font-weight:600}
.stories-footer{font-size:.9375rem}
.approach h2{font-size:clamp(3.25rem,calc(1.4rem + 3.5vw),5.4rem);line-height:.96}
.values div{font-size:.875rem;line-height:1.4}
.contact label{font-size:.875rem}
.form-note{font-size:.875rem}
.footer-bottom{font-size:.8125rem}
.footer-top p{font-size:1.875rem}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:4px}

/* A structured grid and an image-led closing story echo the references. */
.moments{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,8vw,130px);align-items:center;background:var(--paper)}
.moments-intro>p{max-width:400px;margin-top:26px;color:#50584f;line-height:1.75}
.moments-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #d8dbd2;border-left:1px solid #d8dbd2}
.moment-card{min-height:240px;padding:clamp(22px,2.5vw,36px);border-right:1px solid #d8dbd2;border-bottom:1px solid #d8dbd2;display:flex;flex-direction:column;align-items:flex-start}
.moment-icon{display:grid;place-items:center;width:40px;height:40px;background:var(--accent);color:#fff;margin-bottom:25px}
.moment-icon svg{width:21px;height:21px}
.moment-card h3{font-family:var(--serif);font-size:1.75rem;font-weight:600;line-height:1.05;margin:0 0 14px}
.moment-card p{font-size:.9375rem;line-height:1.6;color:#50584f;max-width:260px}
.moment-card-accent{background:var(--accent);color:#fff;border-color:var(--accent)}
.moment-card-accent h3{font-size:2rem}
.moment-card-accent p{color:#fff}
.moment-card-accent a{display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(255,255,255,.7);margin-top:auto}
.closing-story{display:grid;grid-template-columns:1fr 1fr;background:#e7e8df}
.closing-image{min-height:700px}
.closing-copy{padding:clamp(60px,8vw,120px);display:grid;grid-template-columns:1fr .62fr;gap:30px;align-items:center}
.closing-copy>div{align-self:center}
.closing-copy p{margin-top:25px;color:#50584f;line-height:1.75}
.closing-copy>img{height:clamp(250px,27vw,410px);align-self:end}
@media(max-width:1000px){.moments{grid-template-columns:1fr;gap:50px}.moments-intro>p{max-width:500px}.closing-copy{grid-template-columns:1fr;padding:60px 10%}.closing-copy>img{width:55%;height:300px;justify-self:end}}
@media(max-width:800px){.site-header{height:82px}.wordmark img{width:49px;height:60px}.hero-copy{width:100%;padding:80px 7%;min-height:700px}.ticker-track{padding-left:7%;padding-right:7%;font-size:.875rem}.section-pad{padding:80px 7%}.intro h2,.section-heading h2,.gallery h2,.contact h2,.moments h2,.closing-story h2,.approach h2{font-size:clamp(3.25rem,calc(1.5rem + 5vw),4.75rem)}.closing-story{grid-template-columns:1fr}.closing-image{min-height:480px;height:60vh}.closing-copy{padding:70px 7%;grid-template-columns:1fr .65fr}.closing-copy>img{width:100%;height:320px}.footer-bottom{font-size:.8125rem}}
@media(max-width:480px){h1{font-size:clamp(3.5rem,calc(1.5rem + 9vw),4.5rem)}.ticker-track{gap:12px;font-size:.75rem}.moment-card{min-height:215px;padding:20px 16px}.moment-card h3{font-size:1.5rem}.moment-card p{font-size:.875rem}.moment-card-accent h3{font-size:1.7rem}.closing-copy{grid-template-columns:1fr}.closing-copy>img{width:60%;height:260px}.values div{font-size:.8125rem}.story-overlay{font-size:1.4rem}}

/* Contact and footer */
.contact{grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:clamp(50px,9vw,150px);align-items:start}
.contact-intro>p{max-width:390px}
.contact-details{font-style:normal;display:grid;gap:22px;margin-top:42px}
.contact-details>div{display:flex;align-items:flex-start;gap:18px;line-height:1.6}
.contact-details svg{flex:none;width:21px;height:21px;margin-top:3px}
.social-links{display:flex;align-items:center;gap:12px;margin-top:30px}
.social-link{width:43px;height:43px;border:1px solid #a5aaa0;display:grid;place-items:center;color:var(--ink)}
.social-link svg{width:19px;height:19px}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.contact-intro .contact-placeholder{max-width:none;margin-top:28px;font-size:1rem;color:#50584f}
.contact form{background:var(--paper);padding:clamp(28px,4vw,55px);gap:22px}
.contact form h3{font-family:var(--serif);font-size:2rem;font-weight:600;line-height:1.1;margin:0 0 4px}
.contact form .form-note{font-size:.9375rem;color:#50584f}
.site-footer{padding:80px 8%;background:#20251f;color:#f4f3ec}
.footer-main{position:relative;display:grid;grid-template-columns:minmax(240px,1.35fr) minmax(150px,.65fr) minmax(220px,.8fr) auto;gap:clamp(45px,6vw,100px);align-items:start}
.footer-identity p{max-width:380px;margin-top:24px;line-height:1.75;color:#d5d8cf}
.footer-nav{display:grid;grid-template-columns:1fr;gap:15px}
.footer-nav h2,.footer-contact h2{font-family:var(--serif);font-size:1.625rem;font-weight:600;line-height:1;margin:0 0 12px}
.footer-nav a{font-size:.9375rem;line-height:1.4}
.footer-nav a:hover{color:#d7b19f}
.footer-contact address{font-style:normal;display:grid;gap:14px;color:#d5d8cf;line-height:1.65}
.footer-social{margin-top:28px}
.footer-social .social-link{color:#f4f3ec;border-color:#5d655b}
@media(max-width:1000px){.footer-main{grid-template-columns:1.2fr .7fr 1fr}.footer-main>.back-top{position:absolute;right:0;top:0}}
@media(max-width:800px){.contact{grid-template-columns:1fr;gap:45px}.site-footer{padding:65px 7%}.footer-main{grid-template-columns:1fr 1fr;gap:50px 35px}.footer-identity{grid-column:1/-1}.footer-main>.back-top{position:absolute;right:0;top:0}}
@media(max-width:480px){.contact form{padding:28px 22px}.footer-main{grid-template-columns:1fr}.footer-nav{gap:15px}.footer-contact{padding-top:10px}}

/* Equal story cards with uncropped images */
.story-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.story-card-tall,.story-card-short{height:auto;aspect-ratio:3/4}
.story-card img{object-fit:contain;background:#20251f}
.story-card:hover img{transform:none}
@media(max-width:800px){.story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.story-card-tall{grid-column:auto}}
@media(max-width:480px){.story-grid{grid-template-columns:1fr}.story-card-tall,.story-card-short{height:auto}}

/* Scroll reveals and floating glass navigation */
section{scroll-margin-top:7rem}
.site-header{position:fixed;z-index:1000;top:1rem;left:4%;right:4%;width:auto;height:5rem;padding:0 clamp(1.25rem,3vw,2.5rem);border:1px solid rgba(255,255,255,.52);border-radius:.5rem;background:rgba(244,243,236,.68);backdrop-filter:blur(1.15rem) saturate(145%);-webkit-backdrop-filter:blur(1.15rem) saturate(145%);transition:background .35s ease,border-color .35s ease,transform .35s ease}
.site-header.nav-scrolled{background:rgba(244,243,236,.86);border-color:rgba(255,255,255,.72);}
.site-header.nav-ready{animation:nav-enter .75s cubic-bezier(.2,.7,.2,1) both}
.mobile-nav{position:fixed;z-index:999;top:6.6rem;left:4%;right:4%;padding:1rem 1.25rem 1.35rem;border:1px solid rgba(255,255,255,.58);border-radius:1rem;background:rgba(244,243,236,.9);backdrop-filter:blur(1.15rem) saturate(145%);-webkit-backdrop-filter:blur(1.15rem) saturate(145%)}
.reveal-text{opacity:0;transform:translateY(1.6rem);filter:blur(.2rem);transition:opacity .75s cubic-bezier(.2,.7,.2,1),transform .75s cubic-bezier(.2,.7,.2,1),filter .75s ease;transition-delay:var(--reveal-delay,0ms);will-change:opacity,transform}
.reveal-text.is-visible{opacity:1;transform:translateY(0);filter:blur(0)}
@keyframes nav-enter{from{opacity:0;transform:translateY(-1rem) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:800px){.site-header{top:.75rem;left:3.5%;right:3.5%;height:4.5rem}.mobile-nav{top:5.85rem;left:3.5%;right:3.5%}}
@media(prefers-reduced-motion:reduce){.site-header.nav-ready{animation:none}.reveal-text,.reveal-text.is-visible{opacity:1;transform:none;filter:none;transition:none}}

/* Unified burgundy design system */
:root{
  --ink:#2e171e;
  --paper:#f8f3f1;
  --cream:#efe3e5;
  --accent:#7b2941;
  --accent-hover:#963b56;
  --burgundy-deep:#32101c;
  --burgundy:#571a2d;
  --burgundy-mid:#7b2941;
  --burgundy-soft:#d8b5bf;
  --blush:#eee1e4;
  --muted:#715d63;
  --line:#d9c8cd;
  --display-size:clamp(4rem,calc(1.5rem + 4.5vw),6.5rem);
  --section-size:clamp(3.25rem,calc(1.4rem + 3.5vw),5.4rem);
  --section-space:clamp(5.5rem,9vw,9rem);
}
body{background:var(--paper);color:var(--ink);font-size:1rem;font-weight:400;line-height:1.65}
h1,h2,h3{color:inherit;font-weight:500;letter-spacing:-.035em}
h1{font-size:var(--display-size);line-height:.92}
.intro h2,.section-heading h2,.gallery h2,.contact h2,.moments h2,.closing-story h2,.approach h2{font-size:var(--section-size);line-height:.97}
h1 em,h2 em{font-weight:500}
p{font-weight:400}
.section-pad{padding:var(--section-space) 8%}
.intro{gap:clamp(4rem,12vw,12rem)}
.section-heading,.gallery-heading{margin-bottom:clamp(2.5rem,4vw,4rem)}
.intro-copy,.section-heading p,.gallery-heading p,.moments-intro>p,.closing-copy p,.contact-intro>p{color:var(--muted)}
.intro-copy,.section-heading p,.gallery-heading p,.approach-copy>p,.contact>div>p{font-size:1rem;line-height:1.75}
.text-link{border-color:var(--burgundy-soft);font-size:.875rem;font-weight:500}
.button,.header-cta{border-radius:.3rem;font-size:.875rem;font-weight:500}
.button-dark{background:var(--burgundy);color:#fff}
.button-dark:hover{background:var(--accent-hover)}
.button-light{background:var(--paper);color:var(--burgundy-deep)}
.button-light:hover{background:var(--accent-hover);color:#fff}
.hero-image:after{background:linear-gradient(90deg,rgba(50,16,28,.82),rgba(50,16,28,.2) 75%)}
.hero-copy>p{color:#f6ecef}
.hero-copy .button{background:var(--paper);color:var(--burgundy-deep)}
.hero-copy .button:hover{background:var(--accent);color:#fff}
.stories{background:var(--blush)}
.story-card,.gallery-item{background:var(--burgundy-deep)}
.story-card img{background:var(--burgundy-deep)}
.story-overlay{font-size:clamp(1.25rem,1.6vw,1.65rem);font-weight:600}
.stories-footer{color:var(--muted);font-size:.9375rem}
.approach{background:var(--burgundy-deep);color:var(--paper)}
.approach-copy>p{color:#e3cfd5}
.values{border-color:#744356}
.values div{font-size:.875rem;font-weight:400}
.moments{background:var(--paper)}
.moments-grid{border-color:var(--line)}
.moment-card{border-color:var(--line);min-height:15rem}
.moment-icon,.moment-card-accent{background:var(--accent)}
.moment-card-accent{border-color:var(--accent)}
.moment-card h3{font-size:1.75rem;font-weight:600}
.moment-card p{color:var(--muted);font-size:.9375rem}
.moment-card-accent p{color:#fff}
.gallery{background:var(--paper)}
.gallery-grid{align-items:stretch}
.gallery-item,.gallery-item:nth-child(even){height:auto;aspect-ratio:4/5;margin-top:0;transform:none}
.closing-story{background:var(--blush)}
.closing-copy p{color:var(--muted)}
.contact{background:#e8dadd}
.contact-details>div{color:var(--ink)}
.contact-details svg{color:var(--accent)}
.contact-intro .contact-placeholder,.contact form .form-note{color:var(--muted)}
.contact form{background:var(--paper);border:1px solid var(--line)}
.contact form h3{font-size:2rem;font-weight:600}
.contact input{border-color:#bda8ae;color:var(--ink)}
.contact input:focus{border-color:var(--accent)}
.social-link{border-color:#bda8ae;color:var(--burgundy)}
.site-footer{background:#280c16;color:var(--paper)}
.footer-identity p,.footer-contact address{color:#dfcbd1}
.footer-nav h2,.footer-contact h2{font-weight:600}
.footer-nav a:hover{color:#e1a9b9}
.footer-social .social-link{color:var(--paper);border-color:#754355}
.back-top{border-color:#754355}
a:focus-visible,button:focus-visible,input:focus-visible{outline-color:var(--accent-hover)}
.site-header{border-color:rgba(123,41,65,.16);background:rgba(248,243,241,.74);}
.site-header.nav-scrolled{border-color:rgba(123,41,65,.22);background:rgba(248,243,241,.91);}
.header-cta{border-color:#bda8ae}
.mobile-nav{border-color:rgba(123,41,65,.18);background:rgba(248,243,241,.94);}
.mobile-nav a{border-color:var(--line)}

/* Reveal only when content enters view; unrevealed content remains readable. */
.reveal-text{opacity:1;transform:none;filter:none;transition:none;will-change:auto}
.reveal-text.is-visible{animation:text-reveal .72s cubic-bezier(.2,.7,.2,1) both;animation-delay:var(--reveal-delay,0ms)}
@keyframes text-reveal{from{opacity:0;transform:translateY(1.35rem);filter:blur(.18rem)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
@media(max-width:800px){.section-pad{padding:clamp(4.5rem,12vw,6rem) 7%}.hero-image:after{background:linear-gradient(0deg,rgba(50,16,28,.72),rgba(50,16,28,.18))}.gallery-item,.gallery-item:nth-child(even){transform:none}}
@media(prefers-reduced-motion:reduce){.reveal-text.is-visible{animation:none}}

/* Calm motion, shadow-free surfaces, and responsive refinements */

html,body{overflow-x:clip}
.site-header{transition:background .6s ease,border-color .6s ease,transform .6s ease}
.site-header.nav-ready{animation-duration:1.2s;animation-timing-function:cubic-bezier(.16,1,.3,1)}
.hero-image:after{background:none}
.hero:before{content:"";position:absolute;z-index:1;inset:0 auto 0 0;width:min(58%,56rem);pointer-events:none;background:linear-gradient(90deg,rgba(50,16,28,.38) 0%,rgba(50,16,28,.18) 48%,rgba(50,16,28,0) 100%)}
.hero-copy{z-index:2;min-height:clamp(42rem,100svh,55rem)}
.reveal-text.is-visible{animation-duration:1.25s;animation-timing-function:cubic-bezier(.16,1,.3,1)}
@keyframes text-reveal{from{opacity:0;transform:translateY(.9rem);filter:blur(.1rem)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
.menu-toggle{width:2.75rem;height:2.75rem;padding:.65rem;align-items:center;justify-content:center;flex-direction:column;gap:6px;cursor:pointer}
.menu-toggle span{width:100%;height:2px;flex:none;margin:0;transition:transform .45s cubic-bezier(.16,1,.3,1),opacity .35s ease}
.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)}
.mobile-nav{max-height:calc(100dvh - 7rem);overflow-y:auto}
.mobile-nav a{display:flex;align-items:center;min-height:2.75rem;font-size:.9375rem}
@media(max-width:800px){
  .menu-toggle{display:flex}
  .hero:before{width:92%;background:linear-gradient(90deg,rgba(50,16,28,.34) 0%,rgba(50,16,28,.13) 58%,rgba(50,16,28,0) 100%)}
  .hero-copy{min-height:clamp(38rem,100svh,50rem)}
  .story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .story-card:nth-child(3){grid-column:1/-1;width:calc(50% - .4375rem);justify-self:center}
}
@media(max-width:600px){
  .story-grid{grid-template-columns:1fr}
  .story-card:nth-child(3){grid-column:auto;width:100%}
  .gallery-grid{grid-template-columns:1fr 1fr}
  .moments-grid{grid-template-columns:1fr}
}
@media(max-width:480px){
  .hero:before{width:100%;background:linear-gradient(90deg,rgba(50,16,28,.3),rgba(50,16,28,.08) 82%,rgba(50,16,28,0))}
  .gallery-grid{grid-template-columns:1fr}
  .values{grid-template-columns:1fr;gap:0}
  .values div{flex-direction:row;align-items:center;padding:.8rem 0;border-bottom:1px solid #754355}
  .values div:last-child{border-bottom:0}
  .closing-copy>img{width:72%;max-width:18rem}
}
@media(max-height:540px) and (orientation:landscape){
  .site-header{top:.5rem;height:4rem}
  .mobile-nav{top:5rem;max-height:calc(100dvh - 5.5rem)}
  .hero-copy{min-height:38rem;padding-top:6.5rem}
}
