/* Public-site finish layer. No portal styles or dependencies. */
.hero{padding-top:24px}
.hero-copy{animation:none;max-width:none;padding:68px 32px;border-radius:20px;background:linear-gradient(115deg,#38131e 0%,#64213c 56%,#291a2b 100%);color:#faf7f4}
.hero h1{font-size:clamp(48px,5.1vw,68px);line-height:1.09;margin-bottom:24px}
.hero h1,.hero h1 em{color:#faf7f4}
.hero .lead{text-wrap:balance;color:#e5d8df}
.hero-copy .eyebrow{color:#e5d8df}
.hero-copy .button{background:white;border-color:white;color:#38131e}
.hero-copy .button:hover{background:#f4ecef;border-color:#f4ecef}
.hero-copy .text-link{color:#faf7f4}
.hero-copy a:focus-visible{outline-color:#faf7f4}
.hero .eyebrow{display:inline-flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.1em}
.hero .eyebrow:before{content:'';width:24px;height:1px;background:var(--color-champagne)}
.hero-copy>.eyebrow,.hero-copy>h1,.hero-copy>.lead,.hero-copy>.actions{animation:hero-enter .7s var(--ease) both}
.hero-copy>h1{animation-delay:70ms}.hero-copy>.lead{animation-delay:140ms}.hero-copy>.actions{animation-delay:210ms}
.hero-product-stage{position:relative;max-width:1040px;margin:36px auto 0;padding:0;background:none}
.hero-product-stage .hero-shot{margin:0;max-width:none;border-radius:10px 10px 0 0;box-shadow:0 16px 48px #38131e10;animation:hero-enter .85s var(--ease) 260ms both}
.hero-product-stage .image-zoom{position:relative;max-height:430px}
.hero-product-stage figcaption{position:relative;z-index:1}
.hero-product-stage figcaption>span{color:var(--primary);font-weight:500}
.hero .demo-notice{margin-bottom:32px}
.actions .button span,.actions .text-link span{display:inline-block;transition:transform .2s var(--ease)}
.actions .button:hover span{transform:translate(2px,-2px)}.actions .text-link:hover span{transform:translateY(3px)}
.enquiry.enquiry{background:linear-gradient(115deg,#38131e 0%,#64213c 56%,#291a2b 100%);border:1px solid #ffffff16;border-radius:16px;padding:56px}
.enquiry .button:hover{background:#faf7f4;border-color:#faf7f4;color:#38131e}
@keyframes hero-enter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media(max-width:800px){
 .hero{padding-top:20px}.hero h1{font-size:48px}.hero-copy{padding:52px 24px;border-radius:16px}
 .hero-product-stage{margin-top:28px}.hero-product-stage .image-zoom{max-height:340px}
 .enquiry.enquiry{padding:36px}
}
@media(max-width:600px){
 .hero{padding-top:16px}.hero h1{font-size:36px;line-height:1.14;letter-spacing:-.04em}.hero-copy{padding:40px 18px;border-radius:14px}
 .hero .eyebrow{font-size:10px;gap:8px}.hero .eyebrow:before{width:16px}
 .hero-product-stage{margin-top:24px}
 .hero-product-stage .hero-shot{border-radius:7px 7px 0 0}.hero-product-stage .image-zoom{max-height:none}
 .hero-product-stage .image-zoom:after{display:none}.hero-product-stage figcaption{padding:10px;font-size:10px}
 .hero .demo-notice{font-size:10px;margin-bottom:24px}.enquiry.enquiry{padding:28px 24px;border-radius:12px}
}
.site-header.scrolled{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.hero .lead{max-width:560px;margin-inline:auto}.hero h1{letter-spacing:-.04em}
.hero-shot,.preview-frame,.benefit-stage figure{border-radius:10px;border-color:var(--color-border);box-shadow:0 8px 28px rgba(56,19,30,.045)}
.hero-shot figcaption,.preview-caption,.benefit-stage figcaption{padding:12px 18px;font-size:12px;font-weight:400;letter-spacing:0;color:var(--color-text-secondary)}
.demo-notice{font-size:12px;color:var(--color-text-secondary);margin:14px 0 26px;line-height:1.5}
.role-section{border-bottom:0}.role-controls .tabs{gap:8px}.role-panel{animation:role-crossfade .35s ease-out}
.preview-frame .preview-caption small{font-size:12px;font-weight:400}
.benefit-band{background:linear-gradient(135deg,#38131e 0%,#392034 60%,#291a2b 100%);color:#faf7f4}
.benefit-band .eyebrow{color:#e9cdd7}.benefit-band .benefit-step p{color:#d9cbd3}
.benefit-band .step-number{color:#e9cdd7;background:transparent}
.benefit-band .section-heading{padding-bottom:28px;border-bottom:1px solid #ffffff1a}
.benefit-band .benefit-stage figure{background:white;border-color:#ffffff20;box-shadow:0 12px 32px #130b1618;animation:screen-reveal .5s var(--ease)}
.benefit-band .benefit-stage img{aspect-ratio:1096/500;object-fit:cover}
.benefit-band .stage-progress i{background:#ffffff30}.benefit-band .stage-progress i.active{background:#b39575}
.benefit-band .benefit-stage figcaption{color:#696268}.benefit-band .benefit-stage figcaption span{color:#696268}
.feature-grid summary{transition:color .2s}.feature-grid summary:hover{color:var(--primary)}
.features-section{border-bottom:1px solid var(--line)}
.closing{background:white}.enquiry{border-radius:10px;background:#38131e;box-shadow:none}
.enquiry .button{box-shadow:none}.text-link:hover{text-decoration:underline;text-underline-offset:5px}
.contact-links{gap:18px}.contact-links a{font-size:13px}
.footer{display:block;max-width:none;padding:56px 0 24px;background:#21171c;border-top:1px solid #ffffff12}
.footer-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr;gap:40px}
.footer .footer-brand .brand{display:inline-flex;margin:0;font-size:24px;flex-basis:auto}
.footer-brand p{font-size:14px;color:#bfb2bb;line-height:1.7;margin:18px 0 0}
.footer nav{display:flex;flex-direction:column;align-items:flex-start;gap:12px;font-size:13px}
.footer nav h3{font-size:13px;font-weight:600;letter-spacing:0;color:white;margin:0 0 6px}
.footer nav a{color:#cdbfc8}.footer nav a:hover{color:white;text-decoration:underline;text-underline-offset:4px}
.footer-bottom{grid-column:1/-1;border-top:1px solid #ffffff1a;padding-top:22px;display:flex;justify-content:space-between;gap:24px;font-size:12px;color:#bfb2bb}
.quote-dialog header{background:var(--color-ivory)}.quote-dialog footer{font-size:12px}.quote-dialog footer p{margin-bottom:4px}
@keyframes role-crossfade{from{opacity:.35}to{opacity:1}}
@keyframes screen-reveal{from{opacity:.4;clip-path:inset(0 0 5% 0)}to{opacity:1;clip-path:inset(0)}}
@media(max-width:800px){
 .role-controls .tabs{gap:3px}.hero-shot figcaption{font-size:11px}.hero-shot figcaption>span{display:none}
 .benefit-band .benefit-step{background:transparent;border-color:#ffffff24;box-shadow:none}
 .benefit-band .step-number{border-bottom:1px solid #b3957566;border-radius:0}
 .benefit-band .mobile-benefit{background:white;border-color:#ffffff24}
 .benefit-band .mobile-benefit img{aspect-ratio:1096/500;object-fit:cover}
 .benefit-band .mobile-benefit:after{color:#6e2340}.benefit-band .section-heading{padding-bottom:24px}
 .footer-grid{grid-template-columns:1fr 1fr;gap:30px}.footer-brand{grid-column:1/-1}
 .footer nav a{min-height:36px;display:inline-flex;align-items:center}
}
@media(max-width:600px){
 .demo-notice{font-size:11px;margin:14px 0 22px}.hero-shot{border-radius:10px}
 .hero-shot.hero-shot figcaption{justify-content:space-between}.hero-shot figcaption:after{content:'Explore ↗'}
 .role-panel>p{font-size:15px}.benefit-band .benefit-step p{font-size:16px}
 .footer{padding-top:38px;padding-bottom:max(24px,env(safe-area-inset-bottom))}.footer-bottom{flex-direction:column;gap:8px}
 .preview-frame .preview-caption{padding:10px 12px}.preview-frame .preview-caption small{font-size:11px}
}
@media(prefers-reduced-motion:reduce){.role-panel,.benefit-band .benefit-stage figure{animation:none;clip-path:none}}

/* Editorial opening: three expandable chapters, not a stacked dashboard. */
.hero.wrap{max-width:1440px;width:calc(100% - 40px);margin:14px auto 0;padding:52px 54px 22px;border-radius:22px;background:linear-gradient(115deg,#38131e 0%,#64213c 56%,#291a2b 100%);color:#faf7f4;text-align:left;overflow:hidden}
.hero .hero-copy{display:grid;grid-template-columns:1.55fr 1fr;column-gap:48px;padding:0;border-radius:0;background:none;max-width:none}
.hero-copy>.eyebrow{grid-column:1/-1;margin-bottom:34px}
.hero .hero-copy h1{font-size:clamp(48px,5.5vw,78px);letter-spacing:-.055em;line-height:1.02;margin:0;align-self:center}
.hero .hero-copy h1 em{color:#e5b6c8}
.hero-intro{align-self:center;animation:hero-enter .75s var(--ease) .15s both}
.hero .hero-intro .lead{font-size:23px;line-height:1.4;color:#faf7f4;margin:0 0 12px;max-width:none;text-wrap:initial}
.hero-description{font-size:14px;color:#d8c4cf;margin-bottom:22px}
.hero .actions{justify-content:flex-start;gap:20px;flex-wrap:wrap}.hero .text-link{font-size:13px}
.hero .hero-product-stage{max-width:none;margin-top:48px;padding-top:18px;border-top:1px solid #ffffff30;transform:translateY(calc(var(--hero-progress,0) * -12px));background:none}
.story-heading{display:flex;justify-content:space-between;gap:20px;font-size:12px;letter-spacing:.02em;color:#e4d1dc;margin-bottom:16px}.story-heading>span:last-child{color:#cfacbd}
.hero-chapters{display:flex;gap:12px;min-height:310px}
.hero-chapter{flex:1;min-width:0;background:#ffffff08;border:1px solid #ffffff2b;border-radius:12px;overflow:hidden;transition:flex .65s var(--ease),background .25s}
.hero-chapter.is-active{flex:3.1;background:#faf7f4;color:#38131e;border-color:#faf7f4}
.chapter-control{display:flex;align-items:center;gap:12px;width:100%;min-height:66px;padding:20px;border:0;background:transparent;color:inherit;text-align:left}
.chapter-control>span:first-child{font-size:11px;opacity:.7}.chapter-control strong{font-size:15px;font-weight:500}.chapter-control>span:last-child{margin-left:auto}
.hero-chapter:not(.is-active) .chapter-control{height:100%;align-items:flex-start;flex-wrap:wrap;align-content:space-between}
.hero-chapter:not(.is-active) .chapter-control strong{order:3;flex-basis:100%;font-size:23px;line-height:1.2}
.chapter-control:hover{background:#ffffff0d}.chapter-control:focus-visible{outline:2px solid #e5b6c8;outline-offset:-5px}
.chapter-content{animation:chapter-enter .45s ease-out}.chapter-content p{font-size:13px;margin:0 20px 18px;color:#696268}
.hero .chapter-content .chapter-image{max-height:230px;overflow:hidden;width:calc(100% - 32px);margin:0 16px 16px;border:1px solid #e7dee2;border-radius:6px;background:white;cursor:default}
.hero .chapter-content img{display:block;width:100%;height:auto;object-fit:cover;object-position:top left}
.hero .demo-notice{font-size:10px;margin:18px 0 0;color:#d8c4cf;text-align:right}
.role-section{margin-top:36px}
@keyframes chapter-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:1100px){.hero.wrap{padding:40px 32px 22px}.hero .hero-copy{column-gap:28px}.hero .actions{gap:12px}.hero-chapter.is-active{flex:2.8}.chapter-control{padding:16px;gap:8px}.hero-chapter:not(.is-active) .chapter-control strong{font-size:20px}}
@media(max-width:800px){
 .hero.wrap{width:calc(100% - 32px);padding:32px 24px 20px;border-radius:16px}
 .hero .hero-copy{grid-template-columns:1fr}.hero-copy>.eyebrow{margin-bottom:24px}
 .hero .hero-copy h1{font-size:48px}.hero-intro{margin-top:26px}.hero .hero-intro .lead{font-size:18px}.hero .hero-intro .lead br{display:none}.hero .hero-intro .lead br:after{content:' '}
 .hero-description{margin-bottom:20px}.hero .hero-product-stage{margin-top:28px;transform:none}
 .hero-chapters{flex-direction:column;min-height:0;gap:8px}.hero-chapter,.hero-chapter.is-active{flex:none}
 .hero-chapter:not(.is-active) .chapter-control{height:auto;flex-wrap:nowrap;align-items:center}.hero-chapter:not(.is-active) .chapter-control strong{order:0;flex-basis:auto;font-size:15px}
 .chapter-control{min-height:56px;padding:16px}.chapter-control strong{font-size:15px}
 .hero .chapter-content .chapter-image{max-height:none}.hero .chapter-content img{min-height:0}
 .story-heading{font-size:11px}.story-heading>span:last-child{display:none}.hero .demo-notice{text-align:left;line-height:1.6}.role-section{margin-top:16px}
}
@media(max-width:600px){.hero.wrap{padding:30px 20px 18px;width:calc(100% - 24px)}.hero .hero-copy h1{font-size:36px;line-height:1.08}.hero-copy>.eyebrow{font-size:9px;letter-spacing:.055em}.hero .actions{flex-direction:row;max-width:none;margin:0;gap:10px}.hero .actions .button{width:auto;font-size:13px;padding:12px 16px}.hero .actions .text-link{width:auto;min-height:48px;font-size:12px}.hero .chapter-content .chapter-image{width:calc(100% - 20px);margin:0 10px 10px}.chapter-content p{margin-inline:16px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.hero .hero-product-stage{transform:none}.chapter-content,.hero-intro{animation:none}.hero-chapter{transition:none}}
