/* ALFA: editorial layouts, operational diagrams and a shared material palette. */
:root{--alfa-rule:#d9d7d1;--alfa-gold-dark:#765813;--alfa-paper:#f5f5f2}
.section-pad{padding-block:clamp(64px,7.5vw,105px)}
.section-heading h2,.heading-split h2,.faq-layout h2,.assistant-intro h2{letter-spacing:-.045em}
.button,.nav-cta{border-radius:2px;box-shadow:none}
.button:hover:not(:disabled){box-shadow:none}

/* The moving strokes are visible independently of the ambient gradient. */
.ae-signal-field{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1;overflow:hidden}
.ae-signal-tracks{fill:none;stroke:#c9951838;stroke-width:1}
.ae-signal-traces{fill:none;stroke:#e2be64;stroke-width:2;stroke-linecap:round;opacity:.85}
.ae-signal-traces path{stroke-dasharray:75 925;animation:alfa-signal 7s linear infinite;animation-play-state:paused}
.ae-signal-traces path:nth-child(2){animation-duration:9s;animation-delay:-3s}
.ae-signal-traces path:nth-child(3){animation-duration:11s;animation-delay:-6s}
.ae-theatre.ae-is-live .ae-signal-traces path{animation-play-state:running}
.ae-theatre.ae-is-paused .ae-signal-traces path{animation-play-state:paused}
.ae-theatre::before{background:radial-gradient(ellipse at 85% 24%,#c995182b,transparent 53%),radial-gradient(ellipse at 15% 80%,#dec58c12,transparent 50%)}
.ae-light-field{background:radial-gradient(ellipse at 75% 55%,#c9951830,transparent 64%),linear-gradient(90deg,#ffffff09 1px,transparent 1px),linear-gradient(#ffffff09 1px,transparent 1px);background-size:auto,52px 52px,52px 52px}
@keyframes alfa-signal{to{stroke-dashoffset:-1000}}

/* Service catalogue: all six areas keep their descriptions and tags. */
.services-section{background:var(--alfa-paper);position:relative}
.services-section>.shell{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.65fr);gap:65px;align-items:start}
.services-section .section-heading{position:sticky;top:100px}
.services-section .section-heading h2{font-size:clamp(34px,3.2vw,44px)}
.services-section .section-heading>p:last-child{font-size:15px;line-height:1.85;margin-bottom:0}
.services-layout{margin:0;min-width:0}
.service-list{grid-template-columns:1fr;gap:0;border-top:1px solid #b6b1a4}
.service-row{display:grid;grid-template-columns:48px minmax(0,1fr);gap:22px;padding:27px 0;border:0;border-bottom:1px solid #d7d4cc;background:transparent!important;border-radius:0;transition:background .25s}
.service-row:hover{transform:none;background:#fff!important;border-color:#c5b58c}
.service-card-top{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:20px;margin:0}
.row-number{font-size:30px;line-height:1;font-weight:400;letter-spacing:-.045em;color:#82641c;font-variant-numeric:tabular-nums}
.service-card-top svg{width:28px;height:28px;padding:3px;color:#82641c}
.service-row>div:last-child{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:8px 24px;align-items:start}
.service-row h3{font-size:19px;line-height:1.35;letter-spacing:-.025em;margin:0}
.service-row p{font-size:14px;line-height:1.8;margin:0;color:#555}
.service-row .tags{grid-column:1/-1;margin-top:6px;padding-top:0;border:0;color:#6b6557;font-size:11px;letter-spacing:.015em}

/* The delivery panel gives the business argument its own visual weight. */
.value-grid{grid-template-columns:1.05fr 1fr;gap:70px;align-items:center}
.value-grid h2{font-size:clamp(34px,3.5vw,46px);line-height:1.13}
.value-grid>article:first-child>p:last-child{font-size:16px;max-width:490px}
.value-delivery{padding:42px;background:#1b1b1b;border:0;border-top:2px solid #c99518;color:#f4f4f4}
.value-delivery .eyebrow{font-size:10px;color:#d9bf80;line-height:1.7}
.value-delivery h3{font-size:31px;line-height:1.25;margin-bottom:22px}
.value-grid .value-delivery p:not(.eyebrow){color:#c3c3c3;font-size:14px;line-height:1.85}
.value-delivery .roi-note{border-color:#45433d;margin-top:26px;padding-top:23px}
.value-delivery .roi-note strong{font-size:17px;line-height:1.5;color:#e5d3a8}

.ae-impact-section{background:#ededeb;border:0}
.ae-time-layout{align-items:center}
.ae-time-intro h2{font-size:clamp(36px,3.7vw,49px)}
.ae-time-tool{border:1px solid #d8d6d0;border-top:2px solid #b18a30;padding:32px;background:#fff}
.ae-estimate-label{font-size:10px;padding-bottom:18px;border-bottom:1px solid #e4e2dc}
.ae-input-line input{background:#f7f7f5;border-color:#c8c4b9;border-radius:0}
.ae-time-result{background:#1a1a1a;color:#fff;margin:23px -32px 26px;padding:26px 32px}
.ae-time-result output{font-size:86px;font-weight:400;letter-spacing:-.06em}
.ae-time-result span{color:#d7c28c;font-size:12px}
.ae-time-result p{color:#ccc;font-size:13px;line-height:1.75}
.ae-time-result.ae-wide-result output{font-size:clamp(32px,7vw,52px)}
.ae-estimate-consult{border-color:#a27b27;border-radius:0;background:#f9f6ee}

/* A restrained dark timeline links the method to the opening workbench. */
.method-section{background:#191919;color:#f0f0ee;background-image:linear-gradient(90deg,#ffffff04 1px,transparent 1px);background-size:84px 100%}
.method-layout{gap:80px;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);align-items:start}
.method-heading{position:sticky;top:100px}
.method-heading .eyebrow{color:#d1bc88}
.method-heading h2{font-size:clamp(40px,4.5vw,58px);line-height:1.08}
.method-heading h2 span{color:#d1bc88}
.method-heading>p:not(.eyebrow){color:#bfbfbf;font-size:15px;line-height:1.9}
.method-list article{padding:28px 0;gap:25px;border-color:#45433e}
.method-list article:first-child{padding-top:26px}
.method-list article>span{font-size:28px;line-height:1;letter-spacing:-.045em;color:#d4b66e;min-width:36px}
.method-list h3{color:#f1f1ed;font-size:21px;margin-bottom:10px}
.method-list p{color:#c3c3c3;line-height:1.85;font-size:14px}
.method-list article::before{left:-18px;background:#bd9650;top:26px;bottom:26px}

/* The example console alternates dark controls and a readable light workspace. */
.examples-section{background:#f5f5f2;color:#242424}
.examples-section .eyebrow{color:#765813}
.examples-section h2 span{color:#765813}
.examples-section .heading-split>p{color:#595959;font-size:15px}
.example-workbench{grid-template-columns:minmax(0,.8fr) minmax(0,1.7fr);border:1px solid #ccc8bc;border-radius:2px}
.example-tabs{background:#1c1c1c;padding:22px;gap:10px;justify-content:start}
.example-tabs button{font-size:14px;line-height:1.55;border-radius:0;padding:20px 13px;min-height:66px}
.example-tabs button[aria-selected=true]{background:#c9951818;border-color:#ad8e493d;border-left:2px solid #c99518;color:#efdbab}
.example-panel{padding:37px;background:#fff}
.example-panel h3{font-size:26px;line-height:1.3;margin-bottom:28px}
.example-top{margin-bottom:28px;letter-spacing:.08em;font-size:10px}
.process-flow{grid-template-columns:minmax(0,1fr) 12px minmax(0,1fr) 12px minmax(0,1fr);gap:10px}
.process-flow>div{padding:16px 12px;background:#f3f3f0;border-top:1px solid #b69a58;min-width:0}
.process-flow div>span{font-size:18px;line-height:1;margin-bottom:16px;color:#80601a}
.process-flow strong{font-size:13px}
.process-flow p{font-size:12px;line-height:1.65}
.process-arrow{padding-top:40px;color:#80601a}
.example-control{font-size:13px;line-height:1.8;padding-top:20px}
.examples-section .legacy-demo{border-color:#d2cdbf;margin-top:25px}
.examples-section .legacy-demo>summary{color:#765813}
.examples-section .legacy-demo>p{color:#595959}

/* A featured application and two companion examples create a clearer rhythm. */
.experiences-section{background:#fff}
.experiences-section .heading-split>p{font-size:15px;line-height:1.85}
.application-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px;align-items:stretch}
.application-grid article{padding:32px;border:1px solid #d9d6ce;border-radius:2px;min-width:0;background:#f8f8f6}
.application-grid .application-visual{display:block;width:calc(100% + 64px);height:auto;margin:-32px -32px 26px;background:#f3f3f0;border-bottom:1px solid #e4e1d7}
.application-grid h3{font-size:27px;letter-spacing:-.035em;line-height:1.25;margin:20px 0 14px}
.application-grid p{font-size:15px;line-height:1.8;max-width:440px}
.application-grid small{font-size:12px;line-height:1.8}
.application-flow{gap:8px;margin-block:22px}
.application-flow span{border-radius:0;font-size:11px;padding:7px 10px;background:#f6f1e4;color:#65511b;border-color:#d9c799}
.application-grid article:first-child{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:0 42px;align-items:start;background:#1b1b1b;color:#f3f3ef;border-color:#1b1b1b;padding:35px}
.application-grid article:first-child .application-visual{grid-column:1;grid-row:1/7;align-self:center;width:100%;height:auto;margin:0;border:0}
.application-grid article:first-child>.demo-label{grid-column:2;margin-top:6px;background:#302a1d;color:#e8ce92;border-color:#7a6740}
.application-grid article:first-child>h3,.application-grid article:first-child>p,.application-grid article:first-child>.application-flow,.application-grid article:first-child>small{grid-column:2}
.application-grid article:first-child p{color:#c8c8c8}
.application-grid article:first-child small{color:#bfbfbf}
.application-grid article:first-child .application-flow span{background:#29271f;color:#e7d4a4;border-color:#6c6044}

.consult-section{background:#1a1a1a;position:relative}
.consult-heading h2{font-size:clamp(38px,4.2vw,54px)}
.consult-section .heading-split>p{font-size:15px;line-height:1.85;color:#c0c0c0}
.consult-layout{border:1px solid #565044;border-radius:2px;grid-template-columns:minmax(0,.8fr) minmax(0,1.65fr)}
.consult-details{padding:37px 30px;background:#24231f;background-image:linear-gradient(#ffffff05 1px,transparent 1px);background-size:100% 62px}
.consult-type{color:#dec58c;line-height:1.65}
.consult-details h3{font-size:32px;line-height:1.2;margin-block:27px}
.meeting-facts p{padding-block:14px;border-top:1px solid #494439;align-items:start;font-size:14px;color:#d1d1d1;line-height:1.7;margin:0}
.meeting-facts p:last-child{border-bottom:1px solid #494439}
.consult-scope{font-size:13px;color:#bdbdbd;line-height:1.8}
.booking-panel{padding:32px;background:#fff}
.booking-tabs{gap:20px}
.booking-tabs button{font-size:15px;line-height:1.5;flex:1;margin-right:0;min-height:56px;padding-inline:5px;border-width:0 0 2px}
.booking-tabs button[aria-selected=true]{color:#705313;border-bottom-color:#a78127}
.calendar-heading h3{font-size:19px;font-weight:600;letter-spacing:-.025em}
.calendar-days button,.calendar-heading button,.time-slots button{border-radius:1px}
.calendar-days button:not(:disabled){background:#f1f0eb;color:#363636}
.calendar-days button[aria-pressed=true],.time-slots button[aria-pressed=true]{background:#292721;color:#f2deaa;border-color:#b48c30}
.calendar-days button:not(:disabled):hover{background:#e5dcc8}
.calendar-days button[aria-pressed=true]:hover{background:#292721;color:#f2deaa}
.preview-notice{line-height:1.8}
.booking-details input,.booking-details select,#contact-form input,#contact-form textarea{border-radius:1px;background:#fbfbfa}
.booking-details label,#contact-form label{font-size:14px!important;color:#454545}

.faq-section{background:#f5f5f2}
.faq-layout{gap:80px;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr)}
.faq-layout>div:first-child{position:sticky;top:100px;align-self:start}
.faq-list{counter-reset:alfa-faq}
.faq-list details{counter-increment:alfa-faq;padding:23px 0;border-color:#d6d1c5}
.faq-list summary{display:grid;grid-template-columns:28px minmax(0,1fr) 18px;gap:15px;font-size:16px;line-height:1.6}
.faq-list summary::before{content:counter(alfa-faq,decimal-leading-zero);font-size:11px;color:#80601a;letter-spacing:.02em}
.faq-list details p{margin-left:43px;padding-left:18px;border-left:1px solid #bea66b;font-size:14px;line-height:1.9}
.faq-list details[open]{background:#fff;padding-inline:18px;margin-inline:-18px}

.assistant-section{background:#1c1c1c;color:#f2f2ee}
.assistant-intro{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:80px}
.assistant-intro .eyebrow{color:#d5bc80}
.assistant-intro h2 span{color:#d5bc80}
.assistant-intro>div>p:not(.eyebrow){color:#c5c5c5;font-size:15px;line-height:1.85}
.assistant-invite{background:#f6f6f2;border-radius:2px;color:#252525;padding:40px;border-top:2px solid #c99518}
.assistant-invite h3{font-size:29px;line-height:1.2;margin:18px 0}
.assistant-invite p{color:#595959!important;font-size:14px;line-height:1.85}
.assistant-invite-mark{color:#80601a;font-size:35px;line-height:1}
.assistant-invite .button{margin-top:10px}
.newsletter-section{background:#ececea;border-top:0}
.newsletter-layout{gap:75px;align-items:center}
.newsletter-layout h2{font-size:clamp(32px,3.6vw,45px);line-height:1.15}
.newsletter-layout>div>p:last-child{font-size:15px;line-height:1.85;max-width:450px}
.newsletter-section #newsletter-form{padding:32px;background:#fff;border-top:2px solid #a67f27;min-width:0}
.newsletter-section #newsletter-email{min-height:50px;border-radius:0;background:#fafaf8}
.newsletter-section .newsletter-consent>span{font-size:12px!important;line-height:1.8}
.newsletter-section .newsletter-page-link{font-size:12px;line-height:1.8}
.site-footer{border-top:1px solid #c9951840}
.footer-main{padding-block:32px;gap:35px}
.footer-main p{font-size:13px;line-height:1.8;max-width:270px}
.footer-main>.text-link{font-size:13px}
.standalone-main{background:#f5f5f2;border-top:1px solid #d4cbb8}
.standalone-content h1{letter-spacing:-.045em}

@media(max-width:1100px) and (min-width:801px){
 .services-section>.shell{grid-template-columns:minmax(0,.75fr) minmax(0,1.5fr);gap:35px}
 .service-row>div:last-child{grid-template-columns:1fr;gap:10px}
 .value-grid,.method-layout,.faq-layout,.assistant-intro{gap:45px}
 .value-delivery{padding:32px}.ae-time-tool{padding:26px}.ae-time-result{margin-inline:-26px;padding-inline:26px}
 .example-panel{padding:28px}.example-workbench{grid-template-columns:minmax(0,.7fr) minmax(0,1.5fr)}
 .application-grid article:first-child{gap:0 28px;padding:28px}
 .booking-panel{padding:26px}.consult-details{padding:30px 24px}
}
@media(max-width:800px){
 .services-section>.shell{grid-template-columns:1fr;gap:35px}.services-section .section-heading{position:static;max-width:600px}
 .services-section .section-heading h2{font-size:40px}.service-row>div:last-child{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}
 .value-grid,.method-layout,.faq-layout,.assistant-intro,.newsletter-layout{grid-template-columns:1fr;gap:35px}
 .value-grid>article:first-child>p:last-child{max-width:650px}.value-delivery{max-width:650px;padding:35px}
 .method-heading,.faq-layout>div:first-child{position:static}.method-heading h2{font-size:48px}.method-heading h2 br{display:none}
 .method-heading h2 br::after{content:' '}.method-heading>p:not(.eyebrow){max-width:600px}
 .method-list article{gap:25px}.method-list article::before{left:-12px}
 .example-workbench{grid-template-columns:1fr}.example-tabs{flex-direction:row;padding:14px;gap:8px}
 .example-tabs button{flex:1;min-width:0;padding:15px 11px;gap:8px;align-items:start;font-size:12px;min-height:68px}
 .example-tabs button[aria-selected=true]{border-left:1px solid #ad8e493d;border-bottom:2px solid #c99518}
 .example-panel{padding:30px}.process-flow strong{font-size:14px}.process-flow p{font-size:13px}
 .application-grid article:first-child{grid-template-columns:1fr;gap:0;padding:30px}
 .application-grid article:first-child .application-visual{grid-column:1;grid-row:auto;margin-bottom:28px;max-width:640px}
 .application-grid article:first-child>.demo-label,.application-grid article:first-child>h3,.application-grid article:first-child>p,.application-grid article:first-child>.application-flow,.application-grid article:first-child>small{grid-column:1}
 .consult-layout{grid-template-columns:1fr}.consult-details{padding:30px;gap:16px 30px}
 .consult-details h3{font-size:30px;margin:0}.meeting-facts p{font-size:13px;padding-block:9px}
 .consult-scope{margin-top:0}.booking-panel{padding:30px}.assistant-invite{max-width:650px}
 .newsletter-section #newsletter-form{max-width:650px}.newsletter-layout>div>p:last-child{max-width:600px}
}
@media(max-width:540px){
 .section-pad{padding-block:60px}.services-section .section-heading h2{font-size:36px}
 .service-row{grid-template-columns:37px minmax(0,1fr);gap:17px;padding-block:26px}
 .service-row>div:last-child{grid-template-columns:1fr;gap:11px}.service-row h3{font-size:21px}
 .service-row p{font-size:14px;line-height:1.8}.row-number{font-size:27px}.service-row .tags{font-size:11px;line-height:1.7}
 .value-grid h2{font-size:35px}.value-delivery{padding:27px}.value-delivery h3{font-size:29px}
 .ae-time-tool{padding:22px}.ae-time-result{padding:24px 22px;margin-inline:-22px}.ae-time-result output{font-size:74px}
 .ae-time-result p{font-size:13px}.ae-time-intro h2{font-size:36px}
 .method-heading h2{font-size:40px;line-height:1.15}.method-heading h2 br{display:block}
 .method-list article{gap:18px;padding-block:25px}.method-list article>span{font-size:26px;min-width:32px}.method-list h3{font-size:21px}
 .example-tabs{flex-direction:column;padding:13px;gap:5px}.example-tabs button{min-height:48px;font-size:13px;align-items:center;padding:12px}
 .example-tabs button[aria-selected=true]{border-bottom:1px solid #ad8e493d;border-left:2px solid #c99518}
 .example-panel{padding:23px}.example-panel h3{font-size:24px}.example-top{letter-spacing:.03em;flex-wrap:wrap}
 .process-flow{grid-template-columns:1fr;gap:8px}.process-flow>div{padding:18px;display:grid;grid-template-columns:30px minmax(0,1fr);gap:6px 12px}
 .process-flow div>span{grid-row:1/3;margin:0;align-self:start;font-size:21px}.process-flow strong,.process-flow p{grid-column:2;margin:0}
 .process-arrow{padding:0;transform:rotate(90deg);justify-self:center;line-height:1}
 .application-grid{grid-template-columns:1fr;gap:23px}.application-grid article{padding:27px}
 .application-grid .application-visual{width:calc(100% + 54px);margin:-27px -27px 24px}
 .application-grid article:first-child{padding:25px}.application-grid article:first-child .application-visual{margin:0 0 25px;width:100%}
 .application-grid h3{font-size:26px}.application-flow span{font-size:10px;line-height:1.5}
 .consult-heading h2{font-size:37px}.consult-details{padding:27px;grid-template-columns:1fr;gap:21px}.consult-details h3{font-size:31px}
 .consult-scope{margin:0}.booking-panel{padding:23px 18px}.booking-tabs{gap:10px}.booking-tabs button{font-size:13px;min-height:54px}
 .calendar-layout{grid-template-columns:1fr;gap:24px}.calendar-heading h3{font-size:18px}
 .faq-list summary{grid-template-columns:22px minmax(0,1fr) 16px;gap:10px;font-size:15px}
 .faq-list details p{margin-left:32px;padding-left:13px}.faq-list details[open]{padding-inline:12px;margin-inline:-12px}
 .assistant-invite{padding:29px}.assistant-invite h3{font-size:28px}.newsletter-section #newsletter-form{padding:25px}
 .footer-main p{font-size:12px}
}
@media(max-width:380px){
 .ae-time-tool{padding:19px}.ae-time-result{margin-inline:-19px;padding-inline:19px;gap:17px}
 .ae-time-result output{font-size:63px}.ae-time-result p{font-size:12px}
 .ae-time-result.ae-wide-result output{font-size:32px}
 .process-flow>div{padding:15px}.booking-panel{padding-inline:15px}
}
@media(prefers-reduced-motion:reduce){
 .ae-signal-traces path{animation:none!important}.service-row{transition:none}.ae-signal-traces{opacity:.5}
}
