@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=DM+Sans:wght@400;500;600&display=swap');
:root{--cream:#F0E9E0;--cream2:#e5d9ca;--text:#7A7A7A;--ink:#191817;--white:#fff;--line:rgba(25,24,23,.16);--serif:'MadeCanvas','Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--max:1320px}
@font-face{font-family:MadeCanvas;src:url('assets/MadeCanvas-Black.woff2') format('woff2');font-weight:900;font-style:normal;font-display:swap}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--text);font-family:var(--sans);font-size:15px;line-height:1.7}img{display:block;width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.container{width:min(calc(100% - 64px),var(--max));margin:auto}.header{position:relative;z-index:20;padding:28px 0;background:var(--cream)}.header-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:30px}.nav{display:flex;gap:26px;align-items:center}.nav.right{justify-content:flex-end}.nav a{font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:var(--ink);opacity:.75}.nav a:hover{opacity:1}.logo{display:flex;align-items:center;gap:11px;color:var(--ink)}.logo-symbol{font-family:var(--serif);font-size:26px;font-weight:900}.logo-name{font-size:12px;letter-spacing:.2em;text-transform:uppercase}.menu{display:none;border:0;background:none;font-size:25px;color:var(--ink)}.mobile-nav{display:none}
.hero{padding:10px 0 90px}.hero-image{position:relative;min-height:82vh;overflow:hidden;background:#cfc5ba}.hero-image>picture>img{height:82vh;object-fit:cover}.hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.48),transparent 70%);pointer-events:none}.hero-caption{position:absolute;z-index:2;inset:0;display:flex;align-items:flex-end}.hero-caption-inner{width:min(720px,80%);padding:70px;color:#fff}.eyebrow{display:block;font-size:10px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;margin-bottom:18px}.hero h1{font-family:var(--serif);font-size:clamp(68px,8.5vw,142px);font-weight:900;line-height:.78;letter-spacing:-.045em;margin:0 0 30px}.hero p{max-width:520px;font-size:15px;line-height:1.8;margin:0 0 28px;color:rgba(255,255,255,.88)}.outline-btn{display:inline-block;border:1px solid currentColor;padding:13px 21px;font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:inherit;transition:.25s}.outline-btn:hover{background:#fff;color:var(--ink)}
.intro{padding:80px 0 120px;max-width:980px}.intro h2,.section-title{font-family:var(--serif);font-weight:900;color:var(--ink);font-size:clamp(55px,7vw,105px);line-height:.85;letter-spacing:-.04em;margin:0 0 32px}.intro p{max-width:640px;font-size:17px;margin:8px 0}.signature{font-family:var(--serif);font-style:italic;font-size:34px;color:var(--ink);margin-top:50px}.collage{display:grid;grid-template-columns:1.1fr .75fr 1fr;grid-template-rows:240px 460px 320px;gap:18px;padding-bottom:130px}.collage figure{margin:0;overflow:hidden}.collage img{height:100%;object-fit:cover;transition:transform .8s ease}.collage figure:hover img{transform:scale(1.035)}.c1{grid-row:1/3}.c2{grid-column:2}.c3{grid-column:3;grid-row:1/3}.c4{grid-column:2;grid-row:2}.c5{grid-column:1;grid-row:3}.c6{grid-column:2;grid-row:3}.c7{grid-column:3;grid-row:3}.c8{display:none}
.black{background:var(--ink);color:#cfc7bf;padding:130px 0;margin:0 0 120px;clip-path:polygon(0 6%,100% 0,100% 94%,0 100%)}.section-copy{padding:50px 0}.black .section-title{color:var(--cream);max-width:850px}.statement{font-family:var(--serif);font-size:clamp(32px,4vw,62px);line-height:1.05;max-width:850px;color:#f5efe8;margin:55px 0 30px}.black p{max-width:650px;font-size:16px}.heading{padding:20px 0 55px}.heading p{max-width:600px;font-size:16px}.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding-bottom:130px}.story-card img{aspect-ratio:4/5;object-fit:cover;margin-bottom:20px}.story-meta{font-size:10px;text-transform:uppercase;letter-spacing:.18em;margin-bottom:8px}.story-card h3{font-family:var(--serif);font-size:35px;line-height:.95;color:var(--ink);margin:0 0 10px}.story-card p{margin:0;max-width:390px}.awards{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:85px 0;margin-bottom:130px}.award-row{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.award{font-family:var(--serif);font-size:70px;color:var(--ink)}.award small{display:block;font-family:var(--sans);font-size:9px;letter-spacing:.18em;color:var(--text);margin-top:5px}.film-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding-bottom:130px}.film{position:relative;overflow:hidden}.film img{aspect-ratio:16/10;object-fit:cover;transition:transform .7s}.film:hover img{transform:scale(1.04)}.play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:64px;height:64px;border:1px solid #fff;color:#fff;border-radius:50%;display:grid;place-items:center;font-size:13px;padding-left:3px}.final-image{position:relative;margin-bottom:130px;overflow:hidden}.final-image>img{height:min(82vh,850px);object-fit:cover}.final-copy{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:65px;color:#fff;background:linear-gradient(transparent 25%,rgba(0,0,0,.6))}.final-copy h2{font-family:var(--serif);font-size:clamp(50px,6vw,90px);line-height:.85;max-width:780px;margin:0 0 20px;color:#fff}.final-copy p{max-width:500px;margin:0 0 25px}
.page-hero{padding:70px 0 90px;border-bottom:1px solid var(--line)}.page-hero h1{font-family:var(--serif);font-size:clamp(65px,9vw,135px);line-height:.8;color:var(--ink);margin:0;letter-spacing:-.05em}.page-hero p{max-width:620px;font-size:17px;margin:30px 0 0}.content{padding:100px 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.split img{aspect-ratio:4/5;object-fit:cover}.copy h2{font-family:var(--serif);font-size:60px;line-height:.9;color:var(--ink);margin:0 0 24px}.copy p{max-width:600px}.masonry{columns:3 280px;column-gap:18px}.masonry figure{break-inside:avoid;margin:0 0 18px;position:relative}.masonry img{width:100%}.filter-bar{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 40px}.filter{border:1px solid var(--line);background:none;padding:10px 16px;font-size:10px;text-transform:uppercase;letter-spacing:.15em;cursor:pointer}.filter.active,.filter:hover{background:var(--ink);color:var(--cream)}.story-list{display:grid;gap:90px}.story-feature{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center}.story-feature:nth-child(even){grid-template-columns:.9fr 1.1fr}.story-feature:nth-child(even) .story-feature-image{order:2}.story-feature-image img{aspect-ratio:4/3;object-fit:cover}.story-feature h2{font-family:var(--serif);font-size:64px;line-height:.9;color:var(--ink);margin:0 0 20px}.testimonial-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.quote{border-top:1px solid var(--line);padding:35px 0}.quote blockquote{font-family:var(--serif);font-size:38px;line-height:1.05;color:var(--ink);margin:0 0 20px}.quote cite{font-style:normal;font-size:10px;letter-spacing:.16em;text-transform:uppercase}.faq-list{max-width:900px;margin:auto}.faq{border-top:1px solid var(--line)}.faq button{width:100%;display:flex;justify-content:space-between;gap:30px;border:0;background:none;padding:25px 0;text-align:left;color:var(--ink);font-family:var(--serif);font-size:28px;cursor:pointer}.faq .answer{display:none;padding:0 70px 25px 0}.faq.open .answer{display:block}.faq button span:last-child{font-family:var(--sans);font-size:20px}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.contact-details h2{font-family:var(--serif);font-size:70px;line-height:.9;color:var(--ink);margin:0 0 25px}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:flex;flex-direction:column;gap:8px}.field.full{grid-column:1/-1}.field label{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:var(--ink)}.field input,.field textarea,.field select{border:0;border-bottom:1px solid var(--line);background:transparent;padding:12px 0;color:var(--ink);outline:none}.field textarea{min-height:130px;resize:vertical}.submit{grid-column:1/-1;justify-self:start;border:1px solid var(--ink);background:var(--ink);color:var(--cream);padding:15px 25px;text-transform:uppercase;letter-spacing:.15em;font-size:10px;cursor:pointer}.form-note{font-size:11px;margin-top:10px}.success{display:none;border:1px solid var(--line);padding:15px;margin-top:15px;color:var(--ink)}
.footer{background:#ded3c6;color:#67615c;padding:75px 0 25px}.footer-grid{display:grid;grid-template-columns:1.5fr .7fr .8fr;gap:60px;padding-bottom:55px}.footer h3{font-family:var(--serif);font-size:34px;color:var(--ink);margin:0 0 10px}.footer h4{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink)}.footer p{max-width:450px}.copyright{border-top:1px solid rgba(25,24,23,.14);padding-top:18px;display:flex;justify-content:space-between;font-size:10px;text-transform:uppercase;letter-spacing:.1em}
.reveal{opacity:0;transform:translateY(25px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.container{width:min(calc(100% - 38px),700px)}.header{padding:20px 0}.header-inner{display:flex;justify-content:space-between}.nav{display:none}.menu{display:block}.mobile-nav{display:none;flex-direction:column;gap:0;padding:15px 0 5px}.mobile-nav.open{display:flex}.mobile-nav a{padding:12px 0;border-top:1px solid var(--line);font-size:11px;text-transform:uppercase;letter-spacing:.15em}.hero{padding:0 0 70px}.hero-image,.hero-image>picture>img{min-height:78vh;height:78vh}.hero-caption-inner{padding:35px}.hero h1{font-size:clamp(58px,15vw,100px)}.intro{padding:60px 0 80px}.collage{grid-template-columns:1fr 1fr;grid-template-rows:320px 250px 360px;gap:12px;padding-bottom:80px}.c1{grid-row:1/3}.c2{grid-column:2}.c3{grid-column:2;grid-row:2/4}.c4{grid-column:1;grid-row:3}.c5,.c6,.c7,.c8{display:none}.black{margin-bottom:80px;padding:90px 0}.story-grid,.award-row,.film-grid,.split,.contact-grid,.testimonial-grid{grid-template-columns:1fr}.story-grid{gap:50px;padding-bottom:80px}.awards{margin-bottom:80px}.award-row{gap:35px}.award{font-size:58px}.final-image{margin-bottom:80px}.final-image>img{height:75vh}.final-copy{padding:35px}.page-hero{padding:55px 0 65px}.content{padding:65px 0}.story-feature,.story-feature:nth-child(even){grid-template-columns:1fr;gap:25px}.story-feature:nth-child(even) .story-feature-image{order:0}.story-feature h2{font-size:52px}.contact-grid{gap:50px}.contact-details h2{font-size:58px}.footer-grid{grid-template-columns:1fr;gap:25px}.copyright{flex-direction:column;gap:8px}}
@media(max-width:600px){body{font-size:14px}.container{width:calc(100% - 28px)}.logo-name{display:none}.hero-image,.hero-image>picture>img{height:74vh;min-height:620px}.hero-caption-inner{width:100%;padding:25px}.hero h1{font-size:64px}.hero p{font-size:13px}.intro h2,.section-title{font-size:56px}.intro p{font-size:15px}.collage{grid-template-rows:250px 220px 300px}.black{clip-path:none}.statement{font-size:38px}.story-card h3{font-size:32px}.award-row{grid-template-columns:1fr 1fr}.award{font-size:50px}.film-grid{gap:12px}.final-image>img{height:650px}.final-copy h2{font-size:55px}.page-hero h1{font-size:70px}.split img{aspect-ratio:3/4}.masonry{columns:2 130px;column-gap:10px}.masonry figure{margin-bottom:10px}.story-feature h2{font-size:45px}.quote blockquote{font-size:31px}.contact-form{grid-template-columns:1fr}.field.full,.submit{grid-column:auto}.footer{padding-top:55px}}

/* Bride Groom Day custom refinements */
.logo{width:170px;justify-content:center}.logo-image{width:170px;height:auto;max-height:58px;object-fit:contain}.hero{padding-top:0}.hero-image{min-height:0;aspect-ratio:2048/1078}.hero-image>picture>img{width:100%;height:100%;aspect-ratio:2048/1078;object-fit:cover}.hero-image:after{display:none}.intro{padding-top:95px}.intro h1{font-family:var(--serif);font-weight:900;color:var(--ink);font-size:clamp(55px,7vw,105px);line-height:.85;letter-spacing:-.04em;margin:0 0 32px}.memory-section{padding-bottom:130px}.memory-heading{display:grid;grid-template-columns:1fr 1.2fr;column-gap:70px;align-items:end;padding-bottom:45px}.memory-heading .eyebrow{grid-column:1/-1}.memory-heading .section-title{margin:0}.memory-heading p{max-width:560px;margin:0 0 5px;font-size:16px}.memory-carousel{position:relative;overflow:hidden}.memory-track{display:flex;transition:transform .65s cubic-bezier(.2,.7,.2,1)}.memory-slide{min-width:100%;position:relative;overflow:hidden}.memory-slide picture,.memory-slide img{width:100%;height:auto}.memory-slide img{object-fit:cover}.memory-caption{position:absolute;left:35px;bottom:30px;color:#fff;text-shadow:0 2px 20px rgba(0,0,0,.35)}.memory-caption span{font:600 10px var(--sans);letter-spacing:.18em}.memory-caption h3{font:500 clamp(28px,4vw,55px) var(--serif);margin:7px 0 0;line-height:.95}.carousel-controls{display:flex;align-items:center;justify-content:space-between;padding-top:16px}.carousel-controls button{border:1px solid var(--line);background:transparent;color:var(--ink);width:42px;height:42px;border-radius:50%;cursor:pointer}.carousel-dots{display:flex;gap:7px}.carousel-dot{width:6px;height:6px;border:0;border-radius:50%;background:rgba(25,24,23,.25);padding:0;cursor:pointer}.carousel-dot.active{background:var(--ink)}.story-meta{display:flex;justify-content:space-between;gap:12px;align-items:center}.story-meta span:first-child{color:var(--ink);font-weight:600}.story-meta span:last-child{white-space:nowrap}.page-top{padding:75px 0 80px;border-bottom:1px solid var(--line)}.page-top .section-title{margin-bottom:22px}.page-top p{max-width:650px;font-size:17px}.section{padding:100px 0}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.about-photo-wrap{display:flex;justify-content:center}.about-photo{width:min(100%,520px);height:min(620px,58vw);object-fit:cover}.about-secondary{width:min(100%,560px);height:520px;object-fit:cover;justify-self:end}.copy h2{font-size:clamp(48px,5vw,72px)}.testimonial-list{display:grid;gap:28px}.testimonial{display:grid;grid-template-columns:minmax(280px,.8fr) 1.2fr;min-height:390px;background:#e8dfd5}.testimonial:nth-child(even){grid-template-columns:1.2fr minmax(280px,.8fr)}.testimonial:nth-child(even) picture{order:2}.testimonial picture,.testimonial picture img{height:100%;width:100%;display:block}.testimonial picture img{object-fit:cover;min-height:390px}.testimonial-copy{padding:55px 60px;display:flex;flex-direction:column;justify-content:center}.stars{font-size:11px;letter-spacing:.2em;color:var(--ink);margin-bottom:30px}.testimonial blockquote{font:500 clamp(30px,3.5vw,50px) var(--serif);line-height:1.02;color:var(--ink);margin:0 0 28px}.testimonial cite{font:600 10px var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ink);font-style:normal}.testimonial cite span{color:var(--text)}.enquire-layout{display:grid;grid-template-columns:.95fr 1.05fr;gap:70px;align-items:stretch}.contact-visual{position:relative;min-height:680px;overflow:hidden}.contact-visual picture,.contact-visual img{width:100%;height:100%;display:block}.contact-visual img{object-fit:cover}.contact-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.65));pointer-events:none}.visual-note{position:absolute;z-index:2;left:35px;right:35px;bottom:32px;color:#fff}.visual-note span{display:block;font-size:9px;letter-spacing:.2em;margin-bottom:10px}.visual-note strong{font:500 clamp(32px,4vw,54px) var(--serif);line-height:.9}.contact-panel{background:#e8dfd5;padding:55px clamp(25px,4vw,60px)}.contact-panel h2{font:500 clamp(46px,5vw,72px) var(--serif);line-height:.9;color:var(--ink);margin:0 0 22px}.contact-panel>p{max-width:500px}.contact-mini{display:inline-flex;flex-direction:column;margin:12px 25px 25px 0;font-size:13px;color:var(--ink)}.contact-mini span{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--text);margin-bottom:3px}.contact-panel .form{margin-top:10px}.contact-panel .fields{gap:24px}.contact-panel .field input,.contact-panel .field textarea,.contact-panel .field select{border-bottom-color:rgba(25,24,23,.28)}.form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px}.text-btn{border:0;background:none;color:var(--ink);font-size:10px;text-transform:uppercase;letter-spacing:.15em;cursor:pointer;padding:15px 0}.submit{margin:0}.success{width:100%;background:rgba(255,255,255,.35)}
@media(max-width:900px){.logo{width:140px}.logo-image{width:140px;max-height:48px}.hero-image,.hero-image>picture>img{aspect-ratio:auto;height:auto;min-height:0}.hero-image>picture>img{object-fit:cover}.memory-section{padding-bottom:80px}.memory-heading{display:block;padding-bottom:30px}.memory-heading .section-title{margin-bottom:20px}.memory-slide picture,.memory-slide img{height:62vh;min-height:440px}.memory-caption{left:22px;bottom:22px}.section{padding:65px 0}.two-col{grid-template-columns:1fr;gap:45px}.about-photo{width:100%;max-width:560px;height:560px}.about-secondary{width:100%;height:500px;justify-self:stretch}.testimonial,.testimonial:nth-child(even){grid-template-columns:1fr}.testimonial:nth-child(even) picture{order:0}.testimonial picture img{height:420px;min-height:0}.testimonial-copy{padding:38px 30px 45px}.testimonial blockquote{font-size:38px}.enquire-layout{grid-template-columns:1fr;gap:28px}.contact-visual{min-height:520px}.contact-panel{padding:42px 28px}.page-top{padding:55px 0 60px}}
@media(max-width:600px){.logo{width:120px}.logo-image{width:120px;max-height:42px}.hero{padding-bottom:55px}.intro{padding-top:55px}.intro h1{font-size:56px}.memory-heading .section-title{font-size:54px}.memory-slide picture,.memory-slide img{height:68vh;min-height:500px}.memory-caption h3{font-size:34px}.carousel-controls{padding-top:12px}.story-meta{align-items:flex-start;flex-direction:column;gap:4px}.story-meta span:last-child{white-space:normal}.page-top .section-title{font-size:56px}.page-top p{font-size:15px}.about-photo{height:480px}.about-secondary{height:380px}.testimonial picture img{height:360px}.testimonial-copy{padding:32px 22px 38px}.testimonial blockquote{font-size:33px}.contact-visual{min-height:460px}.contact-panel{padding:35px 20px}.contact-panel h2{font-size:50px}.contact-mini{display:flex;margin-bottom:18px}.form-actions{gap:10px}.submit{width:100%;text-align:center}.text-btn{padding:8px 0}}
.solid-btn{display:inline-block;border:1px solid var(--ink);background:var(--ink);color:var(--cream);padding:14px 22px;font-size:10px;text-transform:uppercase;letter-spacing:.16em;transition:.25s;cursor:pointer}.solid-btn:hover{background:transparent;color:var(--ink)}


/* =================================================
   FINAL BRIDE GROOM DAY REFINEMENTS
================================================= */

/* Carousel images keep their original proportions.
   Desktop: 2400x1440
   Mobile: 1080x1440 */
.memory-slide picture,
.memory-slide picture img {
    display: block;
    width: 100%;
}

.memory-slide img {
    height: auto !important;
    min-height: 0 !important;
    object-fit: contain !important;
}

/* Footer logo */
.footer-logo {
    display: block;
    width: 220px;
    max-width: 100%;
    height: auto;
    object-fit: contain;
    object-position: left center;
    margin-bottom: 22px;
}

/* Unique Stories page */
.stories-intro {
    padding: 75px 0 90px;
}

.stories-intro h1 {
    max-width: 1050px;
}

.story-collection {
    display: grid;
    gap: 110px;
    padding-bottom: 130px;
}

.story-entry {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 70px;
    align-items: end;
}

.story-entry:nth-child(even) {
    grid-template-columns: .85fr 1.15fr;
}

.story-entry:nth-child(even) .story-entry-image {
    order: 2;
}

.story-entry-image {
    position: relative;
    overflow: hidden;
}

.story-entry-image img {
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    transition: transform .8s ease;
}

.story-entry:hover .story-entry-image img {
    transform: scale(1.025);
}

.story-entry-number {
    font-size: 10px;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--text);
    margin-bottom: 18px;
}

.story-entry h2 {
    font-family: var(--serif);
    font-size: clamp(48px, 6vw, 82px);
    line-height: .86;
    letter-spacing: -.04em;
    color: var(--ink);
    margin: 0 0 22px;
}

.story-entry .story-location {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .18em;
    color: var(--ink);
    margin-bottom: 25px;
}

.story-entry p {
    max-width: 470px;
    margin: 0 0 30px;
}

.story-view {
    display: inline-flex;
    align-items: center;
    gap: 15px;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .16em;
    color: var(--ink);
    border-bottom: 1px solid var(--ink);
    padding-bottom: 8px;
}

.story-view span {
    font-size: 16px;
}

.story-detail-hero {
    padding: 75px 0 55px;
}

.story-detail-hero .story-location {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .18em;
    color: var(--text);
    margin-bottom: 18px;
}

.story-detail-hero h1 {
    font-family: var(--serif);
    font-size: clamp(58px, 9vw, 130px);
    line-height: .8;
    letter-spacing: -.05em;
    color: var(--ink);
    max-width: 1050px;
    margin: 0 0 28px;
}

.story-detail-hero p {
    max-width: 620px;
    font-size: 17px;
}

.story-gallery {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
    padding-bottom: 120px;
}

.story-gallery figure {
    margin: 0;
    overflow: hidden;
}

.story-gallery figure:first-child {
    grid-column: 1 / -1;
}

.story-gallery img {
    width: 100%;
    height: auto;
    display: block;
}

.story-film {
    background: var(--ink);
    color: var(--cream);
    padding: 110px 0;
    margin-bottom: 120px;
}

.story-film h2 {
    font-family: var(--serif);
    font-size: clamp(48px, 7vw, 90px);
    line-height: .85;
    color: var(--cream);
    margin: 0 0 20px;
}

.story-film p {
    max-width: 600px;
    margin-bottom: 28px;
}

.story-back {
    display: inline-block;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .16em;
    border-bottom: 1px solid currentColor;
    padding-bottom: 8px;
}

.privacy-content {
    max-width: 900px;
}

.privacy-content h2 {
    font-family: var(--serif);
    color: var(--ink);
    font-size: 38px;
    line-height: .95;
    margin: 55px 0 15px;
}

.privacy-content h2:first-child {
    margin-top: 0;
}

@media (max-width: 900px) {

    .memory-slide picture,
    .memory-slide picture img {
        width: 100%;
        height: auto !important;
        min-height: 0 !important;
    }

    .story-entry,
    .story-entry:nth-child(even) {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .story-entry:nth-child(even) .story-entry-image {
        order: 0;
    }

    .story-collection {
        gap: 75px;
        padding-bottom: 80px;
    }

    .story-detail-hero {
        padding: 55px 0 40px;
    }

    .story-gallery {
        grid-template-columns: 1fr;
        gap: 12px;
        padding-bottom: 80px;
    }

    .story-gallery figure:first-child {
        grid-column: auto;
    }

    .story-film {
        padding: 80px 0;
        margin-bottom: 80px;
    }
}

@media (max-width: 600px) {

    .footer-logo {
        width: 180px;
    }

    .stories-intro {
        padding: 55px 0 65px;
    }

    .story-entry h2 {
        font-size: 48px;
    }

    .story-detail-hero h1 {
        font-size: 58px;
    }

    .privacy-content h2 {
        font-size: 32px;
    }
}


/* ===== HOME CAROUSEL - FULL IMAGE, NO CROP ===== */

/* Desktop: use the original 2400x1440 landscape images */
.memory-carousel,
.memory-track,
.memory-slide {
  width: 100%;
}

.memory-slide {
  height: auto;
}

.memory-slide picture {
  display: block;
  width: 100%;
}

.memory-slide picture img {
  display: block;
  width: 100%;
  height: auto;
  min-height: 0;
  max-height: none;
  object-fit: contain;
}

/* Text stays ON TOP of the image, bottom-left */
.memory-caption {
  position: absolute;
  z-index: 5;
  left: 35px;
  right: 35px;
  bottom: 30px;
  color: #fff;
  text-shadow: 0 2px 20px rgba(0, 0, 0, 0.45);
}

/* Mobile: use the original 1080x1440 portrait images.
   The complete image is shown — nothing is cropped. */
@media (max-width: 700px) {
  .memory-slide picture,
  .memory-slide picture img {
    display: block;
    width: 100%;
    height: auto;
    min-height: 0;
    max-height: none;
    object-fit: contain;
  }

  .memory-caption {
    left: 22px;
    right: 22px;
    bottom: 22px;
  }
}

/* =====================================================
   RESPONSIVE HOME MEMORY CAROUSEL — FINAL FIX
   Desktop = landscape / Mobile = portrait
===================================================== */
.memory-carousel .memory-track {
  display: flex;
  width: 100%;
}
.memory-carousel .memory-slide {
  min-width: 100%;
  width: 100%;
  position: relative;
  overflow: hidden;
  height: auto !important;
}
.memory-carousel .memory-images {
  position: relative;
  width: 100%;
  line-height: 0;
}
.memory-carousel .memory-image {
  display: block;
  width: 100%;
  margin: 0;
}
.memory-carousel .desktop-image {
  display: block;
  height: auto !important;
  aspect-ratio: 5 / 3;
  object-fit: cover;
}
.memory-carousel .mobile-image {
  display: none;
}
.memory-carousel .memory-caption {
  position: absolute !important;
  z-index: 10;
  left: 35px;
  right: 35px;
  bottom: 30px !important;
  color: #fff;
  text-shadow: 0 2px 20px rgba(0,0,0,.45);
}

@media (max-width: 700px) {
  .memory-carousel .desktop-image {
    display: none !important;
  }
  .memory-carousel .mobile-image {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 3 / 4 !important;
    object-fit: cover !important;
  }
  .memory-carousel .memory-images {
    width: 100%;
    aspect-ratio: 3 / 4;
    overflow: hidden;
  }
  .memory-carousel .memory-caption {
    left: 22px;
    right: 22px;
    bottom: 22px !important;
  }
  .memory-carousel .memory-caption h3 {
    font-size: clamp(30px, 8vw, 38px);
    line-height: .95;
  }
}


/* =====================================================
   HOME — EDITORIAL DETAILS / FOUR IMAGE GRID
   Inspired by the supplied reference image.
===================================================== */
.details-section {
  display: grid;
  grid-template-columns: minmax(220px, 0.78fr) minmax(0, 1.55fr);
  gap: clamp(42px, 6vw, 92px);
  align-items: start;
  padding-top: clamp(55px, 8vw, 115px);
  padding-bottom: clamp(85px, 11vw, 150px);
}
.details-copy {
  padding-top: 2px;
}
.details-copy h2 {
  margin: 22px 0 28px;
  color: var(--ink);
  font-family: var(--serif);
  font-size: clamp(62px, 5.5vw, 92px);
  font-weight: 900;
  letter-spacing: -0.055em;
  line-height: .78;
}
.details-copy h2 em {
  font-weight: 900;
}
.details-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--ink);
  border-bottom: 1px solid var(--ink);
  padding-bottom: 7px;
  font-size: 9px;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: .15em;
}
.details-link span { font-size: 12px; }
.details-gallery {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  grid-template-rows: auto auto;
  gap: 12px;
  align-items: start;
}
.details-photo {
  margin: 0;
  overflow: hidden;
  background: var(--cream2);
}
.details-photo picture,
.details-photo img {
  display: block;
  width: 100%;
}
.details-photo img {
  height: 100%;
  object-fit: cover;
}
.details-photo-1 { aspect-ratio: 1.02 / 1.24; }
.details-photo-2 { aspect-ratio: .88 / 1.10; margin-top: 50px; }
.details-photo-3 { aspect-ratio: 1.25 / 1; }
.details-photo-4 { aspect-ratio: .88 / 1.10; margin-top: 0; }
.details-photo-1 img,
.details-photo-2 img,
.details-photo-3 img,
.details-photo-4 img { object-fit: cover; }
.details-photo picture { height: 100%; }
.details-photo img { height: 100%; }

.stories-more {
  display: flex;
  justify-content: center;
  padding: 38px 0 105px;
}
.stories-more .outline-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

@media (max-width: 900px) {
  .details-section {
    grid-template-columns: 1fr;
    gap: 38px;
    padding-top: 65px;
    padding-bottom: 90px;
  }
  .details-copy h2 {
    font-size: clamp(60px, 15vw, 92px);
    line-height: .79;
    margin-top: 20px;
  }
  .details-gallery {
    gap: 10px;
  }
  .details-photo-2 { margin-top: 34px; }
}

@media (max-width: 700px) {
  /* Mobile intentionally keeps the heading/text first, then all four images together. */
  .details-section {
    display: block;
    padding-top: 58px;
    padding-bottom: 78px;
  }
  .details-copy {
    margin-bottom: 34px;
  }
  .details-copy h2 {
    font-size: clamp(58px, 17vw, 82px);
    margin: 18px 0 28px;
    line-height: .79;
    letter-spacing: -.055em;
  }
  .details-gallery {
    grid-template-columns: 1.1fr .9fr;
    gap: 9px;
    align-items: start;
  }
  .details-photo-1 { aspect-ratio: 1.02 / 1.24; }
  .details-photo-2 { aspect-ratio: .88 / 1.10; margin-top: 20px; }
  .details-photo-3 { aspect-ratio: 1.25 / 1; }
  .details-photo-4 { aspect-ratio: .88 / 1.10; }
  .stories-more { padding: 25px 0 78px; }
  .stories-more .outline-btn { width: auto; text-align: center; justify-content: center; }
}
