@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Manrope:wght@200;300;400;500;600&display=swap');
:root{--ivory:#f4efe7;--ink:#211a18;--plum:#542D48;--plum-hover:#643956;--gold:#b8945e;--line:#d6ccc0;--serif:'Cormorant Garamond',Georgia,serif;--sans:Manrope,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--ivory);color:var(--ink);font:16px/1.75 var(--sans)}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:6px}::selection{background:#b8945e66}.wrap{width:min(1280px,calc(100% - 112px));margin:auto}.header{height:116px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:26px}.brand{font:500 21px/1.2 var(--serif);letter-spacing:.15em;white-space:nowrap}.brand span{display:block;letter-spacing:.19em}.header nav{display:flex;gap:36px;font-size:14px}.header a:hover,footer a:hover{color:#825635}.header-cta{font-size:14px;border-bottom:1px solid var(--gold);padding:8px 0}.header-cta span{margin-left:24px}.hero{padding-top:68px;display:grid;grid-template-columns:1.12fr 1fr;gap:36px 58px;align-items:center}.eyebrow{font-size:12px;letter-spacing:.17em;font-weight:600;margin:0 0 24px}.hero h1{font:400 clamp(58px,5.9vw,86px)/.98 var(--serif);letter-spacing:-.04em;margin:0 0 30px}em{font-weight:400;color:var(--plum)}.intro{font-size:16px;margin:0 0 30px;line-height:1.9}.button{background:var(--plum);color:var(--ivory);display:inline-flex;align-items:center;justify-content:space-between;gap:36px;padding:18px 25px;font-size:14px;border:1px solid var(--plum);cursor:pointer;transition:background .2s}.button:hover{background:var(--plum-hover)}.button span{font-size:20px;color:#d6b987;line-height:1}.small{font-size:12px;line-height:1.8}.hero-price{margin-top:18px}.hero-price span{margin-left:14px}.placeholder{margin:0;position:relative;background:#e6ded3;min-width:0;overflow:hidden}.hero-image{height:540px;background:#ded5c9;color:#504339;align-self:center}.photo-note{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:40px}.photo-index{font-size:11px;letter-spacing:.2em;opacity:.7}.photo-note p{font:400 44px/1.08 var(--serif);margin:36px 0}.photo-note em{color:inherit}.photo-note .small{opacity:.7}.placeholder figcaption{position:absolute;bottom:20px;left:20px;right:20px;text-align:center;font-size:10px;letter-spacing:.04em;opacity:.7}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:30px 0;font-size:11px;letter-spacing:.1em}.hero-bottom a{font-size:13px;letter-spacing:0}.section{padding-top:110px;padding-bottom:110px}h2{font:400 clamp(44px,4.6vw,66px)/1.05 var(--serif);letter-spacing:-.035em;margin:0 0 28px}h3{font-weight:400}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:28px}.section-heading>p{font-size:14px;margin-bottom:30px}.track{display:flex;align-items:center;gap:26px;padding:24px 0;border-top:1px solid var(--line)}.track:last-child{border-bottom:1px solid var(--line)}.track-number{font-size:12px;color:#796e64}.play{height:40px;width:40px;border:1px solid #b8a99b;border-radius:50%;display:grid;place-items:center;color:#8c796b;flex-shrink:0}.track h3{font:400 27px/1.2 var(--serif);margin:0 0 4px}.track p{font-size:12px;margin:0;color:#71665d}.track-status{margin-left:auto;font-size:10px;letter-spacing:.12em;color:#7a6a5b}.muted{color:#786b61}.recipients{padding-top:35px;display:grid;grid-template-columns:1fr 1.3fr;column-gap:70px}.recipients>.eyebrow{grid-column:1/-1}.recipient-links{display:grid;grid-template-columns:1fr 1fr;gap:0 40px}.recipient-links a{border-bottom:1px solid var(--line);padding:17px 0;font-size:16px;letter-spacing:.06em;display:flex;justify-content:space-between}.recipient-links a:hover{color:#8c603d}.recipient-links span{color:#977349}.process{border-top:1px solid var(--line);padding-top:80px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;margin-top:50px}.steps article>span{font:italic 30px var(--serif);color:#896c4b}.steps h3{font:500 28px var(--serif);margin:22px 0 12px}.steps p{font-size:14px;margin:0;color:#6a5d54}.dark-chapter{background:#2b1926;color:var(--ivory)}.dark-chapter em{color:#d3b88e}.dark-chapter .eyebrow{color:#c4a77e}.dark-chapter .muted{color:#bdadb4}.gift{display:grid;grid-template-columns: .8fr 1.2fr;gap:55px 100px;padding-top:125px}.gift-heading{align-self:center}.gift-heading>p:not(.eyebrow){font-size:16px}.gift-heading>p.small{font-size:12px;margin-top:28px}.gift-photo{height:410px;background:#3e2b37;color:#c6b5b8}.gift-details{grid-column:1/-1;display:grid;grid-template-columns:1.2fr .8fr;gap:40px}.detail-photo{height:210px;background:#382731;color:#c6b5b8}.detail-photo:last-child{background:#32232b}.detail-photo .photo-note{gap:20px;font-size:13px}.story{border-top:1px solid #ffffff20;display:grid;grid-template-columns:1fr 1.05fr;gap:100px;padding-top:100px;padding-bottom:130px}.portrait{height:520px;background:#3b2c32;color:#c6b5b8;margin-top:55px}.story-text{padding-top:8px;max-width:580px}.story-text p{margin:0 0 23px;font-size:15px;line-height:1.95;color:#ded1d6}.story-text .signature{font:italic 46px var(--serif);color:#d3b88e;margin-top:40px}.price-section{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding-top:130px}.price{font:400 105px/1 var(--serif);margin:0 0 28px;letter-spacing:-.06em}.price span{font-size:52px}.price-content{max-width:520px}.price-content>p:not(.price):not(.small){font-size:16px}.price-content ul{list-style:none;padding:10px 0;margin:0}.price-content li{border-bottom:1px solid var(--line);padding:12px 0;font-size:14px}.price-content .button{margin-top:20px}.faq{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.3fr;gap:80px}.questions details{border-bottom:1px solid var(--line)}.questions details:first-child{border-top:1px solid var(--line)}summary{cursor:pointer;list-style:none;padding:23px 32px 23px 0;position:relative;font-size:14px}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:0;font-size:20px;top:17px;color:#856643}details[open] summary:after{content:'−'}details p{font-size:14px;margin:0 0 23px;color:#716359}.start{text-align:center;padding-top:50px}.start h2{font-size:76px}.start>p:not(.eyebrow){font-size:16px}.start form{max-width:610px;margin:42px auto 0;text-align:left}.form-note{font-size:12px;color:#76685f;padding:18px 20px;border:1px solid var(--line);margin-bottom:30px}label{display:block;font-size:14px;margin:20px 0 9px}input,textarea{width:100%;background:transparent;border:1px solid #bcae9e;padding:14px;color:var(--ink);border-radius:0;font-size:16px}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#867a70;font-size:14px}.start button{margin-top:20px}footer{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:30px;padding:45px 0 60px}footer p,footer>a:last-child{font-size:12px}.skip{position:fixed;top:-100px;left:20px;padding:12px;background:var(--ivory);z-index:10}.skip:focus{top:10px}@media(min-width:1500px){.hero{min-height:760px}}@media(max-width:1000px){.wrap{width:calc(100% - 64px)}.header nav{gap:20px}.hero{gap:32px}.hero h1{font-size:62px}.hero-image{height:475px}.section{padding-top:80px;padding-bottom:80px}.gift,.story,.price-section{gap:50px}.steps{gap:24px}.recipients,.faq{gap:40px}.story-text p{font-size:14px}.portrait{height:410px}}@media(max-width:700px){.wrap{width:calc(100% - 40px)}.header{height:91px;gap:14px}.brand{font-size:17px}.header nav{display:none}.header-cta{font-size:11px}.header-cta span{margin-left:8px}.hero{padding-top:44px;grid-template-columns:1fr;gap:28px}.hero h1{font-size:clamp(51px,12vw,78px)}.eyebrow{font-size:10px;letter-spacing:.14em;margin-bottom:20px}.intro{font-size:14px}.hero-image{height:330px}.photo-note p{font-size:38px}.hero-bottom{padding:18px 0;gap:16px}.hero-bottom>span{font-size:8px;max-width:160px}.hero-bottom a{font-size:11px}.section{padding-top:65px;padding-bottom:65px}h2{font-size:46px}.section-heading{display:block}.section-heading>p{font-size:13px}.track{gap:14px;padding:21px 0}.track h3{font-size:23px}.track p{font-size:10px}.track-status{display:none}.play{height:34px;width:34px}.track-number{font-size:10px}.recipients{display:block;padding-top:25px}.recipient-links{gap:0 24px}.recipient-links a{font-size:13px}.steps{grid-template-columns:1fr 1fr;gap:35px 24px;margin-top:32px}.steps h3{font-size:26px}.steps p{font-size:13px}.gift,.story,.price-section,.faq{grid-template-columns:1fr;gap:32px}.gift-photo{height:330px}.gift-details{grid-column:auto;gap:15px}.detail-photo{height:170px}.detail-photo .photo-note{padding:14px;font-size:11px}.detail-photo .photo-index{font-size:9px}.portrait{height:390px;margin-top:30px}.story-text{padding-top:10px}.story-text p{font-size:15px}.price{font-size:95px}.price-section{gap:15px}.start h2{font-size:59px}footer{flex-wrap:wrap;padding:30px 0}footer p{width:55%;font-size:11px}footer>a:last-child{width:100%}.button{font-size:13px;padding:17px 21px}.hero-price{font-size:10px}.hero-price span{margin-left:8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Give the reference wordmark its own real layout space. */
.header .brand{position:relative;display:flex;flex-direction:column;align-items:center;flex:0 0 240px;width:240px;gap:3px}
.header .brand .logo-size{display:none}
.header .brand .handwritten-wordmark{position:static;display:block;width:100%;height:auto;overflow:hidden;transform:none}
.header .brand .logo-tagline{position:static;display:block;width:100%;text-align:center;font:400 10px/1.4 var(--sans);letter-spacing:.14em;color:#2d1c25;white-space:nowrap}
@media(min-width:701px) and (max-width:1000px){.header{gap:18px}.header .brand{flex-basis:210px;width:210px}.header nav{gap:18px}.header-cta span{margin-left:10px}}
@media(max-width:700px){.header{height:auto;min-height:153px;flex-direction:column;justify-content:center;gap:12px;padding-top:16px;padding-bottom:14px}.header .brand{flex:0 0 auto;width:220px;gap:3px}.header .brand .logo-tagline{font-size:10px;letter-spacing:.14em}.header-cta{font-size:12px;padding:4px 0}.header-cta span{margin-left:14px}}
/* Navigation echoes the wordmark tagline. */
.header nav a{font-family:var(--sans);font-size:12px;font-weight:400;line-height:1.4;letter-spacing:.14em;text-transform:uppercase}

/* Header action matches navigation typography. */
:is(.header,.hero,.price-content,.start,.order-submit) .header-cta{font-family:var(--sans);font-size:12px;font-weight:400;line-height:1.4;letter-spacing:.14em;text-transform:uppercase}

/* Filled header action. */
:is(.header,.hero,.price-content,.start,.order-submit) .header-cta{display:inline-flex;align-items:center;justify-content:center;background:var(--plum);color:var(--ivory);border:1px solid var(--plum);padding:15px 20px;white-space:nowrap;transition:background .2s,border-color .2s}
:is(.header,.hero,.price-content,.start,.order-submit) .header-cta:hover{background:var(--plum-hover);border-color:var(--plum-hover);color:var(--ivory)}
:is(.header,.hero,.price-content,.start,.order-submit) .header-cta span{color:#d6b987;font:inherit;line-height:inherit;align-self:center;flex-shrink:0}
@media(min-width:701px) and (max-width:1000px){:is(.header,.hero,.price-content,.start,.order-submit) .header-cta{padding:14px 12px;font-size:11px;letter-spacing:.08em}}


/* More compact header action; preserve its type and color. */
:is(.header,.hero,.price-content,.start,.order-submit) .header-cta{padding:10px 14px}


/* Plum color trial on the header action only. */
:is(.header,.hero,.price-content,.start,.order-submit) .header-cta{background:var(--plum);border-color:var(--plum)}
:is(.header,.hero,.price-content,.start,.order-submit) .header-cta:hover{background:var(--plum-hover);border-color:var(--plum-hover)}


.hero-product{margin:0;position:relative;height:auto;overflow:hidden;background:transparent}.hero-product img{display:block;width:100%;height:auto}.hero-product figcaption{position:absolute;bottom:8px;right:12px;font-size:9px;color:#504339;background:#f4efe7cc;padding:2px 6px}

.story .sander-photo{height:auto;margin-left:0;margin-right:0;overflow:hidden;background:transparent}.sander-photo img{display:block;width:100%;height:auto}

/* Keep the complete hero photograph above the fold on desktop. */
@media(min-width:701px){.hero .hero-product{align-self:start;justify-self:center;width:100%;max-width:calc((100svh - 216px)*1.5);margin-top:0}.hero-product img{width:100%;height:auto}}

/* Match the hero eyebrow to the header navigation typography. */
.hero-copy > .eyebrow{font-family:var(--sans);font-weight:400;letter-spacing:.14em}

.hero-copy > .eyebrow{font-size:14px}

.hero h1{font-family:var(--sans);font-weight:400;line-height:1.12}.hero h1 em{font-weight:400;font-style:italic;color:var(--plum)}

.hero h1{font-size:clamp(38px,4.2vw,60px);font-weight:300;line-height:1.18;letter-spacing:-.035em}.hero h1 em{font-weight:300}@media(max-width:700px){.hero h1{font-size:clamp(34px,8.5vw,48px)}}

.hero h1,.hero h1 em{font-weight:200}

/* Refined serif hero heading, retaining the current scale and color. */
.hero h1{font-family:var(--serif);font-weight:400}.hero h1 em{font-family:var(--serif);font-weight:400;font-style:italic}

.hero h1,.hero h1 em{color:var(--ink)}

/* Bring hero copy closer to the photograph on wide screens. */




/* Unified hero composition. */
.hero-copy > .eyebrow{margin-bottom:20px}.hero-copy h1{padding-left:0}.hero h1 em{position:static}.hero-copy{align-self:center}
@media(min-width:701px){.hero{grid-template-columns:1fr 1fr;column-gap:60px;min-height:0;align-items:center}.hero .hero-product{align-self:center}.hero h1{font-size:clamp(36px,4vw,60px)}}

.hero-copy > .eyebrow{position:relative;top:-16px}

/* Align the eyebrow with the photograph while keeping the heading centered. */
@media(min-width:701px){.hero-copy{position:relative;align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding-top:40px}.hero-copy > .eyebrow{position:absolute;top:0;left:0;margin:0}}

.hero h1 em{color:var(--plum)}

/* A compact introduction explaining the personal song service. */
.hero-copy > .eyebrow{position:static;margin:0 0 30px}.hero-copy h1{margin-bottom:22px}.hero-explanation{margin:0;max-width:390px;font:400 15px/1.8 var(--sans);color:var(--ink)}@media(min-width:701px){.hero-copy{display:block;padding-top:0;align-self:start}.hero .hero-product{align-self:start}}@media(max-width:700px){.hero-copy > .eyebrow{margin-bottom:24px}.hero-explanation{font-size:14px}}

/* Enlarge only the handwritten wordmark, keeping the tagline unchanged. */
.header .brand .handwritten-wordmark{width:105%;max-width:none;flex-shrink:0}

.hero-listen{display:inline-block;margin-top:22px;font:400 14px/1.5 var(--sans);color:var(--ink);text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:6px}.hero-listen span{margin-left:8px}.hero-listen:hover{color:var(--plum)}

/* Editorial sample tracks, awaiting real audio. */
.listening .section-heading{gap:48px;margin-bottom:32px}.listening .section-heading>p{flex-shrink:0}.track-copy{flex:1;min-width:0}.track-copy p{max-width:470px}.track .play{background:transparent;font-size:20px;padding:0}.track .play:disabled{opacity:.55;cursor:not-allowed}.track-player{flex:0 0 180px;margin-left:24px;display:flex;flex-direction:column;gap:10px}.track-timeline{display:block;height:2px;background:var(--line);width:100%}.track-pending{font:400 10px/1.4 var(--sans);letter-spacing:.08em;color:#786b61}.listening .track h3{font-size:27px}@media(max-width:700px){.listening .section-heading{display:block}.listening .track{display:grid;grid-template-columns:20px 34px minmax(0,1fr);gap:12px}.track-player{grid-column:3;margin:0;gap:8px;width:100%;max-width:240px}.listening .track h3{font-size:23px}.listening .track-copy p{font-size:12px}.listening h2{font-size:clamp(36px,9vw,46px)}}

/* Consistent major heading scale across the page. */
h2,.start h2,.listening h2{font-size:clamp(36px,4vw,60px)}@media(max-width:700px){h2,.start h2,.listening h2{font-size:clamp(34px,8.5vw,48px)}}

@media(min-width:701px){.listening.section{padding-top:70px}}

.listening .section-heading > p{font-size:15px}@media(max-width:700px){.listening .section-heading > p{font-size:14px}}

/* A quieter, more compact listening section. */
.listening h2{font-size:clamp(34px,3.2vw,46px);margin-bottom:18px}.listening .section-heading{margin-bottom:20px;gap:32px}.listening .section-heading>p{margin-bottom:18px}.listening .track{padding:18px 0;gap:20px}.listening .track h3{font-size:23px}.listening .play{width:34px;height:34px;font-size:17px}.listening .track-player{flex-basis:150px}@media(max-width:700px){.listening h2{font-size:34px}.listening .track{gap:12px;padding:16px 0}.listening .track h3{font-size:21px}}


/* Working sample audio controls */
.listening .play{cursor:pointer;position:relative}
.listening .play::before{content:'';position:absolute;left:50%;top:50%;width:44px;height:44px;transform:translate(-50%,-50%)}
.listening .play:not(:disabled):hover{border-color:var(--gold);color:var(--plum)}
.track-timeline{position:relative;cursor:pointer;overflow:visible}
.track-seek{position:absolute;left:0;top:50%;width:100%;height:44px;transform:translateY(-50%);margin:0;opacity:0;cursor:pointer;touch-action:pan-y}
.track-timeline:has(.track-seek:focus-visible){outline:2px solid var(--gold);outline-offset:6px}
.track-progress{display:block;height:100%;width:0;background:var(--plum);transition:width .08s linear}
.track-time{font:400 9px/1.2 var(--sans);letter-spacing:.05em;color:#786b61;white-space:nowrap}


/* Fit all six sample songs comfortably in one desktop viewport. */
@media(min-width:901px){
  .listening.section{padding-top:46px;padding-bottom:46px}
  .listening h2{font-size:clamp(32px,2.8vw,42px);line-height:1.05;margin-bottom:10px}
  .listening .section-heading{margin-bottom:12px}
  .listening .section-heading>p{margin-bottom:10px}
  .listening .track{padding:12px 0;gap:18px}
  .listening .track h3{font-size:21px;margin-bottom:2px}
  .listening .track-copy p{font-size:11px}
  .listening .play{width:32px;height:32px;font-size:15px}
  .listening .track-player{flex-basis:145px;gap:5px}
  .track-time,.track-pending{font-size:9px}
}


/* Plum play-button accent trial. */
.listening .play{
  background:var(--plum);
  border-color:var(--plum);
  color:var(--ivory);
}
.listening .play:not(:disabled):hover{
  background:var(--plum-hover);
  border-color:var(--plum-hover);
  color:var(--ivory);
}


/* Final desktop viewport fit for the six-track listening block. */
@media(min-width:901px){
  .listening.section{padding-top:30px;padding-bottom:30px}
  .listening .section-heading{margin-bottom:6px}
  .listening h2{font-size:40px;line-height:1.02;margin-bottom:4px}
  .listening .section-heading>p{margin-bottom:4px}
  .listening .track{padding:9px 0}
  .listening .track h3{font-size:20px}
  .listening .play{width:30px;height:30px}
  .listening .track-player{gap:3px}
}


/* Keep the listening section cleanly aligned when reached via anchor/navigation. */
@media(min-width:901px){
  .listening{scroll-margin-top:0 !important;}
}


/* Sample section must be allowed to land flush with the viewport top. */
@media(min-width:901px){
  html{scroll-padding-top:0 !important;}
}


/* Match the recipient-section heading to the final sample-section H2 scale. */
@media(min-width:901px){
  .recipients h2{
    font-size:40px;
    line-height:1.02;
  }
}

/* Match the recipient eyebrow to the hero eyebrow typography. */
.recipients > .eyebrow{font-family:var(--sans);font-size:14px;font-weight:400;letter-spacing:.14em}



/* Content-led rhythm from the hero through the process introduction. */
.listening.section{margin-top:50px;padding-top:30px;padding-bottom:0}
.listening .section-heading{margin-bottom:30px}
/* A reading sequence, not a selection interface. */
.recipients.section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.65fr);column-gap:48px;row-gap:0;margin-top:58px;padding-top:0;padding-bottom:0}
.recipients > .eyebrow{margin:0 0 24px}
.recipients h2{color:var(--ink);font-size:clamp(42px,4vw,54px);line-height:1.08;margin:0}
.recipient-inspiration{max-width:none;margin:0;padding-top:clamp(45px,4.32vw,58px);font:400 28px/1.35 var(--serif);color:var(--ink)}
.recipient-inspiration span{display:block;white-space:nowrap}
.recipients + .process{margin-top:32px;padding-top:39px}

@media(max-width:700px){.listening.section{margin-top:36px;padding-top:20px}.recipients.section{margin-top:41px}.recipients h2{font-size:40px}.recipient-inspiration{font-size:25px;line-height:1.35;margin-top:22px}.recipients + .process{margin-top:30px;padding-top:27px}}

@media(min-width:901px) and (max-width:1150px){.recipients.section{grid-template-columns:minmax(0,.8fr) minmax(0,1.65fr);column-gap:28px}.recipient-inspiration{font-size:25px}}
@media(max-width:900px){.recipients.section{display:block}.recipient-inspiration{margin-top:24px;padding-top:0;max-width:630px}.recipient-inspiration span{display:inline;white-space:normal}}

/* Two ways to begin: a person or an occasion. */
.recipients h2 em{color:var(--plum);font-family:var(--serif);font-weight:400}
.occasions{grid-column:1/-1;margin-top:60px;max-width:650px}
.occasion-heading{font:italic 400 30px/1.2 var(--serif);color:var(--ink);letter-spacing:0;margin:0 0 14px}
.occasion-inspiration{margin:0;font:400 24px/1.4 var(--serif);color:var(--ink);text-wrap:pretty}
.listening .track{border-color:#e3dad0}
.recipients + .process{border-top:0;padding-top:8px}
.process-heading{text-align:center;margin:0;padding:0}
.process-heading h2{color:#35182D;margin-top:0}
.process .steps{gap:32px;align-items:start}
.process .step-number{display:block;font:200 32px/1.1 var(--sans);color:#35182D;margin:8px 0 16px;letter-spacing:-.04em}
.process .steps h3{margin:0 0 12px}
.process .step-photo{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:43% 57% 46% 54% / 55% 43% 57% 45%}
.process article:nth-child(2) .step-photo{object-position:center 25%;border-radius:56% 44% 58% 42% / 43% 56% 44% 57%}
.process article:nth-child(3) .step-photo{border-radius:45% 55% 40% 60% / 58% 45% 55% 42%}
.process article:nth-child(4) .step-photo{border-radius:55% 45% 52% 48% / 42% 57% 43% 58%}

@media(max-width:700px){.occasions{margin-top:36px}.occasion-heading{font-size:25px;text-wrap:balance}.occasion-inspiration{font-size:23px}.recipients + .process{padding-top:12px}.process .steps{grid-template-columns:1fr;gap:38px}.process .step-photo{max-width:300px;margin:auto}.process .step-number{font-size:30px}.process .steps article{max-width:440px;width:100%;margin:auto}}

/* Shared eyebrow typography and simplified gift, story and pricing chapters. */
.eyebrow,.hero-copy > .eyebrow,.recipients > .eyebrow{font-family:var(--sans);font-size:14px;font-weight:400;letter-spacing:.14em;line-height:1.75;text-transform:uppercase}
.process.section{padding-bottom:54px}
.gift.section{padding-top:65px;padding-bottom:48px;row-gap:0}
.gift-heading h2{font-size:clamp(42px,4vw,54px);line-height:1.08}
.gift-heading h2 em{position:relative;left:60px}
@media(max-width:700px){.gift-heading h2 em{left:28px}}
.gift-heading > p:not(.eyebrow){max-width:390px;margin-bottom:0}
.gift-video{width:100%;aspect-ratio:3/2;background:#3e2b37;align-self:center;position:relative}
.gift-video > img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
.story.section{border-top:0;padding-top:48px;padding-bottom:72px}
.story h2{font-size:40px;line-height:1.02;color:var(--ivory)}
.story-text p{margin-bottom:18px}
.story-text .signature{margin-top:24px;margin-bottom:0;min-height:56px;display:flex;align-items:center}
.story-text .signature img{display:block;width:115px;max-width:100%;height:auto}
.price-section.section{padding-top:47px}
.price-section .price-content{max-width:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.price-option{display:flex;flex-direction:column;align-items:flex-start}
.price-option + .price-option{padding-left:32px;border-left:1px solid transparent;position:relative}
.price-option + .price-option::before{content:"";position:absolute;left:-1px;top:74px;bottom:58px;width:1px;background:var(--line)}
.price-option ul{flex:1}
@media(min-width:901px){.price-section{grid-template-columns:.75fr 1.65fr;column-gap:48px}}
@media(min-width:701px) and (max-width:900px){.price-section{grid-template-columns:1fr;gap:32px}}
@media(max-width:700px){.price-section .price-content{grid-template-columns:1fr;gap:36px}.price-option + .price-option{padding-left:0;border-left:0}.price-option + .price-option::before{display:none}}
.price-option .price{font-size:64px;margin-bottom:10px}
.price-option .price span{font-size:36px}
.price-option h3{font:400 28px/1.2 var(--serif);margin:0 0 12px}
.price-option ul{padding:0;margin:0}
.price-option li{border:0;padding:3px 0}
@media(min-width:701px){.story .sander-photo{width:82%;margin-top:36px}}
@media(min-width:701px) and (max-width:1000px){.process.section{padding-bottom:40px}.gift.section{padding-top:44px}}
@media(max-width:700px){.process.section{padding-bottom:32px}.gift.section{padding-top:35px;padding-bottom:28px;row-gap:32px}.gift-heading h2{font-size:40px}.story.section{padding-top:28px;padding-bottom:48px}.story h2{font-size:34px;line-height:1.05}.price-section.section{padding-top:59px}}

@media(min-width:701px) and (max-width:900px){.story h2{font-size:34px;line-height:1.05}}

/* Shared CTA and scoped refinements to the gift, story and pricing chapters. */
.price-content .header-cta{margin-top:20px;width:286px;max-width:100%;justify-content:flex-start}
.price-section h2 em{font-family:var(--serif);font-weight:400;font-style:italic;color:var(--plum)}
.price-section + .faq{border-top:0;padding-top:76px}
@media(min-width:901px){
 .recipients + .process{margin-top:48px}
 .occasions{max-width:1000px;transform:translateY(-22px)}
 .process.section{padding-bottom:48px}
 .gift-heading{align-self:start;padding-top:0}
 .gift-heading h2{margin-bottom:55px}
 .story h2{white-space:nowrap}
 .price-section.section{padding-bottom:30px}
 .price-section > div:first-child{padding-top:32px}
}

/* Inquiry fields share the existing form typography and borders. */
#story-form .form-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
#story-form select{width:100%;background:transparent;border:1px solid #bcae9e;padding:14px;color:var(--ink);border-radius:0;font:inherit;font-size:16px}
#story-form select:focus-visible{outline:2px solid var(--gold);outline-offset:6px}
#story-form input{min-width:0}
@media(max-width:700px){#story-form .form-fields{grid-template-columns:1fr}.price-section.section{padding-bottom:32px}.price-section + .faq{padding-top:0}}
/* New editorial feedback, closing CTA and shared footer. */
.feedback.section{padding-top:72px;padding-bottom:16px;position:relative}
.feedback h2{margin-bottom:36px}
.feedback-quotes{display:flex;gap:48px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.feedback-quotes::-webkit-scrollbar{display:none}
.feedback-controls{display:flex;gap:20px;justify-content:flex-end;margin:-40px 0 16px}
.feedback-controls button{border:0;background:none;padding:4px;color:var(--ink);font:400 22px/1 var(--sans);cursor:pointer}
.feedback-controls button:disabled{opacity:.25;cursor:default}
.feedback-quotes figure{margin:0;flex:0 0 calc((100% - 96px)/3);scroll-snap-align:start;scroll-snap-stop:always}
.feedback-quotes blockquote{margin:0 0 14px;font:italic 400 22px/1.45 var(--serif);font-synthesis:none}
.feedback-quotes figcaption{font:400 12px/1.5 var(--sans);color:var(--ink);opacity:.65}
.closing-cta{margin-top:20px}
.feedback + .price-section.section{padding-top:24px}
.faq.section{padding-bottom:16px}
.page-ending{min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end}
.page-ending > *{flex-shrink:0;margin-top:0;margin-bottom:0}
#lugu.start{padding-top:24px;padding-bottom:48px}
.faq h2 em{display:inline-block;margin-left:60px}
#lugu h2 em{display:inline-block;transform:translateX(24px)}
footer.site-footer{display:block;padding:12px 0}
.footer-main{display:flex;align-items:center;justify-content:space-between;gap:32px;min-height:92px}
.footer-brand{display:flex;flex-direction:column;align-items:center;width:240px;flex-shrink:0}
.footer-brand img{display:block;width:100%;height:auto}
.footer-brand span{font:400 10px/1.4 var(--sans);letter-spacing:.14em;margin-top:3px}
.back-top{font-size:12px;letter-spacing:.12em;white-space:nowrap}
.footer-identity{position:relative;padding-bottom:26px}
.footer-identity small{position:absolute;bottom:0;width:100%;text-align:center;font-size:8px;line-height:1;color:#71665d;opacity:.72}
.footer-nav{display:flex;gap:36px}
.footer-nav a{font:400 12px/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase}
.order-page{padding-top:64px}
.order-page form{margin-top:36px}
.order-info{max-width:610px;margin:40px auto 0;text-align:left}
.order-info h3{font:400 30px/1.2 var(--serif)}
.order-info p,.inquiry-help{font-size:13px;line-height:1.8}
.order-info a,.inquiry-help a,.info-page a{text-decoration:underline;text-underline-offset:4px}
.info-page{max-width:760px;min-height:50vh;padding-top:64px}
.info-page h1{font:400 58px/1.05 var(--serif);margin:0 0 32px}
.info-page h2{font:400 32px/1.2 var(--serif);margin:36px 0 16px}
.info-page p{font-size:15px;line-height:1.9}
.confirmation-consent{border:0;padding:0;margin:24px 0}
.confirmation-consent label{display:flex;align-items:start;gap:12px}
.confirmation-consent input{width:auto;flex-shrink:0;margin-top:6px}
@media(max-width:700px){.feedback.section{padding-top:48px;padding-bottom:12px}.feedback-quotes{gap:24px}.feedback-quotes figure{flex-basis:100%}.feedback-quotes blockquote{font-size:22px}.feedback-controls{margin:0 0 16px}.feedback h2{margin-bottom:16px}.footer-main{display:grid;grid-template-columns:1fr auto;gap:16px}.footer-brand{width:180px}.footer-nav{grid-column:1/-1;grid-row:2;justify-content:center;gap:24px}.footer-nav a{font-size:11px}.back-top{font-size:10px}.faq h2 em{margin-left:28px}#lugu h2 em{transform:translateX(24px)}.faq.section{padding-bottom:16px}#lugu.start{padding-top:24px;padding-bottom:32px}.feedback + .price-section.section{padding-top:12px}.order-page{padding-top:40px}.info-page h1{font-size:40px;margin-bottom:20px}.info-page h1+p{margin-top:0}.info-page{padding-top:40px}.order-page h2{font-size:48px}}
