/* The opening view is words; the next section holds the actions. */
.home-clean .word-hero{background:var(--cream)}
.word-hero-inner{position:relative;min-height:calc(100svh - 94px);display:flex;align-items:center;justify-content:center;padding-block:4rem 7rem;text-align:center}
.home-clean .word-hero h1{margin:0;font-size:clamp(4rem,8.8vw,8.5rem);line-height:1.05;letter-spacing:-.045em}
.home-clean .word-hero h1 em{font-size:.97em;color:#816033}
.scroll-invitation{position:absolute;left:50%;bottom:2rem;transform:translateX(-50%);display:flex;align-items:center;gap:1.5rem;color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.16em;white-space:nowrap;min-height:44px}
.scroll-invitation span{font-size:1.3rem;transition:transform .3s ease}.scroll-invitation:hover span{transform:translateY(4px)}
.hero-follow{padding:3rem 0;border-top:1px solid var(--line);scroll-margin-top:94px;background:var(--paper)}
.hero-follow-inner{display:grid;grid-template-columns:1fr auto;gap:4rem;align-items:center}
.hero-follow p{max-width:650px;margin:1rem 0 0;color:var(--muted);font-size:1.08rem;line-height:1.8}
.hero-follow .hero-location{margin-top:1rem}.hero-follow .hero-actions{flex-direction:column;gap:.7rem}.hero-follow .button{min-width:210px;font-size:.75rem}
/* Remove compounded hero + section + article padding on collection pages. */
.portfolio-clean .page-hero,.gallery-clean .page-hero{padding:2.75rem 0 2rem}
.portfolio-clean .page-hero h1,.gallery-clean .page-hero h1{font-size:clamp(2.6rem,4.5vw,4.2rem);line-height:1.08}
.portfolio-clean .portfolio-index,.gallery-clean .portfolio-index{margin-top:1rem;gap:.4rem}
.portfolio-clean .portfolio-index a,.gallery-clean .portfolio-index a{font-size:.7rem;padding:.5rem .65rem}
.portfolio-clean .page-hero+.section,.gallery-clean .page-hero+.section{padding:2rem 0 3rem}
.portfolio-clean .portfolio-entry:first-child{padding-top:0}
.portfolio-clean .portfolio-entry{padding-bottom:2.5rem;padding-top:2.5rem}
/* Uniform thumbnail rows keep the complete gallery easy to browse. */
.gallery-clean .event-project{padding:2rem 0;scroll-margin-top:110px}
.gallery-clean .event-project:first-child{padding-top:0}
.gallery-clean .project-head{grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:1.25rem;align-items:center}
.gallery-clean .project-head h2{font-size:clamp(1.8rem,2.7vw,2.65rem);margin-top:.35rem}
.gallery-clean .project-head p{font-size:.88rem;line-height:1.7;max-width:510px}
.gallery-clean .project-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:row;gap:.65rem}
.gallery-clean .portfolio-shot,.gallery-clean .portfolio-shot.wide,.gallery-clean .portfolio-shot.tall{grid-column:auto;grid-row:auto;min-height:0;aspect-ratio:4/3;width:100%}
.gallery-clean .portfolio-shot img{height:100%;min-height:0;object-fit:cover}
.gallery-clean .portfolio-disclosure{margin-top:0;font-size:.75rem}
.gallery-clean .cta-band{padding-block:3rem}
@media(max-width:900px){.word-hero-inner{min-height:calc(100svh - 86px)}.hero-follow{scroll-margin-top:86px}.hero-follow-inner{gap:2rem;grid-template-columns:1fr .7fr}.hero-follow .button{min-width:0}.gallery-clean .project-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-clean .project-head{grid-template-columns:1fr;gap:.5rem}}
@media(max-width:600px){.home-clean .word-hero h1{font-size:clamp(2.85rem,11.6vw,4.5rem);letter-spacing:-.04em}.word-hero-inner{padding-block:3rem 6rem}.scroll-invitation{bottom:1.5rem;font-size:.62rem}.hero-follow{padding-block:2rem}.hero-follow-inner{grid-template-columns:1fr;gap:1.5rem}.hero-follow p{font-size:.95rem}.hero-follow .hero-actions{flex-direction:row;gap:.5rem}.hero-follow .button{flex:1;padding:.85rem .6rem;font-size:.64rem;min-height:50px}.hero-follow .chapter-label{font-size:.62rem;letter-spacing:.1em}.hero-follow .hero-location{font-size:.65rem}.portfolio-clean .page-hero,.gallery-clean .page-hero{padding:2rem 0 1.5rem}.portfolio-clean .page-hero-grid,.gallery-clean .page-hero-grid{gap:1rem}.portfolio-clean .page-hero p,.gallery-clean .page-hero p{font-size:.93rem;margin-bottom:0}.portfolio-clean .page-hero+.section,.gallery-clean .page-hero+.section{padding:1.25rem 0 2rem}.portfolio-clean .portfolio-entry{padding-block:1.75rem}.gallery-clean .project-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.gallery-clean .event-project{padding-block:1.5rem}.gallery-clean .project-head{margin-bottom:1rem;gap:.4rem}.gallery-clean .project-head h2{font-size:1.85rem}.gallery-clean .project-head p{font-size:.83rem}.gallery-clean .project-head .eyebrow{font-size:.65rem}.gallery-clean .portfolio-shot::after{font-size:.55rem;padding:.3rem .4rem;right:.4rem;bottom:.4rem}}
/* One opening scene: headline first, actions on the first scroll. */
.home-clean{position:relative}
.home-clean .word-hero{background:radial-gradient(ellipse at 15% 90%,#e9d6bc66,transparent 52%),radial-gradient(ellipse at 90% 12%,#f0d9cf55,transparent 45%),#f7f3e9;color:#312a25;position:relative;isolation:isolate}
.home-clean .word-hero-inner{min-height:100svh;padding:3rem 0 10rem;align-items:center}
.home-clean .word-hero h1{font-size:clamp(4rem,9.6vw,9rem);line-height:1.03;transition:transform .8s cubic-bezier(.22,1,.36,1)}
.home-clean .word-hero h1 em{color:#816033}
.home-clean .word-hero h1{position:relative;z-index:2}
.hero-florals{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.hero-florals img{position:absolute;width:clamp(240px,28vw,440px);height:auto;opacity:.85}
.hero-florals img{transition:opacity .6s ease}
.hero-florals .floral-left{left:-55px;bottom:-45px;transform:rotate(-8deg)}
.hero-florals .floral-right{right:-50px;top:-65px;transform:rotate(180deg)}
.hero-florals .floral-small{left:-70px;top:-130px;width:clamp(190px,20vw,300px);transform:rotate(83deg);opacity:.48}
.home-clean .scroll-invitation{color:#816033;bottom:1.4rem;transition:opacity .35s ease}
.home-clean .site-header{position:fixed;top:0;left:0;right:0}
.home-clean.intro-ready .site-header{transform:translateY(-110%);opacity:0;pointer-events:none;transition:transform .65s cubic-bezier(.22,1,.36,1),opacity .4s ease}
.home-clean.intro-entered .site-header,.home-clean.intro-ready .site-header:focus-within{transform:none;opacity:1;pointer-events:auto}
.home-clean .hero-follow{position:absolute;top:calc(100svh - 210px);left:0;right:0;z-index:3;border:0;background:transparent;padding:0 0 2rem}
.home-clean .hero-follow-inner{grid-template-columns:1fr;gap:1.1rem;text-align:center;max-width:650px}
.home-clean .hero-follow .chapter-label,.home-clean .hero-follow .hero-location{display:none}
.home-clean .hero-follow p{margin:0 auto;color:#574a3e;font-size:.95rem;line-height:1.65;max-width:550px}
.home-clean .hero-follow .hero-actions{flex-direction:row;justify-content:center;gap:.75rem}
.home-clean .hero-follow .button{min-width:195px;min-height:48px;font-size:.72rem}
.home-clean .hero-follow .button.alt{background:#f7f3e9c9}
.home-clean.intro-ready .hero-follow{opacity:0;visibility:hidden;transform:translateY(18px);transition:opacity .6s ease,transform .75s cubic-bezier(.22,1,.36,1),visibility .6s}
.home-clean.intro-entered .hero-follow{opacity:1;visibility:visible;transform:none}
.home-clean.intro-entered .scroll-invitation{opacity:0;pointer-events:none}
.home-clean.intro-entered .word-hero h1{transform:translateY(-25px) scale(.97)}
.home-clean .home-intro{padding:3.25rem 0}
.home-clean .home-intro .shell{grid-template-columns:.3fr 1fr;align-items:start}
.home-clean .home-intro h2{font-size:clamp(2.5rem,3.8vw,3.5rem)}
.home-clean .intro-bottom{margin-top:1.25rem}
.home-clean .celebration-section{padding-bottom:3.5rem}
.home-clean .story-heading{margin-bottom:1.75rem}
.home-clean .planning-story,.home-clean .real-moments{padding:3.5rem 0}
.home-clean .planning-story{background:#342d28}
.home-clean .ramki-note{padding-bottom:2.5rem}
.home-clean .ramki-note-inner{padding:2.25rem 0}
.home-clean .home-closing{padding:3.5rem 1.5rem}
.home-clean .occasion-card:nth-child(2){padding-top:1.5rem}
.home-clean .moment-card:nth-child(2){margin-top:2rem}
@media(max-width:900px){.home-clean .home-intro .shell{grid-template-columns:1fr;gap:1.2rem}.home-clean .hero-follow .hero-actions{flex-wrap:nowrap}}
@media(max-width:600px){.home-clean .word-hero-inner{padding:1.5rem 0 9rem}.home-clean .word-hero h1{font-size:clamp(2.85rem,11.8vw,4.5rem)}.home-clean .hero-follow{top:calc(100svh - 230px);padding-bottom:1rem}.home-clean .hero-follow-inner{gap:1rem}.home-clean .hero-follow p{font-size:.87rem;line-height:1.6;max-width:340px}.home-clean .hero-follow .button{min-width:0;font-size:.64rem;min-height:48px;padding:.85rem .6rem}.home-clean .hero-follow .hero-actions{gap:.5rem}.home-clean .home-intro{padding:2.5rem 0}.home-clean .planning-story,.home-clean .real-moments{padding:2.75rem 0}.home-clean .celebration-section{padding-bottom:2.75rem}.home-clean .occasion-card:nth-child(2){padding:0}.home-clean .moment-card:nth-child(2){margin-top:0}.home-clean .home-closing{padding:2.75rem 1rem}.home-clean .ramki-note-inner{padding:1.75rem 0}}
@media(max-width:600px){.hero-florals img{width:250px;opacity:.7}.hero-florals .floral-left{left:-85px;bottom:-20px}.hero-florals .floral-right{right:-90px;top:-45px}.hero-florals .floral-small{width:180px;left:-90px;top:-100px;opacity:.35}}
@media(prefers-reduced-motion:reduce){.scroll-invitation span,.home-clean .site-header,.home-clean .hero-follow,.home-clean .word-hero h1{transition:none!important}}
@media(max-width:600px){.home-clean.intro-entered .hero-florals .floral-left{opacity:.18}}
@media(prefers-reduced-motion:reduce){.hero-florals img{transition:none}}
/* Compact the first two story chapters without changing the opening scene. */
/* A compact editorial introduction beside the real-event previews. */
.home-clean .real-moments{padding:2.25rem 0}
.home-clean .real-moments>.shell{display:grid;grid-template-columns:.8fr 1.6fr;column-gap:2.5rem;row-gap:.75rem;align-items:start}
.home-clean .real-moments .story-heading{display:flex;flex-direction:column;align-items:flex-start;gap:1.25rem;margin:0;grid-row:1 / span 2}
.home-clean .real-moments .story-heading h2{font-size:clamp(2.1rem,3vw,2.85rem);line-height:1.12;margin-top:.75rem}
.home-clean .real-moments .moments-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
.home-clean .real-moments .moment-card:nth-child(2){margin-top:0}
.home-clean .real-moments .moment-card figure{aspect-ratio:4/3;max-height:250px}
.home-clean .real-moments .moment-caption{padding:.8rem 0;gap:.5rem}
.home-clean .real-moments .moment-caption h3{font-size:1.35rem;line-height:1.18}
.home-clean .real-moments .moment-caption p{font-size:.7rem;line-height:1.5;margin-top:.4rem}
.home-clean .real-moments .image-note{grid-column:2;margin:0}
@media(max-width:900px){.home-clean .real-moments>.shell{grid-template-columns:.8fr 1.3fr;column-gap:1.5rem}.home-clean .real-moments .moments-grid{gap:.85rem}.home-clean .real-moments .moment-caption h3{font-size:1.2rem}}
@media(max-width:600px){
  .home-clean .real-moments{padding:1.75rem 0}
  .home-clean .real-moments>.shell{grid-template-columns:1fr;gap:1.25rem}
  .home-clean .real-moments .story-heading{grid-row:auto;gap:.75rem}
  .home-clean .real-moments .story-heading h2{font-size:2.15rem}
  .home-clean .real-moments .moments-grid{grid-template-columns:1fr;gap:1rem}
  .home-clean .real-moments .moment-card{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:1rem;align-items:center}
  .home-clean .real-moments .moment-card figure{aspect-ratio:1;max-height:none}
  .home-clean .real-moments .moment-caption{padding:0 0 .75rem}
  .home-clean .real-moments .moment-caption h3{font-size:1.3rem}
  .home-clean .real-moments .moment-caption>span{font-size:1.1rem}
  .home-clean .real-moments .image-note{grid-column:auto}
}
.home-clean .ramki-note-inner{display:flex;flex-direction:column;align-items:center;gap:1.25rem;text-align:center;padding:2rem 0}
.home-clean .ramki-note .chapter-label{justify-content:center}
.home-clean .ramki-note blockquote{max-width:850px;margin-inline:auto}
.home-clean .ramki-note .text-link{display:inline-block;margin-top:1rem}
.home-clean .home-intro{padding:2rem 0}
.home-clean .home-intro .shell{grid-template-columns:1fr;gap:1rem}
.home-clean .home-intro .shell>div:last-child{display:grid;grid-template-columns:1.1fr 1fr;gap:3rem;align-items:center}
.home-clean .home-intro h2{font-size:clamp(2.25rem,3.4vw,3rem);line-height:1.12}
.home-clean .intro-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:.85rem;margin:0}
.home-clean .intro-bottom p{max-width:520px}
.home-clean #celebrations{padding-top:1.5rem;padding-bottom:2.25rem}
.home-clean .celebration-section .story-heading{margin-bottom:1.25rem;align-items:center}
.home-clean .celebration-section .story-heading h2{font-size:clamp(2.25rem,3.4vw,3rem);margin-top:.65rem;line-height:1.12}
.home-clean .occasion-card:nth-child(2){padding-top:0}
.home-clean .occasion-card figure{height:300px;margin-bottom:1rem}
.home-clean .occasion-card p{margin-bottom:0}
.home-clean .celebration-section .image-note{margin-top:1rem}
@media(max-width:900px){.home-clean .home-intro .shell>div:last-child{gap:1.5rem}.home-clean .occasion-card figure{height:250px}}
@media(max-width:600px){
  .home-clean .home-intro{padding:1.5rem 0}
  .home-clean .home-intro .shell{gap:.75rem}
  .home-clean .home-intro .shell>div:last-child{grid-template-columns:1fr;gap:1rem}
  .home-clean .home-intro h2,.home-clean .celebration-section .story-heading h2{font-size:2.15rem}
  .home-clean #celebrations{padding-top:1.25rem;padding-bottom:1.75rem}
  .home-clean .celebration-section .story-heading>p{margin-top:.75rem}
  .home-clean .occasion-cards{gap:1.5rem}
  .home-clean .occasion-card figure{height:270px;margin-bottom:.75rem}
  .home-clean .occasion-card p{margin-top:.6rem}
}
