@font-face{font-family:Inter;src:url('./inter-variable.ttf') format('truetype');font-weight:100 900;font-display:swap}
.hero-copy{animation:arrive .65s ease-out}.hero-shot{animation:arrive .85s ease-out}.feature-grid .reveal:nth-child(even){transition-delay:70ms}
:root{--color-oxblood:#38131E;--color-burgundy:#6E2340;--color-burgundy-hover:#832B4D;--color-wine:#8A3155;--color-plum:#291A2B;--color-ivory:#FAF7F4;--color-soft-ivory:#F4ECEF;--color-white:#FFFFFF;--color-ink:#18161A;--color-text-secondary:#696268;--color-text-muted:#8A8388;--color-border:#E7DEE2;--color-indigo:#59629B;--color-indigo-soft:#EEF0F8;--color-champagne:#B39575;--ink:var(--color-ink);--muted:var(--color-text-secondary);--primary:var(--color-burgundy);--hover:var(--color-burgundy-hover);--line:var(--color-border);--wash:var(--color-soft-ivory);--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#fff;color:var(--ink);font:400 16px/1.6 Inter,Arial,sans-serif}a{color:inherit;text-decoration:none}a:hover{color:var(--primary)}button{font:inherit;cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible,[role=tabpanel]:focus-visible{outline:3px solid var(--primary);outline-offset:4px}img{display:block;max-width:100%}[hidden]{display:none!important}::selection{background:#f4ecef}.wrap{max-width:1240px;padding-inline:40px;margin-inline:auto}.section{padding-block:88px}h1,h2,h3,p{margin-top:0}h1,h2,h3{text-wrap:balance;letter-spacing:-.025em}h1{font-size:60px;line-height:1.12;font-weight:700;margin-bottom:24px}h1 em{font-style:normal;color:var(--primary)}h2{font-size:36px;line-height:1.25;font-weight:600;margin-bottom:18px}h3{font-size:24px;line-height:1.35;font-weight:600;margin-bottom:14px}p{color:var(--muted);margin-bottom:20px}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--primary);margin-bottom:18px}.quiet{font-size:12px;line-height:1.6}.section-heading{margin-bottom:40px}.section-heading h2:last-child{margin-bottom:0}.button{display:inline-flex;justify-content:center;align-items:center;gap:22px;min-height:48px;padding:12px 22px;background:var(--primary);border:1px solid var(--primary);border-radius:7px;color:#fff;font-size:14px;font-weight:600;transition:background .2s,transform .2s}.button:hover{background:var(--hover);color:white;transform:translateY(-2px)}.button.small{min-height:44px;padding:10px 18px}.text-link{font-size:14px;font-weight:600}.text-link span{margin-left:8px}.actions{display:flex;gap:28px;align-items:center;justify-content:center}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:#fff;padding:12px}.skip:focus{top:12px}
.site-header{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid transparent;transition:border-color .2s}.site-header.scrolled{border-color:var(--line)}.header-inner{height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;font-size:24px;letter-spacing:-.8px;white-space:nowrap}.brand img{margin-right:9px}.brand strong{font-weight:700}.site-header nav{display:flex;align-items:center;gap:30px;font-size:14px}.login-link{margin-left:18px}.menu-toggle{display:none}
.hero{padding-top:66px;padding-bottom:0;text-align:center}.hero-copy{max-width:740px;margin:auto}.hero .lead{font-size:18px;line-height:1.6;margin-bottom:28px}.hero-shot{margin:48px auto 0;max-width:1040px;overflow:hidden;border:1px solid #e7dee2;border-radius:12px 12px 0 0;box-shadow:0 12px 44px #38131e0c;background:white}.hero-shot .image-zoom{max-height:470px;overflow:hidden}.hero-shot img{width:100%;height:auto}.image-zoom{border:0;padding:0;width:100%;display:block;background:white;cursor:zoom-in}.image-zoom:focus-visible{outline-offset:-4px}.hero-shot figcaption,figure figcaption{padding:12px 18px;display:flex;justify-content:space-between;gap:16px;text-align:left;font-size:12px;background:white;border-top:1px solid var(--line)}figcaption span{color:var(--muted)}
.role-section{background:var(--wash);border-block:1px solid var(--line)}.role-showcase{display:grid;grid-template-columns:240px minmax(0,1fr);gap:54px;align-items:center}.role-controls .quiet{margin:24px 16px 0}.tabs{display:flex;flex-direction:column;gap:6px}.tabs button{text-align:left;border:0;border-left:3px solid transparent;background:transparent;padding:17px 18px;font-size:16px;font-weight:600;color:var(--muted);border-radius:0 7px 7px 0;transition:background .2s,color .2s}.tabs button[aria-selected=true]{border-left-color:var(--primary);background:#f4ecef;color:var(--primary)}.tabs button:hover{background:#faf7f4}.role-panel{animation:arrive .4s var(--ease)}.role-panel>p{font-size:16px;margin:20px 0 0}.preview-frame{margin:0;border:1px solid #e7dee2;border-radius:10px;overflow:hidden;background:white;box-shadow:0 10px 35px #38131e08}.preview-frame img{width:100%;height:auto}.preview-caption{font-size:12px}.preview-caption small{font-size:12px;color:var(--muted)}
.benefit-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:54px;align-items:start}.benefit-step{min-height:280px;padding:44px 0;display:flex;flex-direction:column;justify-content:center;transition:opacity .4s}.benefit-step h3{font-size:26px}.benefit-step p{font-size:16px;margin:0}.step-number{font-size:12px;color:var(--primary);font-weight:600;margin-bottom:18px}.benefit-stage{position:sticky;top:calc(50vh - 190px);align-self:start;margin-top:45px}.benefit-stage figure{margin:0;overflow:hidden;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 36px #38131e09;animation:arrive .45s var(--ease)}.benefit-stage img{width:100%;height:auto}.stage-progress{display:flex;gap:7px;justify-content:center;margin-top:20px}.stage-progress i{height:3px;width:26px;background:var(--line);transition:background .3s}.stage-progress i.active{background:var(--primary)}.mobile-benefit{display:none}
.features-section{background:var(--wash)}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 60px}.feature-grid details{border-top:1px solid #e7dee2;padding:0}.feature-grid summary{display:flex;justify-content:space-between;gap:20px;padding:23px 0;cursor:pointer;list-style:none;font-size:17px;font-weight:500}.feature-grid summary span{color:var(--primary);font-size:20px;transition:transform .2s}.feature-grid details[open] summary span{transform:rotate(45deg)}.feature-grid p{font-size:15px;max-width:440px;margin-bottom:24px}.feature-grid summary::-webkit-details-marker,.faq-list summary::-webkit-details-marker{display:none}
.enquiry{display:flex;align-items:center;justify-content:space-between;gap:44px;background:var(--ink);padding:50px;border-radius:12px;color:white}.enquiry h2{font-size:36px}.enquiry p{color:#e9cdd7;margin-bottom:0}.enquiry .eyebrow{color:#e9cdd7;margin-bottom:18px}.enquiry-actions{max-width:340px;flex-shrink:0}.enquiry .button{background:white;border-color:white;color:var(--ink)}.enquiry .quiet{font-size:12px;margin-top:12px}.contact-links{display:flex;flex-wrap:wrap;gap:16px;margin-top:20px;font-size:13px}.contact-links a{color:#f4ecef;text-decoration:underline;text-underline-offset:4px}.not-configured{font-size:14px;max-width:260px}.faq-section{display:grid;grid-template-columns:1fr 1.5fr;gap:60px;margin-top:72px;scroll-margin-top:100px}.faq-section h3{font-size:22px}.faq-list details{border-bottom:1px solid var(--line);padding:18px 0}.faq-list details:first-child{padding-top:0}.faq-list summary{list-style:none;cursor:pointer;font-size:15px;font-weight:500;position:relative;padding-right:30px}.faq-list summary:after{content:'+';position:absolute;right:0;color:var(--primary)}.faq-list details[open] summary:after{content:'−'}.faq-list p{font-size:14px;margin:16px 0 0}.footer{border-top:1px solid var(--line);display:flex;align-items:center;gap:30px;padding-block:28px;font-size:13px;color:var(--muted)}.footer .brand{color:var(--ink);margin-right:auto;font-size:22px}
.quote-dialog,.product-dialog{width:min(800px,calc(100vw - 32px));height:min(880px,calc(100dvh - 32px));max-width:none;max-height:none;border:1px solid var(--line);border-radius:12px;padding:0;background:white;color:var(--ink);overflow:hidden}.quote-dialog[open]{display:flex;flex-direction:column}dialog::backdrop{background:#291a2baa}dialog header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;border-bottom:1px solid var(--line)}dialog h2{font-size:18px;margin:0}dialog header p{font-size:12px;margin:3px 0 0}dialog header button{width:44px;height:44px;flex-shrink:0;background:var(--wash);border:0;border-radius:6px;color:var(--ink);font-size:24px}.quote-dialog iframe{border:0;flex:1;width:100%;min-height:0}.quote-dialog .form-note{font-size:12px;line-height:1.5;padding:10px 24px;margin:0;background:var(--wash)}.quote-dialog footer{padding:12px 24px;font-size:13px;border-top:1px solid var(--line)}.quote-dialog footer p{font-size:12px;margin:0 0 6px}.quote-dialog footer a{color:var(--primary);text-decoration:underline}.product-dialog{width:min(1280px,calc(100vw - 32px));height:auto;max-height:calc(100dvh - 32px);overflow:auto}.product-dialog header{position:sticky;top:0;background:white}.product-dialog img{width:100%;height:auto}body:has(dialog[open]){overflow:hidden}.reveal{transition:opacity .65s var(--ease),transform .65s var(--ease)}.reveal.pending{opacity:0;transform:translateY(22px)}@keyframes arrive{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(max-width:1100px){.site-header nav{gap:20px}.login-link{margin-left:0}.role-showcase{grid-template-columns:190px minmax(0,1fr);gap:30px}.benefit-layout{gap:30px}.benefit-step h3{font-size:24px}.hero-shot .image-zoom{max-height:410px}}
@media(max-width:800px){.wrap{padding-inline:28px}.section{padding-block:64px}.menu-toggle{display:flex;gap:12px;align-items:center;background:white;border:1px solid var(--line);padding:10px 14px;border-radius:6px;font-size:14px}.site-header nav{display:none;position:absolute;left:0;right:0;top:76px;background:white;padding:16px 28px 24px;border-bottom:1px solid var(--line);max-height:calc(100dvh - 76px);overflow:auto}.site-header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}.site-header nav a{padding:12px 0}.site-header nav .button{padding:12px;margin-top:8px}.hero{padding-top:44px}h1{font-size:48px}h2{font-size:30px}.hero .lead{font-size:17px}.hero-shot .image-zoom{max-height:340px}.role-showcase{grid-template-columns:1fr;gap:24px}.tabs{flex-direction:row;border-bottom:1px solid var(--line);gap:12px}.tabs button{padding:12px 16px;border-left:0;border-bottom:3px solid transparent;border-radius:6px 6px 0 0;font-size:14px}.tabs button[aria-selected=true]{border-bottom-color:var(--primary)}.role-controls .quiet{display:none}.benefit-layout{display:block}.benefit-stage{display:none}.benefit-step{min-height:0;padding:30px 0}.mobile-benefit{display:block;border:1px solid var(--line);border-radius:8px;margin-top:24px;width:100%;height:auto}.enquiry{padding:36px;flex-direction:column;align-items:flex-start;gap:28px}.enquiry h2{font-size:30px}.enquiry-actions{max-width:none}.faq-section{gap:32px;margin-top:56px}.feature-grid{gap:0 30px}}
@media(max-width:600px){.wrap{padding-inline:24px}.header-inner{height:70px}.site-header nav{top:70px}.hero{padding-top:36px}h1{font-size:36px;line-height:1.15}h2{font-size:26px}.hero .lead{font-size:16px}.desktop-break{display:none}.hero .eyebrow{font-size:11px}.actions{gap:22px;flex-wrap:wrap}.hero-shot{margin-top:32px}.hero-shot .image-zoom{max-height:240px}.hero-shot figcaption{font-size:11px;padding:10px;justify-content:center}.hero-shot figcaption>span{display:none}.section{padding-block:52px}.section-heading{margin-bottom:28px}.tabs{gap:0;justify-content:space-between}.tabs button{padding-inline:12px}.role-panel>p{font-size:15px}.preview-caption{font-size:11px}.preview-caption small{font-size:11px}.benefit-step h3{font-size:22px}.benefit-step p br{display:none}.feature-grid{grid-template-columns:1fr}.feature-grid summary{font-size:16px}.enquiry{padding:28px}.enquiry h2{font-size:28px}.enquiry p{font-size:15px}.faq-section{grid-template-columns:1fr;gap:16px}.footer{flex-wrap:wrap;gap:18px}.footer .brand{flex-basis:100%}dialog header{padding:12px 16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal.pending{opacity:1;transform:none}.button:hover{transform:none}}
