/* Landing-page integration. The copied studio keeps its own styles. */
:root{--ink:#76574e;--muted:#9b8172;--accent:#b87e70;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Jost','Trebuchet MS',sans-serif}body{color:var(--ink)}html{scroll-padding-top:85px}.site-header{padding:22px 5vw;gap:24px;position:fixed;isolation:isolate;pointer-events:auto}.site-header:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(#fcf3e9ed,#fcf3e9ac,transparent);pointer-events:none}.brand{font:500 29px var(--serif);letter-spacing:-1px;white-space:nowrap}.brand .brand-flower{font-size:21px;vertical-align:middle;margin:0 5px 0 0;color:#b78a7c}.site-header nav{background:none;backdrop-filter:none;box-shadow:none;margin-left:auto;padding:0;gap:15px}.site-header nav a{font:11px var(--sans);padding:10px 0;color:#96766a}.button{display:inline-flex;align-items:center;gap:24px;border-radius:40px;background:#ac7869;color:#fff6e9;padding:7px 7px 7px 25px;font:12px var(--sans);letter-spacing:.015em;box-shadow:0 6px 19px #a16f5d14;transition:transform .4s cubic-bezier(.2,.8,.2,1),background .4s cubic-bezier(.2,.8,.2,1)}.button span{display:grid;place-items:center;width:37px;height:37px;background:#fff7e51c;border-radius:50%;font:20px Georgia}.button:hover{transform:translateY(-3px);background:#99695f}.header-cta{font-size:10px;padding-left:20px;gap:17px}.header-cta span{width:29px;height:29px;font-size:16px}.continuous-art{z-index:0}.continuous-art .art{left:46%;top:16%;width:51%;height:69%}.chapter{height:auto;min-height:100svh;display:flex;align-items:center;padding:115px 0 95px;position:relative;z-index:1;pointer-events:none}.chapter .content{width:43%;max-width:560px;margin-left:8vw;pointer-events:auto}.hero{min-height:105svh}.hero h1{font:500 clamp(57px,6.2vw,92px)/.98 var(--serif);letter-spacing:-.045em;margin:28px 0}.hero h1 em{font-weight:400;color:#bc867b}h2{font:500 clamp(43px,4.9vw,71px)/1.02 var(--serif);letter-spacing:-.035em;margin:22px 0 25px}h2 em{color:#b98177}.eyebrow{font:10px var(--sans);letter-spacing:.15em;color:#a08070;display:flex;gap:10px;align-items:center}.eyebrow>span{width:18px;height:1px;background:#bd9984}.lead{font:400 14px/1.85 var(--sans);color:#967e70;max-width:365px;margin:0 0 28px}.actions{display:flex;align-items:center;gap:24px}.text-link{font:11px var(--sans);display:inline-flex;align-items:center;gap:15px;padding:12px 0;color:#896454;border-bottom:1px solid #b99c7940}.micro{font:9px var(--sans);letter-spacing:.025em;color:#b19a86;margin:20px 0}.scroll-note{font:9px var(--sans);color:#b29b88;display:flex;gap:12px;align-items:center;margin-top:50px}.mouse-line{width:1px;height:28px;background:linear-gradient(#b1977f,transparent)}.features{max-width:380px;margin-top:32px}.features>div{display:flex;gap:19px;margin:0 0 26px;align-items:flex-start}.feature-icon{flex-shrink:0;width:38px;height:38px;border-radius:13px;background:#fff8ed72;box-shadow:0 0 0 1px #bb967917;display:grid;place-items:center;color:#b88c78;font:21px var(--serif)}h3{font:500 21px/1.2 var(--serif);margin:0 0 5px}.features p,.steps p{font:11px/1.75 var(--sans);color:#a08777;margin:0}h3 small{display:inline-block;vertical-align:middle;color:#ad946b;font:7px var(--sans);letter-spacing:.07em;margin-left:5px;padding:4px 6px;background:#d1b27712;border-radius:9px}.steps{padding:0;list-style:none;max-width:370px;margin:35px 0 15px}.steps li{display:flex;gap:23px;padding:20px 0;border-bottom:1px solid #a9856920}.steps li>span{font:italic 23px var(--serif);color:#b18d72;min-width:25px}.occasions{display:flex;flex-wrap:wrap;gap:7px;max-width:380px;margin-bottom:21px}.occasions button{font:10px var(--sans);color:#a28774;background:#fff8ee50;border:1px solid #ae91742a;padding:9px 13px;border-radius:25px;cursor:pointer}.occasions button.selected{background:#d0b2a22b;color:#8e675a;border-color:#be978754}.prompt-card{padding:25px 27px;background:#fffaf0b0;border-radius:4px 18px 18px 18px;box-shadow:0 10px 25px #8f745608;max-width:370px}.prompt-card>span{font:7px var(--sans);letter-spacing:.17em;color:#b39981}.prompt-card p{font:italic 22px/1.45 var(--serif);color:#a48270;margin:16px 0 3px}.faq{max-width:400px}.faq details{border-bottom:1px solid #9b7b6526;padding:18px 0}.faq summary{list-style:none;font:500 19px var(--serif);cursor:pointer;position:relative;padding-right:28px}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';position:absolute;right:3px;top:0;color:#b39981;font:18px var(--serif)}.faq details[open] summary:after{content:'−'}.faq p{font:11px/1.8 var(--sans);color:#9f8877;max-width:360px;margin:12px 0 0}.finale{min-height:100svh;padding-bottom:100px}.finale h2{font-size:clamp(45px,5.3vw,78px)}.restart{display:block;margin-top:40px;font:9px var(--sans);color:#b29a86;background:none;border:0;padding:0;cursor:pointer}.landing-footer{position:relative;z-index:2;padding:28px 5vw;background:#f4e6db;display:flex;align-items:center;justify-content:space-between;gap:20px}.landing-footer .brand{font-size:23px}.landing-footer p,.landing-footer>a:last-child{font:9px var(--sans);color:#a28674}.story-indicator{position:fixed;right:5vw;bottom:25px;z-index:3;font:8px var(--sans);letter-spacing:.03em;color:#b19b88;pointer-events:none}.layer-wings .postcard-inner strong{font-family:var(--serif)}.layer-wings .postcard-inner span{font-family:var(--serif)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #af8170;outline-offset:5px}@media(min-width:701px) and (max-width:1000px){.chapter .content{margin-left:6vw;width:43%}.hero h1{font-size:66px}.continuous-art .art{left:47%;width:50%;transform:scale(.8)}.site-header nav{gap:12px}.site-header nav a{font-size:10px}.brand{font-size:25px}.lead{font-size:12px}.actions{gap:15px}.button{font-size:11px}}@media(max-width:700px){.site-header{padding:18px 22px;gap:12px}.brand{font-size:26px}.site-header nav{display:none}.header-cta{margin-left:auto;font-size:9px;padding-left:15px;gap:12px}.header-cta span{width:26px;height:26px}.chapter{min-height:110svh;padding:110px 24px 325px;align-items:flex-start}.chapter .content{margin:0;width:100%;max-width:none}.hero{min-height:105svh}.hero h1{font-size:62px;line-height:.95;margin:22px 0}.hero h1 br:nth-child(2){display:none}.hero .lead{max-width:325px;font-size:12px;line-height:1.75}.lead{font-size:12px;max-width:330px}h2{font-size:47px}.eyebrow{font-size:8px}.actions{gap:20px}.button{font-size:11px}.micro{font-size:8px}.scroll-note{display:none}.continuous-art .art{left:0;top:auto;bottom:6%;width:100%;height:35%;transform:scale(.66);transform-origin:50% 50%}.continuous-art{z-index:0}.chapter .content{position:relative;z-index:2}.features{display:grid;grid-template-columns:1fr 1fr;gap:20px 14px;max-width:none}.features>div{display:block;margin:0}.feature-icon{margin-bottom:10px}h3{font-size:20px}.features p,.steps p{font-size:10px}.features h3 small{margin-left:0}.steps{margin-top:20px}.steps li{padding:14px 0}.prompt-card{max-width:none}.faq{max-width:none}.faq summary{font-size:19px}.chapter#questions{padding-bottom:330px}.landing-footer{padding:25px 24px;flex-wrap:wrap}.landing-footer p{display:none}.story-indicator{display:none}.finale h2{font-size:53px}.finale{min-height:100svh}.restart{margin-top:24px}}@media(max-width:700px) and (max-height:700px){.hero h1{font-size:49px}.chapter{padding-top:100px}.continuous-art .art{height:28%;bottom:3%;transform:scale(.52)}.hero .micro{display:none}}@media(prefers-reduced-motion:reduce){.button{transition:none}.chapter{min-height:100svh}}
@media(max-width:700px){.continuous-art{top:auto;bottom:0;height:24svh;max-height:200px;z-index:3;background:linear-gradient(transparent 0%,#f8eee2ed 23%,#f8eee2 75%);overflow:hidden}.continuous-art .art{top:0;bottom:auto;height:100%;width:100%;left:0;transform:scale(.5);transform-origin:center}.landing-footer{z-index:4}.chapter{padding-bottom:260px}.hero h1{font-size:58px}.features p,.steps p,.faq p{font-size:12px;color:#856d61}}
/* Phone composition: preserve the story order, but give each scene its own
   breathable handset-sized frame. */
@media(max-width:700px){
  body{overflow-x:hidden;background:#f8eee2}
  .site-header{height:64px;box-sizing:border-box;padding:14px 18px;background:linear-gradient(#f8eee2f5,#f8eee2d9);backdrop-filter:blur(12px);z-index:10}
  .brand{font-size:25px;letter-spacing:-.7px}.brand .brand-flower{font-size:18px}
  .header-cta{font-size:9px;padding:6px 6px 6px 13px;gap:9px;box-shadow:none}.header-cta span{width:25px;height:25px;font-size:15px}
  .chapter{min-height:calc(100svh - 24px);padding:92px 22px 218px;box-sizing:border-box;align-items:flex-start}
  .hero{min-height:calc(100svh - 4px);padding-top:100px}
  .hero .eyebrow{margin-bottom:22px}.hero h1{font-size:clamp(52px,15vw,70px);line-height:.9;letter-spacing:-.055em;margin:0 0 22px;max-width:6.2ch}
  .hero h1 em{display:inline-block;padding-left:.12em}.hero .lead{font-size:13px;line-height:1.7;max-width:290px;margin-bottom:24px}
  .actions{align-items:stretch;flex-direction:column;gap:10px;width:min(100%,290px)}.actions .button{justify-content:space-between;padding-left:19px;gap:12px}.actions .text-link{justify-content:center;border-bottom:0;padding:9px}
  .micro{margin-top:20px;max-width:250px;line-height:1.5}
  .continuous-art{height:27svh;max-height:215px;background:linear-gradient(transparent,#f8eee2 68%)}.continuous-art .art{transform:scale(.56);transform-origin:center bottom}
  #why,#how,#occasions,#questions{padding-top:106px;padding-bottom:230px}
  #why h2,#how h2,#occasions h2,#questions h2{font-size:clamp(44px,13vw,58px);line-height:.94;max-width:7ch;margin:0 0 22px}
  .features{grid-template-columns:1fr;gap:15px;margin-top:28px}.features>div{display:grid;grid-template-columns:39px 1fr;gap:12px;align-items:start}.feature-icon{grid-row:span 2;margin:0}.features h3{font-size:20px;margin:0}.features p,.steps p,.faq p{font-size:12px;line-height:1.55}
  .steps{margin:22px 0 0}.steps li{gap:16px;padding:16px 0}.steps li>span{font-size:21px;min-width:21px}
  .occasions{max-width:300px;gap:8px;margin-top:26px}.occasions button{font-size:11px;padding:10px 13px;background:#fffaf052}
  .prompt-card{padding:21px 20px;margin-top:22px}.prompt-card p{font-size:21px}
  .faq details{padding:16px 0}.faq summary{font-size:18px;line-height:1.25}.faq p{max-width:285px}
  .finale{min-height:calc(100svh - 24px);padding-top:112px;padding-bottom:215px}.finale h2{font-size:clamp(48px,14vw,64px);max-width:7ch}.finale .lead{max-width:285px}.restart{margin-top:26px}
  .landing-footer{padding:22px;min-height:70px;box-sizing:border-box}.landing-footer .brand{font-size:21px}.landing-footer>a:last-child{margin-left:auto}
}
