/* 2026-09-09: rounded program sheet, editorial price spread, and the supplied brand symbol. */
.reason-photo{aspect-ratio:4/3}
.reasons{padding-bottom:64px}
.program-home{margin-top:-64px;z-index:2;border-radius:64px 64px 0 0;background:var(--c-bg);padding-block:86px 105px;isolation:isolate}
.program-home::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit;background:var(--grain) 0 0/130px;opacity:.11;filter:grayscale(1);mix-blend-mode:multiply}
.program-home>.wrap>.sh{margin-bottom:38px}
.program-list{gap:24px}
.program-card{position:relative;background:var(--c-brand-tint6);border-radius:4px;overflow:hidden;transition:background-color .4s;display:flex;flex-direction:column}
.program-card:nth-child(2){background:var(--c-brand-tint12)}.program-card:nth-child(3){background:var(--c-brand-tint18)}
.program-card__heading{padding:23px 24px 22px}
.program-card__en{display:block;font-size:13px;margin-bottom:7px}
.program-card h3{font-size:23px;line-height:1.55;margin:0}
.program-card h3 a{color:inherit;text-decoration:none}
.program-card h3 a:focus-visible{outline:2px solid var(--c-primary-text);outline-offset:5px}
.program-card__photo{margin:0;overflow:hidden}
.program-card__photo .home-photo{aspect-ratio:16/9;border-radius:0}
.program-card__photo img{transition:transform 900ms cubic-bezier(.2,.65,.3,1)}
.program-card__tag{left:24px;bottom:15px;background:var(--c-bg);font-size:13px}
.program-card__body{padding:24px 24px 0}
.program-home .program-card__for{font-size:14px;line-height:1.85;min-height:5.55em;margin:0 0 18px;padding-bottom:16px;border-bottom:1px solid var(--c-brand-tint40)}
.program-card__for>span{display:block;font-size:13px;margin-bottom:5px}
.program-card__body>p{font-size:16px;line-height:1.9;margin:0 0 24px}
.program-card__foot{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid var(--c-brand-tint40);min-height:62px;margin-top:auto;color:var(--c-text);text-decoration:none}
.program-home .program-card__time{font-size:14px;border:0;padding:0;margin:0}
.program-card__arrow{display:grid;place-items:center;width:34px;height:34px;border-radius:4px;background:var(--c-primary);flex:none;transition:background .3s}
.program-card__arrow::after{content:"";width:18px;height:18px;background:#fff;mask:url(../assets/icons/arrow-right.svg) center/contain no-repeat;transition:transform .35s}
.program-card__foot:hover .program-card__arrow::after,.program-card:focus-within .program-card__arrow::after{transform:translate(2px,-2px)}
@media(hover:hover){.program-card:hover .program-card__photo img{transform:none}}
/* One comparison surface, with each duration and its rows kept together. */
.pricing-home{background:var(--c-brand-tint24);padding-block:95px 92px}
.chapter-seal{position:absolute;left:50%;top:-32px;transform:translateX(-50%);width:76px;height:76px;border-radius:50%;background:var(--c-brand-tint24);display:grid;place-items:center}
.chapter-seal::after{content:"";width:22px;height:34px;mask:url(../assets/logo-symbol.png) center/contain no-repeat;background:var(--c-primary)}
.fee.fee-spread,.pricing-home .fee.fee-spread{gap:0;background:var(--c-bg);border-radius:4px;padding:36px 0}
.fee-spread .fee__c,.pricing-home .fee-spread .fee__c{padding:0 38px;background:none;border-radius:0;display:block}
.fee-spread .fee__c+.fee__c{border-left:1px solid var(--c-brand-tint40)}
.fee-spread .fee__name,.pricing-home .fee-spread .fee__name{padding:0 0 24px;margin:0 0 14px;border-bottom:1px solid var(--c-brand-tint40);gap:5px}
.fee-spread .fee__name b,.pricing-home .fee-spread .fee__name b{font:500 32px/1.1 var(--ff-label);letter-spacing:-.025em;color:var(--c-primary-text)}
.fee-spread .fee__name span,.pricing-home .fee-spread .fee__name span{font-size:18px;letter-spacing:.02em}
.fee-spread .fee__c dl,.pricing-home .fee-spread .fee__c dl{margin:0}
.fee-spread .fee__c dl>div,.pricing-home .fee-spread .fee__c dl>div{display:grid;grid-template-columns:4em max-content;gap:26px;padding:11px 0;border:0;justify-content:start;align-items:baseline}
.fee-spread .fee__c dt,.fee-spread .fee__c dt b{font-size:15px;font-weight:500}
.fee-spread .fee__c dd,.pricing-home .fee-spread .fee__c dd{display:flex;align-items:baseline;justify-content:flex-end;gap:5px;min-width:109px;font-size:15px}
.fee-spread .fee__c dd b,.pricing-home .fee-spread .fee__c dd b{font:500 25px/1.5 var(--ff-label);font-variant-numeric:tabular-nums;letter-spacing:0}
.pricing-home .fee__note{max-width:890px;font-size:14px;line-height:1.95;margin-top:27px;font-weight:500}
.pricing-home .more{margin-left:auto;display:flex;width:max-content}
.pricing-options{background:var(--c-brand-tint24);border-radius:48px 48px 0 0;padding-top:66px}
.pricing-options .plan-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:0;border-bottom:1px solid var(--c-brand-tint65);background:none;max-width:none}
.pricing-options .plan-controls button{border:0;border-radius:12px 12px 0 0;color:#2b2a28;background:none;padding:20px 12px;font-size:16px;font-weight:500;transition:background-color .3s,color .3s}
.pricing-options .plan-controls button[aria-selected=true]{background:var(--c-bg);color:var(--c-primary-text)}
.pricing-options .rate-panel{background:var(--c-bg);padding:42px 0 12px;min-height:390px}
.pricing-options .rate-panel>.sh{padding-inline:38px;margin-bottom:25px}
.pricing-options .rate-panel>.sh h2{font-size:26px}
.pricing-options .fee-spread{padding-top:12px}
.pricing-options .rate-detail{padding-inline:38px}
/* A quieter, precise sequence after the comparison. */
.trial-home{background:var(--c-bg);padding-block:95px 100px}
.trial-sheet{gap:72px}
.trial-steps{border-top:0}
.trial-steps li{position:relative;border-bottom:1px solid var(--c-brand-tint40);padding-block:28px;grid-template-columns:28px 170px minmax(0,1fr)}
.trial-steps li:first-child{padding-top:4px}
.trial-step__number{font-size:15px;color:var(--c-primary-text)}
.trial-steps li::after{content:"";position:absolute;height:1px;bottom:-1px;left:0;right:0;background:var(--c-primary-text);opacity:0;transition:opacity 440ms ease}
.trial-steps li.is-read::after{opacity:1}
.staff-home{background:var(--c-brand-tint18);padding-block:90px 100px}
.staff-home .staff{gap:32px}.staff-home .staff>div{transform:none}
.staff-home .sh{max-width:760px}.staff-home .staff__r{font-size:14px;line-height:1.8}
.faq-home{background:var(--c-bg);padding-block:100px}
.faq-home .acc__item{border-color:var(--c-brand-tint40)}
.faq-home .acc__q{padding-block:25px;font-weight:500}
.access-home{background:var(--c-brand-tint12);padding-block:90px 100px}
.access-home .access2{gap:70px}
/* The final invitation echoes the first view with the actual brand mark and rose material. */
.final.final-invitation{position:relative;isolation:isolate;overflow:hidden;text-align:left;background:var(--c-bg);color:#2b2a28;padding:0;min-height:570px;border-radius:0;margin-top:-30px}
.final-invitation>.wrap{position:relative;z-index:2;min-height:570px;display:flex;align-items:center;padding-block:95px}
.invitation-copy{width:53%;max-width:660px}
.final-invitation h2{font-size:clamp(34px,3.55vw,51px);line-height:1.65;letter-spacing:.015em;font-weight:500;color:#2b2a28;margin:0;text-wrap:balance}
.final-invitation .lead{font-size:17px;font-weight:500;line-height:2;max-width:490px;margin-top:28px;color:#2b2a28}
.final-invitation .final__row{justify-content:flex-start;gap:12px;margin-top:38px;flex-wrap:wrap}
.invitation-art{position:absolute;inset:0 0 0 50%;pointer-events:none;background:var(--c-brand-tint24);border-top-left-radius:0;overflow:hidden}
.invitation-art::after{content:"";position:absolute;inset:0;background:var(--grain) 0 0/125px;opacity:.24;mix-blend-mode:multiply;filter:grayscale(1)}
.invitation-symbol{position:absolute;width:560px;height:845px;right:-10px;top:-125px;transform:rotate(-17deg);background:var(--c-primary) url(../assets/grad-rose.jpg) center/cover;mask:url(../assets/logo-symbol.png) center/contain no-repeat}
.invitation-symbol canvas{display:block;width:100%;height:100%}
.final-invitation .btn--primary{box-shadow:none}
.final-invitation .btn--line{background:#fff}
@supports(animation-timeline:view()) and (animation-range:entry 0% cover 40%){
 @media(prefers-reduced-motion:no-preference){
  .invitation-art{animation:none;transform:none}
 }
}

@media(max-width:1199px) and (min-width:1024px){.program-card__heading,.program-card__body{padding-inline:20px}.program-card h3{font-size:20px}.fee-spread .fee__c,.pricing-home .fee-spread .fee__c{padding-inline:28px}.trial-sheet{gap:42px}.trial-steps li{grid-template-columns:24px 1fr;gap:8px 18px}.trial-steps p{grid-column:2}.invitation-copy{width:56%}.invitation-art{left:57%}.invitation-symbol{right:-125px}}
@media(max-width:1023px){
 .reason-photo{aspect-ratio:4/3}
 .program-home{border-radius:42px 42px 0 0;padding-block:65px 80px}
 .program-card{display:grid;grid-template-columns:40% minmax(0,1fr);grid-template-rows:auto 1fr;gap:0}
 .program-card__heading{grid-column:2;padding:26px 26px 0}
 .program-card__photo{grid-column:1;grid-row:1/span 2;height:100%;align-self:stretch}
 .program-card__photo .home-photo{height:100%;aspect-ratio:auto}
 .program-card__body{grid-column:2;padding:20px 26px 0}
 .program-card__body>p{margin-bottom:18px}
 .program-home .program-card__for{min-height:0}
 .program-card h3{font-size:23px}.program-list{gap:24px}
 .fee.fee-spread,.pricing-home .fee.fee-spread{grid-template-columns:1fr;padding:0 30px}
 .fee-spread .fee__c,.pricing-home .fee-spread .fee__c{padding:30px 0;display:grid;grid-template-columns:160px minmax(0,1fr);gap:30px}
 .fee-spread .fee__c+.fee__c{border-left:0;border-top:1px solid var(--c-brand-tint40)}
 .fee-spread .fee__name,.pricing-home .fee-spread .fee__name{padding:10px 0;border:0;align-self:start;margin:0}
 .fee-spread .fee__c dl>div,.pricing-home .fee-spread .fee__c dl>div{padding:8px 0}
 .trial-sheet{gap:38px}.trial-steps li{grid-template-columns:28px 170px minmax(0,1fr)}
 .staff-home .staff{gap:25px}
 .final.final-invitation,.final-invitation>.wrap{min-height:540px}
 .invitation-copy{width:60%}.final-invitation h2{font-size:36px}.final-invitation .lead{font-size:16px;max-width:370px}
 .invitation-art{left:65%;border-top-left-radius:0}.invitation-symbol{right:-150px;width:460px;height:690px;top:-20px}
 .final-invitation .final__row{flex-direction:row;align-items:flex-start}.final-invitation .btn{min-width:190px}
}
@media(max-width:767px){
 .reasons{padding-bottom:40px}.program-home{margin-top:-40px;border-radius:32px 32px 0 0;padding-block:55px 68px;animation:none}
 .program-home>.wrap>.sh{margin-bottom:28px}
 .program-card{display:flex;gap:0}.program-card__heading{padding:22px 22px 20px}.program-card__body{padding:22px 22px 0}.program-card__photo{height:auto}.program-card__photo .home-photo{height:auto;aspect-ratio:16/9;max-height:none}
 .program-card__en{font-size:13px}.program-card h3{font-size:22px}.program-home .program-card__for{font-size:14px;line-height:1.9;min-height:0;margin-bottom:18px}.program-card__body>p{font-size:16px;line-height:1.95}
 .program-card__foot{min-height:60px}.program-card__tag{left:22px}.program-list{gap:26px}
 .pricing-home{padding-block:70px}.chapter-seal{width:62px;height:62px;top:-27px}.chapter-seal::after{width:19px;height:30px}
 .fee.fee-spread,.pricing-home .fee.fee-spread{padding:0 24px}
 .fee-spread .fee__c,.pricing-home .fee-spread .fee__c{display:block;padding-block:26px}
 .fee-spread .fee__name,.pricing-home .fee-spread .fee__name{padding:0 0 15px;margin:0 0 9px;border:0}
 .fee-spread .fee__name b,.pricing-home .fee-spread .fee__name b{font-size:29px}
 .pricing-home .more{margin-left:0;max-width:100%}
 .pricing-options{border-radius:30px 30px 0 0;padding-top:36px}.pricing-options .plan-controls button{font-size:14px;padding:14px 8px;line-height:1.65;min-height:74px}.pricing-options .rate-panel{padding-top:28px;min-height:0}.pricing-options .rate-panel>.sh{padding-inline:24px}.pricing-options .rate-detail{padding:0 24px 20px}
 .trial-home{padding-block:65px 70px}.trial-steps li{grid-template-columns:25px minmax(0,1fr);gap:8px 18px;padding-block:24px}.trial-steps p{grid-column:2}.trial-steps h3{font-size:20px}.trial-step__number{padding-top:2px}
 .staff-home{padding-block:65px 75px}.staff-home .staff{gap:30px}.faq-home{padding-block:70px}.faq-home .acc__q{padding-block:23px}.access-home{padding-block:65px 90px}.access-home .access2{gap:28px}
 .final.final-invitation{border-radius:0;min-height:0}
 .final-invitation>.wrap{min-height:0;padding-block:62px 235px}
 .invitation-copy{width:100%;max-width:none}.final-invitation h2{font-size:32px}.final-invitation .lead{margin-top:22px;font-size:16px;max-width:none}.final-invitation .final__row{margin-top:28px;flex-direction:column;align-items:flex-start;gap:10px}.final-invitation .btn{min-width:205px}
 .invitation-art{inset:auto 0 0 26%;height:205px;border-top-left-radius:0;animation:none}
 .invitation-symbol{width:335px;height:505px;right:-50px;top:-110px;transform:rotate(-30deg)}
}
@media(prefers-reduced-motion:reduce){.program-home,.invitation-art{animation:none!important}.program-card__photo img,.program-card__arrow::after,.trial-steps li::after{transition:none}.invitation-symbol canvas{display:none}}
/* Crop by subject, and align the audience/body boundary across the three programs. */
@media(min-width:1024px){.program-home .program-card__for{min-height:100px}}
.final.final-invitation .btn--line{border:1px solid #06c755;background:#fff;color:#007e32}
.float a.l{background:#fff;color:#007e32;border-top:1px solid #06c755}
/* Darker rose labels retain contrast on paper grain and the warmer section grounds. */
.program-home .sh__k,.staff-home .sh__k,.access-home .sh__k,.access-home .link{color:var(--c-primary-text)}
.access-home .access2 dt{color:var(--c-primary-text)}
/* Shared row tracks align the audience and description even at the narrow desktop boundary. */
@supports(grid-template-rows:subgrid){
 @media(min-width:1024px){
  .program-list{grid-template-rows:auto auto auto auto auto;row-gap:0}
  .program-card{display:grid;grid-template-rows:subgrid;grid-row:span 5;gap:0}
  .program-card__body{display:contents}
  .program-home .program-card__for{min-height:0;margin:24px 24px 18px;padding-bottom:18px;align-self:stretch}
  .program-card__body>p{margin:0 24px 24px}
  .program-card__foot{margin:0 24px;align-self:end}
 }
}
/* 2026-09-09: centered transparent header, pigment edges, and image-led details. */
.hd__logo::before,.hd__nav::before{display:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.hd,.hd__logo,.hd__nav{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
@media(min-width:1024px){
 .hd{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:22px}
 .hd__logo{justify-self:start}.hd__cta{justify-self:end}
 .hd__nav{justify-self:center;margin:0;gap:clamp(12px,1.15vw,18px)}
}
@media(min-width:1024px) and (max-width:1120px){.hd{gap:12px}.hd__nav{gap:11px;font-size:13px}}
.program-card{background:var(--c-brand-tint32);isolation:isolate}
.program-card:nth-child(2){background:var(--c-brand-tint24)}.program-card:nth-child(3){background:var(--c-brand-tint18)}
.program-card::before{content:"";position:absolute;inset:0 auto 0 0;width:96px;z-index:0;pointer-events:none;background:var(--grain) 0 0/105px;filter:grayscale(1) contrast(2);opacity:.65;mix-blend-mode:screen;mask-image:linear-gradient(90deg,#000,transparent);-webkit-mask-image:linear-gradient(90deg,#000,transparent)}
.program-card__heading,.program-card__photo,.program-card__body>*,.program-card__foot{position:relative;z-index:1}
.program-card__en{color:var(--c-text);font-weight:400;letter-spacing:.015em}
.program-home .program-card__for{border:0;padding-bottom:0;margin-bottom:25px;min-height:0}
.program-card__for>span{font-weight:400;color:var(--c-text);margin-bottom:10px}
.program-pills{display:flex;flex-wrap:wrap;gap:7px 6px;align-content:flex-start}
.program-pill{display:inline-block;background:rgba(255,255,255,.6);border:1px solid rgba(255,255,255,.5);border-radius:999px;padding:4px 10px;color:#2b2a28;font-size:13px;line-height:1.65;font-weight:500;letter-spacing:0;max-width:100%;text-wrap:balance}
@supports(grid-template-rows:subgrid){@media(min-width:1024px){.program-home .program-card__for{padding-bottom:0;margin-bottom:24px;min-height:0}}}
/* Each step is also a photograph disclosure. The photograph can overlap adjacent rows on desktop. */
.trial-steps{position:relative;isolation:isolate}
.trial-steps li{overflow:visible;z-index:0}
.trial-steps li.is-photo-active{z-index:8}
.trial-step-trigger{appearance:none;display:flex;align-items:center;gap:10px;min-height:44px;padding:0;background:none;border:0;color:inherit;font:inherit;letter-spacing:inherit;line-height:inherit;text-align:left;cursor:pointer}
.trial-step-trigger svg{width:17px;height:17px;flex:none;fill:none;stroke:var(--c-primary-text);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s}
.trial-step-trigger:hover svg,.trial-step-trigger[aria-expanded=true] svg{transform:rotate(-8deg)}
.trial-step-trigger:focus-visible{outline:2px solid var(--c-primary-text);outline-offset:5px;border-radius:3px}
.flow-photo{position:absolute;z-index:2;right:15px;top:-95px;width:260px;margin:0;padding:7px;background:var(--c-bg);box-shadow:0 14px 38px #48372b29;border-radius:4px;opacity:0;visibility:hidden;transform:translateY(15px) rotate(4deg) scale(.93);transform-origin:70% 80%;transition:opacity 220ms,transform 430ms cubic-bezier(.2,.9,.25,1.15),visibility 220ms;pointer-events:none}
.flow-photo .photo-slot{aspect-ratio:4/3;border-radius:2px}
.is-photo-active .flow-photo{opacity:1;visibility:visible;transform:translateY(0) rotate(-3deg) scale(1);pointer-events:auto}
.trial-step:nth-child(even).is-photo-active .flow-photo{transform:translateY(0) rotate(3deg) scale(1)}
.trial-step:nth-child(4) .flow-photo{top:-150px}
@media(min-width:1200px){.trial-steps li{grid-template-columns:28px 192px minmax(0,1fr);gap:20px}}
@media(max-width:1023px) and (min-width:768px){.trial-steps li{grid-template-columns:28px 190px minmax(0,1fr);gap:18px}.flow-photo{width:230px;right:5px}}
@media(max-width:767px){
 .trial-step-trigger{gap:12px}
 .flow-photo{position:relative;grid-column:2;right:auto;top:auto!important;width:min(100%,290px);padding:5px;max-height:0;overflow:hidden;box-shadow:none;transform:none!important;margin:0;transition:opacity .25s;display:none}
 .is-photo-active .flow-photo{max-height:none;display:block;margin:12px 0 4px;box-shadow:0 8px 20px #48372b18}
}
/* A full-width question area uses the available right column. */
.faq-home .rail{grid-template-columns:minmax(220px,.68fr) minmax(0,1.8fr);gap:72px}
.faq-home .rail__body{min-width:0}
.faq-home .rail__body .acc{max-width:none;width:100%}
.faq-home .acc__item{border:0;border-radius:4px;background:var(--c-brand-tint12);margin-bottom:12px;transition:background .3s}
.faq-home .acc__item[open]{background:var(--c-brand-tint32)}
.faq-home .acc__q{display:grid;grid-template-columns:28px minmax(0,1fr);gap:18px;padding:23px 66px 23px 24px;font-size:17px;line-height:1.8;color:#2b2a28;position:relative}
.faq-home .acc__q::before{content:"Q";font:400 20px/1.5 var(--ff-label);color:var(--c-primary-text);align-self:center}
.faq-home .acc__q::after{position:absolute;right:24px;top:50%;transform:translateY(-50%);width:28px;height:28px;border:1px solid var(--c-brand-tint65);border-radius:50%;display:grid;place-items:center;font-size:18px;line-height:1;color:var(--c-primary-text)}
.faq-home .acc__item[open] .acc__q::after{transform:translateY(-50%)}
.faq-home .acc__item .acc__a{padding:0 66px 28px 70px;font-size:16px;font-weight:500;line-height:1.95;max-width:75ch}
.faq-home .more{margin-top:22px}
.access-home .access-shop{font-size:19px;line-height:1.8;font-weight:500;margin:0 0 23px;letter-spacing:.015em}
.access-home .access2 dl{margin:0}
.access-home .access2 dl>div{grid-template-columns:90px minmax(0,1fr);gap:22px;padding-block:19px}
.access-home .access2 dt,.access-home .access2 dd,.access-home .access2 .link{color:#2b2a28;font-weight:500;opacity:1}
.access-home .access2 dt{font-size:15px;letter-spacing:0;line-height:1.9}
.access-home .access2 dd{font-size:16px;line-height:1.95;letter-spacing:.015em}
@media(max-width:1023px){.faq-home .rail{grid-template-columns:1fr;gap:30px}}
@media(max-width:767px){
 .faq-home .acc__q{font-size:16px;grid-template-columns:20px minmax(0,1fr);gap:11px;padding:21px 43px 21px 16px}
 .faq-home .acc__q::before{font-size:18px}.faq-home .acc__q::after{right:13px;width:22px;height:22px;font-size:16px}
 .faq-home .acc__item .acc__a{padding:0 20px 23px 47px;font-size:16px}
 .access-home .access-shop{font-size:18px;margin-bottom:16px}
 .access-home .access2 dl>div{grid-template-columns:72px minmax(0,1fr);gap:15px;padding-block:17px}
 .access-home .access2 dt{font-size:14px}.access-home .access2 dd{font-size:16px}
}
@media(prefers-reduced-motion:reduce){.flow-photo,.trial-step-trigger svg{transition:none!important}.flow-photo{transform:none!important}}
.faq-home .acc__item[open] .acc__q::after{content:"−"}

.faq-home .acc__item[open] .acc__q{color:var(--c-primary-text)}
@media(min-width:768px) and (max-width:1023px){.program-card::before{left:40%}}

/* 2026-09-09: bare hover photography and curved fields of grain. */
.flow-photo{padding:0;border:0;border-radius:4px;background:none;box-shadow:0 12px 30px #48372b20;transform:translateY(18px);transform-origin:center}
.is-photo-active .flow-photo,.trial-step:nth-child(even).is-photo-active .flow-photo{transform:translateY(0)}
.flow-photo .photo-slot{border-radius:4px}
.program-card::before{inset:36% 0 0;width:auto;background:var(--grain) 0 0/85px;filter:grayscale(1) contrast(4);opacity:.95;mix-blend-mode:screen;mask-image:radial-gradient(ellipse 115% 130% at -6% -14%,transparent 51%,rgba(0,0,0,.28) 64%,#000 85%);-webkit-mask-image:radial-gradient(ellipse 115% 130% at -6% -14%,transparent 51%,rgba(0,0,0,.28) 64%,#000 85%)}
.program-card__photo{display:block;text-decoration:none;color:inherit}
.program-card__photo:focus-visible{outline:2px solid var(--c-primary-text);outline-offset:-4px}
.program-card__tag{background:var(--c-brand-tint32);color:var(--c-primary-text);border:0;border-radius:3px;padding:7px 12px;font-weight:500;box-shadow:none}
.program-home .program-card__for{margin-bottom:18px}
@supports(grid-template-rows:subgrid){@media(min-width:1024px){.program-list{grid-template-rows:auto auto auto auto}.program-card{grid-row:span 4}.program-card__body>p{margin-bottom:28px}}}
.pricing-home{isolation:isolate}
.pricing-home::before{content:"";position:absolute;inset:0 0 auto;height:150px;z-index:-1;pointer-events:none;background:var(--grain) 0 0/90px;filter:grayscale(1) contrast(3);opacity:.65;mix-blend-mode:screen;mask-image:linear-gradient(180deg,#000,transparent);-webkit-mask-image:linear-gradient(180deg,#000,transparent)}
.fv__scrim{mask-image:linear-gradient(95deg,#000 0%,#000 34%,rgba(0,0,0,.94) 40%,rgba(0,0,0,.35) 53%,transparent 67%);-webkit-mask-image:linear-gradient(95deg,#000 0%,#000 34%,rgba(0,0,0,.94) 40%,rgba(0,0,0,.35) 53%,transparent 67%)}
.fv__word{mask-image:linear-gradient(180deg,#000 0%,#000 24%,rgba(0,0,0,.75) 42%,transparent 68%);-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 24%,rgba(0,0,0,.75) 42%,transparent 68%)}
@media(max-width:1023px) and (min-width:768px){.program-card::before{left:40%;top:0}}
@media(max-width:767px){
 .flow-photo{padding:0;box-shadow:none;transform:none!important}.is-photo-active .flow-photo{box-shadow:0 8px 20px #48372b18}
 .program-card__body{padding-bottom:2px}
 .fv__scrim{mask-image:none;-webkit-mask-image:none;background:linear-gradient(0deg,rgba(75,47,39,.84) 0%,rgba(75,47,39,.84) 48%,transparent 64%),linear-gradient(90deg,rgba(75,47,39,.88) 0%,rgba(75,47,39,.84) 27%,transparent 67%)}
 .fv__word{mask-image:linear-gradient(180deg,#000 0%,#000 18%,transparent 100%);-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 18%,transparent 100%)}
}

.program-card__tag-ink{color:var(--c-primary-text)}
@supports(background-clip:text){.program-card__tag-ink{background:linear-gradient(110deg,var(--c-primary-text),var(--c-primary-text));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}}


/* 2026-09-10: rose reaches the top; only its boundary with the photograph curves. */
.fv__word{mask-image:none;-webkit-mask-image:none;opacity:1}
.fv__scrim{
 -webkit-mask-image:radial-gradient(ellipse 85% 140% at 0% 85%,#000 55%,rgba(0,0,0,.94) 62%,transparent 85%);
 mask-image:radial-gradient(ellipse 85% 140% at 0% 85%,#000 55%,rgba(0,0,0,.94) 62%,transparent 85%);
 -webkit-mask-composite:source-over;mask-composite:add;
}
@media(max-width:767px){.fv__scrim{-webkit-mask-image:none;mask-image:none}}

/* The surround continues the preceding surface behind the rounded paper edge. */
.invitation-surround{background:var(--c-brand-tint12);margin-top:-30px;position:relative}
.lower-page .invitation-surround{background:var(--c-bg)}
.final.final-invitation{margin-top:0;border-radius:96px 0 0 0}
.invitation-symbol{width:clamp(420px,43vw,650px);height:auto;aspect-ratio:1559/2344;right:-32px;top:50%;transform:translateY(-50%)}
:root[data-cta-shape="outer-both"] .final.final-invitation{border-top-right-radius:96px}
:root[data-cta-shape="inner-curve"] .final.final-invitation{border-radius:0}
:root[data-cta-shape="inner-curve"] .invitation-art{border-top-left-radius:260px 280px}
@media(max-width:1023px){
 .final.final-invitation{border-top-left-radius:48px}
 :root[data-cta-shape="outer-both"] .final.final-invitation{border-top-right-radius:48px}
 .invitation-symbol{width:440px;right:-110px}
 :root[data-cta-shape="inner-curve"] .invitation-art{border-top-left-radius:190px 230px}
}
@media(max-width:767px){
 .final.final-invitation{border-top-left-radius:36px}
 :root[data-cta-shape="outer-both"] .final.final-invitation{border-top-right-radius:36px}
 .invitation-symbol{width:335px;right:-30px}
 :root[data-cta-shape="inner-curve"] .invitation-art{border-top-left-radius:180px 170px}
}
