@font-face{font-family:Manrope;src:url('assets/fonts/manrope-400.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:Manrope;src:url('assets/fonts/manrope-500.ttf') format('truetype');font-weight:500;font-display:swap}@font-face{font-family:Manrope;src:url('assets/fonts/manrope-600.ttf') format('truetype');font-weight:600;font-display:swap}@font-face{font-family:Manrope;src:url('assets/fonts/manrope-700.ttf') format('truetype');font-weight:700;font-display:swap}@font-face{font-family:Manrope;src:url('assets/fonts/manrope-800.ttf') format('truetype');font-weight:800;font-display:swap}
:root{--navy:#014971;--orange:#e14900;--sage:#65a394;--ink:#112d3c;--muted:#647985;--line:#dbe6e7;--cream:#f6f8f6;--mint:#eaf3ef;--white:#fff;--ease:cubic-bezier(.2,.7,.2,1);--progress:0}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:white;color:var(--ink);font:400 16px/1.6 Manrope,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.12}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--orange);outline-offset:4px}::selection{background:#c6e7da;color:var(--ink)}.container{width:min(100% - 96px,1380px);margin:auto}.section{padding:110px 0}.orange{color:var(--orange)}[hidden]{display:none!important}.skip{position:fixed;top:-100px;left:12px;z-index:100;padding:10px 20px;background:white}.skip:focus{top:12px}.header{position:sticky;top:0;z-index:40;background:#ffffffed;backdrop-filter:blur(16px);border-bottom:1px solid var(--line);transition:box-shadow .3s}.header.scrolled{box-shadow:0 12px 38px #003f5c12}.nav-shell{height:92px;display:flex;align-items:center;gap:50px}.brand{display:flex;align-items:center;flex:none}.brand img{width:145px;height:auto}.desktop-nav{display:flex;align-items:center;gap:32px;margin-left:auto}.desktop-nav a{font-size:13px;font-weight:700;position:relative;white-space:nowrap}.desktop-nav a:after{content:'';position:absolute;left:0;right:100%;height:2px;bottom:-9px;background:var(--orange);transition:right .3s}.desktop-nav a:hover:after,.desktop-nav a.active:after{right:0}.nav-cta{padding:13px 19px;background:var(--navy);color:white;font-weight:700;font-size:13px;display:flex;align-items:center;gap:16px;border-radius:4px;white-space:nowrap;transition:background .2s,transform .25s}.nav-cta:hover{background:#00618d;transform:translateY(-2px)}.nav-cta span{font-size:18px;color:#9fd3bf}.menu-toggle{display:none}.reading-progress{height:3px;position:absolute;left:0;right:0;bottom:-1px;pointer-events:none}.reading-progress span{display:block;width:100%;height:100%;background:linear-gradient(90deg,var(--sage),var(--orange));transform:scaleX(var(--progress));transform-origin:left}.hero{background:#f5f8f6;overflow:hidden}.hero-layout{display:grid;grid-template-columns:54% 46%;min-height:720px}.hero-copy{padding:105px 34px 50px 0;display:flex;flex-direction:column;align-items:flex-start;position:relative;z-index:2}.eyebrow,.section-kicker{font-size:11px;letter-spacing:2.3px;font-weight:800;display:flex;align-items:center;gap:12px;color:var(--navy)}.eyebrow-line{width:25px;height:2px;background:var(--orange)}.hero h1{font-size:clamp(53px,5.2vw,86px);font-weight:800;letter-spacing:-4.8px;margin:38px 0 28px;line-height:1.095}.hero h1 em{color:var(--orange);font-style:normal}.hero-lead{max-width:560px;font-size:clamp(17px,1.65vw,22px);line-height:1.65;color:#4c6874}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:18px}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;border:0;border-radius:4px;padding:19px 26px;min-height:60px;font-weight:800;font-size:14px;transition:transform .25s,background .25s,box-shadow .25s}.btn span{font-size:23px;font-weight:400;transition:transform .25s}.btn:hover{transform:translateY(-3px)}.btn:hover span{transform:translate(3px,-3px)}.btn-primary{color:white;background:var(--orange);box-shadow:0 12px 24px #e1490018}.btn-primary:hover{background:#c94200;box-shadow:0 16px 28px #e1490030}.text-link{font-size:14px;font-weight:800;padding-bottom:6px;border-bottom:1px solid var(--navy);white-space:nowrap;transition:color .25s,border-color .25s}.text-link:hover{color:var(--orange);border-color:var(--orange)}.text-link span{margin-left:10px}.hero-proof{display:flex;align-items:center;gap:15px;margin-top:auto;padding-top:50px;color:#6c8187;text-transform:uppercase;letter-spacing:1.1px;font-size:10px;line-height:1.8;font-weight:700}.proof-mark{width:46px;height:46px;border-radius:50%;border:1px solid #c6ded5;display:grid;place-items:center;color:var(--sage);font-size:23px;font-weight:400}.hero-stage{position:relative;min-height:720px}.hero-photo{position:absolute;inset:0 -100px 45px 35px;overflow:hidden;border-bottom-left-radius:105px;background:#d5e4e0}.hero-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:50% 50%;transform:scale(1.06);transition:transform .8s var(--ease),filter .8s}.hero-photo:hover img{transform:scale(1.13);filter:saturate(1.15)}.photo-overlay{position:absolute;inset:0;background:linear-gradient(145deg,transparent 52%,#01497155);pointer-events:none}.floating-note{position:absolute;bottom:82px;left:-52px;background:var(--navy);color:white;padding:30px 35px;width:290px;box-shadow:0 24px 55px #002f4b3d;border-radius:4px;transition:transform .4s}.floating-note:hover{transform:translateY(-8px)}.note-top{display:block;font-size:10px;letter-spacing:1.5px;color:#aed5c7;font-weight:700;margin-bottom:18px}.floating-note strong{font-size:27px;letter-spacing:-1px;line-height:1.15;display:block}.floating-note strong span{color:#ff8a4c}.floating-note i{font-style:normal;position:absolute;right:27px;bottom:22px;font-size:23px;color:#91bbae}.hero-shape{position:absolute;right:-150px;bottom:-80px;width:340px;height:340px;border:1px solid #65a39440;border-radius:50%;pointer-events:none}.hero-end{border-top:1px solid #e3eae7;background:#f5f8f6}.hero-end-inner{height:64px;display:flex;justify-content:space-between;align-items:center;gap:24px;font-size:10px;font-weight:800;letter-spacing:1.1px;color:#809299}.hero-end a{font-size:11px;color:var(--navy)}.hero-end a span{font-size:18px;vertical-align:middle;margin-left:10px}.section-kicker .dot{width:8px;height:8px;border-radius:50%;background:var(--orange)}.intro{padding:98px 0;background:white}.intro-layout{display:grid;grid-template-columns:1fr 3fr;gap:40px}.intro-statement{font-size:clamp(29px,3.2vw,46px);font-weight:800;line-height:1.33;letter-spacing:-1.6px;margin:0;max-width:1000px}.intro-statement span{color:#90a3a8}.intro-aside{grid-column:2;font-size:15px;color:var(--muted);max-width:450px;border-left:3px solid var(--sage);padding-left:20px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:42px}.section-heading h2,.faq-layout h2{font-size:clamp(38px,4vw,58px);letter-spacing:-2.2px;margin:22px 0 0}.section-heading>p{font-size:16px;line-height:1.8;color:var(--muted);max-width:390px;margin:0 0 5px}.services{background:var(--cream)}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.service-card{background:white;border:1px solid #e0e9e8;border-radius:8px;overflow:hidden;transition:transform .45s var(--ease),box-shadow .45s}.service-card:hover{transform:translateY(-7px);box-shadow:0 25px 55px #01497115}.card-image{display:block;position:relative;height:340px;overflow:hidden;background:#e3eeeb}.card-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease),filter .8s}.card-image:hover img,.service-card:hover .card-image img{transform:scale(1.085);filter:saturate(1.12)}.image-corner{position:absolute;right:20px;bottom:20px;width:51px;height:51px;border-radius:50%;background:white;display:grid;place-items:center;font-size:26px;color:var(--orange);transition:transform .35s,background .35s,color .35s}.card-image:hover .image-corner{transform:rotate(45deg);background:var(--orange);color:white}.card-content{padding:35px 38px 30px}.card-category{font-size:10px;color:var(--sage);font-weight:800;letter-spacing:1.8px}.card-content h3{font-size:clamp(26px,2.6vw,36px);letter-spacing:-1px;margin:14px 0}.card-content>p{color:var(--muted);font-size:15px;line-height:1.8;max-width:480px;min-height:58px}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}.tags span{font-size:11px;font-weight:700;color:#496571;border:1px solid #d9e5e3;padding:7px 12px;border-radius:30px;background:#f7faf9}.card-link{display:flex;align-items:center;justify-content:space-between;font-size:14px;font-weight:800;padding:20px 0 0;margin-top:28px;border-top:1px solid var(--line);color:var(--navy)}.card-link span{font-size:24px;color:var(--orange);transition:transform .3s}.card-link:hover span{transform:translate(4px,-4px)}.statement{background:var(--navy);color:white;overflow:hidden}.statement-layout{min-height:300px;display:flex;align-items:center;gap:45px;position:relative}.statement-symbol{font-size:clamp(80px,11vw,160px);color:var(--sage);line-height:1;transform:rotate(-17deg)}.statement p{font-size:clamp(25px,3.15vw,46px);font-weight:800;letter-spacing:-1.6px;line-height:1.38;margin:0}.statement p span{color:#b5d7ce}.statement p em{font-style:normal;color:#ff8a4c}.statement-action{margin-left:auto;align-self:center;width:66px;height:66px;flex:none;border-radius:50%;border:1px solid #8eafba;color:white;font-size:32px;display:grid;place-items:center;transition:background .2s,transform .2s}.statement-action:hover{background:var(--orange);transform:rotate(45deg)}.situations{background:white}.situation-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.situation-card{text-align:left;display:flex;flex-direction:column;align-items:flex-start;padding:31px 26px 24px;min-height:345px;background:#f5f8f7;border:1px solid #e0e9e7;border-radius:7px;color:var(--ink);transition:background .3s,color .3s,transform .3s,border-color .3s}.situation-card:hover,.situation-card:focus-visible{background:var(--navy);border-color:var(--navy);color:white;transform:translateY(-6px)}.situation-icon{width:48px;height:48px;border:1px solid #d1e3da;border-radius:50%;display:grid;place-items:center;color:var(--sage);font-size:27px;margin-bottom:34px;transition:background .3s,color .3s}.situation-card:hover .situation-icon{background:white;color:var(--navy)}.situation-title{font-size:21px;letter-spacing:-.6px;line-height:1.28;font-weight:800;margin-bottom:16px}.situation-desc{color:var(--muted);font-size:12px;line-height:1.75}.situation-card:hover .situation-desc{color:#c8dce1}.situation-more{margin-top:auto;padding-top:23px;width:100%;display:flex;justify-content:space-between;font-size:12px;font-weight:800;color:var(--orange)}.situation-card:hover .situation-more{color:#ff965d}.situation-more b{font-size:20px;font-weight:400}.approach{background:#edf4f0}.approach-layout{display:grid;grid-template-columns:41% 1fr;gap:9%}.approach-side{position:relative}.approach-side h2{font-size:clamp(39px,4.4vw,63px);letter-spacing:-2.7px;margin:25px 0}.approach-side h2 em{font-style:normal;color:var(--sage)}.approach-side>p{color:var(--muted);max-width:320px;font-size:16px;line-height:1.8;margin-bottom:30px}.approach-decoration{margin-top:55px;height:125px;display:flex;align-items:end;gap:14px;opacity:.55}.approach-decoration span{display:block;width:38px;background:var(--sage);border-radius:3px 3px 0 0;height:48px}.approach-decoration span:nth-child(2){height:85px;background:var(--navy)}.approach-decoration span:nth-child(3){height:120px;background:var(--orange)}.process-list{padding:0;margin:0;list-style:none;border-top:1px solid #c7dbd2}.process-list li{display:grid;grid-template-columns:55px 1fr 30px;gap:15px;padding:28px 10px;border-bottom:1px solid #c7dbd2;transition:padding .3s,background .3s}.process-list li:hover{padding-left:20px;background:#ffffff88}.step-count{font-size:11px;color:var(--orange);font-weight:800}.process-list h3{font-size:23px;letter-spacing:-.5px;margin:0 0 10px}.process-list p{font-size:14px;line-height:1.75;color:var(--muted);margin:0;max-width:400px}.step-arrow{font-size:25px;color:var(--sage)}.outcome{background:#0d3c53;color:white;padding:85px 0}.outcome-layout{display:grid;grid-template-columns:160px 1fr auto;gap:45px;align-items:center}.outcome-seal{width:150px;height:150px;border:1px solid #73a6a8;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;transform:rotate(-13deg)}.outcome-seal span{font-size:39px;font-weight:800;letter-spacing:-2px;line-height:1}.outcome-seal small{font-size:10px;text-align:center;letter-spacing:1px;margin-top:9px;color:#a4d5c5}.outcome .section-kicker{color:#9fcbbc}.outcome h2{font-size:clamp(30px,3vw,44px);letter-spacing:-1.5px;margin:16px 0}.outcome h2 em{font-style:normal;color:#9dcdbb}.outcome p{font-size:14px;line-height:1.8;color:#c3d8df;max-width:580px;margin:0}.btn-light{background:white;color:var(--navy);white-space:nowrap}.btn-light:hover{background:#d9eee5}.faq-section{background:white}.faq-layout{display:grid;grid-template-columns:36% 1fr;gap:11%}.faq-aside{color:var(--muted);max-width:310px;margin:27px 0 20px}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{padding:26px 5px;font-weight:800;font-size:17px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list details[open] summary{color:var(--navy)}.plus{width:37px;height:37px;flex:none;border:1px solid #cbded5;border-radius:50%;position:relative;transition:background .25s,transform .25s}.plus:before,.plus:after{content:'';position:absolute;width:13px;height:2px;background:var(--navy);left:11px;top:17px}.plus:after{transform:rotate(90deg)}details[open] .plus{background:var(--mint);transform:rotate(45deg)}.faq-answer{color:var(--muted);font-size:15px;line-height:1.85;padding:0 60px 26px 5px}.contact-section{background:#f4f7f5}.contact-heading{max-width:770px;margin-bottom:52px}.contact-heading h2{font-size:clamp(40px,4.6vw,65px);letter-spacing:-2.9px;margin:20px 0}.contact-heading h2 em{font-style:normal;color:var(--orange)}.contact-heading p{font-size:17px;color:var(--muted);max-width:520px}.contact-layout{display:grid;grid-template-columns:37% 1fr;gap:5%}.contact-info{display:flex;flex-direction:column;align-items:flex-start;padding-top:14px}.contact-info-label{font-size:11px;font-weight:800;letter-spacing:1.5px;color:var(--muted);margin-bottom:14px}.email{font-size:clamp(20px,2.1vw,30px);font-weight:800;letter-spacing:-.6px;white-space:nowrap}.email span{color:var(--orange)}.copy-email{background:none;border:0;border-bottom:1px solid #aebfbe;padding:6px 0;margin-top:12px;font-size:12px;color:var(--navy);font-weight:700}.copy-status{font-size:12px;color:var(--navy);min-height:24px;margin-top:8px}.contact-info-bottom{margin-top:auto;display:flex;align-items:center;gap:23px;padding-bottom:55px}.contact-info-mark{font-size:70px;color:var(--sage)}.contact-info-bottom p{font-size:14px;color:var(--muted);max-width:260px;margin:0}.brief-form{background:white;border:1px solid var(--line);border-radius:8px;box-shadow:0 25px 70px #0149710c;padding:40px 42px}.form-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:25px;margin-bottom:9px}.form-header h3{font-size:25px;margin:0}.form-header>span{font-size:30px;color:var(--orange)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:19px}.form-field{margin-top:23px}.form-field label{display:block;font-size:12px;font-weight:800;margin-bottom:9px}.form-field label b{color:var(--orange)}.optional{font-weight:400;color:#91a1a6;margin-left:4px}.form-field input,.form-field select,.form-field textarea{width:100%;display:block;border:1px solid #d5e2e1;border-radius:4px;padding:14px 15px;font-size:14px;line-height:1.6;background:#fbfcfc;color:var(--ink);transition:border-color .2s,box-shadow .2s}.form-field input::placeholder,.form-field textarea::placeholder{color:#91a3a9}.form-field textarea{resize:vertical;min-height:115px}.form-field :is(input,select,textarea):focus{border-color:var(--sage);box-shadow:0 0 0 3px #65a39424;outline:none}.contact-trap{position:absolute;clip-path:inset(50%);height:1px;width:1px;overflow:hidden}.form-bottom{display:flex;align-items:center;gap:23px;margin-top:28px}.form-bottom p{font-size:11px;color:var(--muted);line-height:1.6;max-width:230px;margin:0}.form-bottom .btn{white-space:nowrap}.form-bottom .btn:disabled{opacity:.65;cursor:wait}.draft-status{font-size:13px;line-height:1.6;margin:15px 0 0}.draft-status:empty{display:none}.draft-status[data-state=success]{background:#e2f3e7;color:#285d43;padding:15px;border-left:3px solid var(--sage)}.draft-status[data-state=error]{background:#fff0e5;color:#8c3e14;padding:15px;border-left:3px solid var(--orange)}.footer{background:white}.footer-top{display:flex;align-items:center;gap:35px;padding:37px 0;border-bottom:1px solid var(--line)}.footer-top img{width:125px;display:block}.footer-top p{color:var(--muted);font-size:12px;line-height:1.7;margin:0}.footer-up{margin-left:auto;font-size:13px;font-weight:700}.footer-up span{color:var(--orange);font-size:20px;margin-left:13px}.footer-bottom{display:flex;justify-content:space-between;gap:15px;padding:18px 0 25px;font-size:11px;color:#8aa0a6}.back-to-top{position:fixed;bottom:24px;right:24px;width:52px;height:52px;z-index:20;background:white;color:var(--orange);border:1px solid var(--line);box-shadow:0 7px 20px #01497119;border-radius:50%;display:grid;place-items:center;font-size:25px;transition:transform .2s}.back-to-top:hover{transform:translateY(-4px)}.reveal-pending{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.reveal-pending.is-visible{opacity:1;transform:none}
@media(max-width:1200px){.container{width:min(100% - 70px,1380px)}.nav-shell{gap:22px}.desktop-nav{gap:19px}.hero h1{font-size:clamp(49px,5.4vw,68px);letter-spacing:-3px}.hero-layout,.hero-stage{min-height:650px}.hero-copy{padding-top:90px}.floating-note{left:-35px}.card-image{height:270px}.card-content{padding:27px}.situation-card{padding:24px 18px}.situation-title{font-size:19px}.outcome-layout{grid-template-columns:130px 1fr auto;gap:25px}.outcome-seal{width:125px;height:125px}.outcome .btn{padding:16px;gap:12px}.contact-layout{gap:4%}.brief-form{padding:28px}}
@media(max-width:940px){.container{width:min(100% - 48px,1380px)}.nav-shell{height:78px}.desktop-nav,.nav-cta{display:none}.menu-toggle{display:flex;margin-left:auto;width:45px;height:43px;background:white;border:1px solid var(--line);border-radius:4px;align-items:center;justify-content:center;flex-direction:column;gap:6px}.menu-toggle span{width:21px;height:2px;background:var(--navy);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-nav{display:flex;flex-direction:column;background:white;padding:10px 24px 26px;border-top:1px solid var(--line)}.mobile-nav a{padding:11px 0;border-bottom:1px solid var(--line);font-size:14px;font-weight:700}.hero-layout{grid-template-columns:53% 47%}.hero-copy{padding-top:65px;padding-right:22px}.hero h1{font-size:clamp(44px,5.4vw,58px)}.hero-lead{font-size:16px}.hero-actions{gap:15px;flex-wrap:wrap}.hero-stage,.hero-layout{min-height:590px}.hero-photo{inset:0 -50px 45px 18px}.floating-note{bottom:60px;left:-30px;padding:22px;width:235px}.floating-note strong{font-size:23px}.section{padding:78px 0}.intro-layout{grid-template-columns:1fr 3fr}.statement-symbol{font-size:85px}.statement-layout{gap:22px;min-height:250px}.situation-grid{grid-template-columns:repeat(2,1fr)}.situation-card{min-height:290px}.situation-icon{margin-bottom:25px}.approach-layout{gap:5%}.outcome-layout{grid-template-columns:110px 1fr;gap:25px}.outcome-seal{width:105px;height:105px}.outcome .btn{grid-column:2;justify-self:start}.contact-layout{grid-template-columns:1fr}.contact-info{padding:0 0 20px}.contact-info-bottom{display:none}.brief-form{padding:35px}.email{font-size:27px}.faq-layout{gap:5%}}
@media(max-width:600px){html{scroll-padding-top:80px}.container{width:min(100% - 38px,1380px)}.brand img{width:125px}.hero-layout{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:49px 0 43px}.eyebrow{font-size:10px}.hero h1{font-size:clamp(42px,10vw,60px);letter-spacing:-2.7px;margin:25px 0}.hero-lead{font-size:16px}.hero-actions{margin-top:13px;align-items:flex-start;gap:22px}.btn{padding:15px 18px;min-height:54px;gap:18px;font-size:13px}.text-link{font-size:13px}.hero-proof{margin-top:28px;padding-top:0;font-size:9px}.hero-stage{height:410px;min-height:410px}.hero-photo{inset:0 -19px 30px -19px;border-bottom-left-radius:60px}.floating-note{bottom:0;left:0;padding:19px 23px;width:235px}.floating-note strong{font-size:22px}.note-top{font-size:9px;margin-bottom:11px}.hero-end-inner{font-size:9px}.hero-end-inner>span{max-width:210px}.section{padding:65px 0}.intro{padding:64px 0}.intro-layout{grid-template-columns:1fr;gap:22px}.intro-statement{font-size:29px;letter-spacing:-1.1px}.intro-aside{grid-column:1}.section-heading{display:block;margin-bottom:30px}.section-heading h2,.faq-layout h2{font-size:37px;letter-spacing:-1.4px}.section-heading>p{font-size:14px;margin-top:18px}.service-grid{grid-template-columns:1fr;gap:18px}.card-image{height:240px}.card-content{padding:25px}.card-content h3{font-size:28px}.card-content>p{min-height:0}.statement-layout{min-height:235px;gap:13px}.statement-symbol{font-size:56px}.statement p{font-size:23px;letter-spacing:-.7px}.statement-action{width:42px;height:42px;font-size:24px}.situation-grid{gap:10px}.situation-card{min-height:285px;padding:18px 13px}.situation-icon{width:40px;height:40px;font-size:22px;margin-bottom:22px}.situation-title{font-size:16px}.situation-desc{font-size:11px}.approach-layout{grid-template-columns:1fr;gap:40px}.approach-side h2{font-size:44px}.approach-decoration{display:none}.process-list h3{font-size:19px}.process-list li{grid-template-columns:32px 1fr 17px;gap:11px;padding:24px 0}.process-list p{font-size:13px}.outcome{padding:58px 0}.outcome-layout{grid-template-columns:1fr}.outcome-seal{display:none}.outcome h2{font-size:35px}.outcome .btn{grid-column:auto}.faq-layout{grid-template-columns:1fr;gap:30px}.faq-aside{margin:19px 0}.faq-list summary{font-size:15px;padding:21px 0}.faq-answer{font-size:14px;padding-right:25px}.contact-heading{margin-bottom:28px}.contact-heading h2{font-size:40px;letter-spacing:-1.6px}.contact-heading p{font-size:15px}.email{font-size:23px}.brief-form{padding:25px 20px}.form-row{grid-template-columns:1fr;gap:0}.form-header h3{font-size:23px}.form-bottom{flex-direction:column;align-items:stretch}.form-bottom p{max-width:none}.form-bottom .btn{width:100%}.footer-top{gap:18px;flex-wrap:wrap}.footer-top img{width:105px}.footer-top p{font-size:10px}.footer-up{font-size:11px}.footer-bottom{font-size:9px}.back-to-top{right:14px;bottom:14px;width:44px;height:44px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal-pending{opacity:1;transform:none}.hero-photo img{transform:none!important}}
@media print{.header{position:static}.hero-photo img{transform:none!important}.back-to-top,.reading-progress{display:none}.reveal-pending{opacity:1;transform:none}}


/* Motion edition — deliberately appended as a self-contained design layer. */
:root{--smooth:cubic-bezier(.16,1,.3,1);--mouse-x:50%;--mouse-y:50%;--ambient-y:0px;--scroll-shift:0px;--glow-alpha:0}
body{position:relative;isolation:isolate;background:#f9fbfa}
main,.footer{position:relative;z-index:1}
.ambient-canvas{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:linear-gradient(135deg,#f9fbfa,#f4faf8 40%,#f8fafc 85%)}
.ambient-orb{position:absolute;display:block;aspect-ratio:1;border-radius:50%;filter:blur(88px);opacity:.42;transform:translate3d(0,var(--ambient-y),0);will-change:transform;animation:orb-drift 22s ease-in-out infinite alternate}
.orb-blue{width:min(63vw,900px);top:-33%;right:-25%;background:radial-gradient(circle,#a6cddf 0%,#d0e7ec 42%,transparent 72%)}
.orb-mint{width:min(75vw,1000px);top:25%;left:-40%;background:radial-gradient(circle,#b5e2ce 0%,#dcf0e4 45%,transparent 70%);animation-delay:-8s;animation-duration:28s}
.orb-orange{width:min(48vw,700px);bottom:-40%;right:-18%;background:radial-gradient(circle,#ffdbc1 0%,#f9e8da 43%,transparent 72%);animation-delay:-13s;animation-duration:25s}
.ambient-grid{position:absolute;inset:0;background-image:linear-gradient(#01497108 1px,transparent 1px),linear-gradient(90deg,#01497108 1px,transparent 1px);background-size:96px 96px;mask-image:linear-gradient(to bottom,transparent,black 12%,black 75%,transparent);opacity:.36}
@keyframes orb-drift{from{translate:-4% -3%;scale:1}to{translate:7% 6%;scale:1.14}}
.cursor-halo{position:fixed;left:0;top:0;width:440px;height:440px;border-radius:50%;z-index:2;pointer-events:none;opacity:var(--glow-alpha);background:radial-gradient(circle,#65a39417 0%,#0149710a 30%,transparent 70%);transform:translate3d(calc(var(--mouse-x) - 50%),calc(var(--mouse-y) - 50%),0);transition:opacity .5s;mix-blend-mode:multiply}
.header{background:#fffffff0}.hero{position:relative;background:linear-gradient(115deg,#f4f9f7dc 0%,#eef7f4b8 58%,#e8f0f1a6 100%)}
.hero:before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 11% 9%,#fff 0%,transparent 52%),radial-gradient(ellipse at 80% 90%,#65a39419,transparent 55%)}
.hero-layout{position:relative}.hero-photo{box-shadow:0 32px 95px #01497125;transition:box-shadow .9s var(--smooth)}.hero-photo:hover{box-shadow:0 40px 105px #01497136}
.hero-photo img{transform:scale(1.09) translate3d(0,var(--image-shift,0px),0);transition:transform 1.25s var(--smooth),filter .85s var(--smooth)}
.hero-photo:hover img{transform:scale(1.16) translate3d(0,var(--image-shift,0px),0)}
.floating-note{transform:translate3d(0,var(--float-shift,0px),0);transition:box-shadow .6s var(--smooth);box-shadow:0 24px 80px #01497127}
.hero-shape{transform:translate3d(0,var(--shape-shift,0px),0)}
.hero h1 em{background:linear-gradient(110deg,var(--orange) 8%,#ff8035 48%,var(--orange) 90%);background-size:240% auto;background-clip:text;-webkit-background-clip:text;color:transparent;animation:shimmer-type 12s ease-in-out infinite alternate}
@keyframes shimmer-type{to{background-position:100% center}}
.section{position:relative}.intro{background:#ffffff85;backdrop-filter:blur(8px)}
.services{background:linear-gradient(150deg,#fff 0%,#f5faf8 52%,#eff7f2 100%)}
.situations{background:linear-gradient(125deg,#eff8f3,#f8fbfa 46%,#f0f5fa)}
.approach{background:linear-gradient(170deg,#fff,#f4f8fb)}
.faq-section{background:linear-gradient(120deg,#f7faf9,#eaf4ef 75%,#f7f9fa)}
.contact-section{background:radial-gradient(ellipse at 4% 2%,#d8ece4 0%,transparent 48%),radial-gradient(ellipse at 100% 94%,#dfeafa 0%,transparent 50%),#f4f8f6}
.service-card{transition:transform .7s var(--smooth),box-shadow .7s var(--smooth),border-color .5s;transform-style:preserve-3d;--card-raise:0px}
.service-card:hover{transform:translateY(-9px);box-shadow:0 30px 70px #01497118}
.card-image{isolation:isolate}.card-image:after{content:'';position:absolute;inset:0;background:linear-gradient(140deg,#fff2,transparent 48%,#01497119);pointer-events:none;opacity:.1;transition:opacity .8s}
.service-card:hover .card-image:after{opacity:1}
.card-image img{transition:transform 1.3s var(--smooth),filter 1.1s var(--smooth)!important}
.card-image:hover img{transform:scale(1.12) rotate(.5deg)!important;filter:saturate(1.13) contrast(1.04)}
.situation-card{transition:transform .65s var(--smooth),box-shadow .65s var(--smooth),border-color .3s,background .4s}
.situation-card:hover{transform:translateY(-8px);box-shadow:0 24px 55px #01497116}
.btn,.nav-cta{transition:transform .55s var(--smooth),background .3s,box-shadow .55s var(--smooth)}
.section-heading h2,.contact-heading h2{transition:letter-spacing .65s var(--smooth)}
.section-heading:hover h2{letter-spacing:-2.7px}
.reveal-pending{opacity:0;transform:translate3d(0,42px,0) scale(.982);filter:blur(4px);transition:opacity 1s var(--smooth),transform 1.1s var(--smooth),filter 1s var(--smooth)}
.reveal-pending.is-visible{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0)}
.service-grid>.service-card:nth-child(2),.situation-grid>*:nth-child(2){transition-delay:.1s}.situation-grid>*:nth-child(3){transition-delay:.17s}.situation-grid>*:nth-child(4){transition-delay:.24s}
.section-rail{position:fixed;z-index:26;right:15px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:13px;padding:14px 10px;border-radius:25px;background:#fffffff0;border:1px solid #dbe6e7;box-shadow:0 9px 28px #01497110;backdrop-filter:blur(12px)}
.section-rail a{display:block;width:9px;height:9px;border-radius:50%;background:#afc7c5;transition:height .4s var(--smooth),background .3s,transform .3s}
.section-rail a:hover,.section-rail a.active{background:var(--orange);height:22px;border-radius:8px}
.insight-band{position:relative;overflow:hidden;padding:80px 0;background:linear-gradient(120deg,#dceee7,#edf8f2 50%,#e6eff2);border-block:1px solid #c7ddd5}
.insight-band:before{content:'';position:absolute;width:55%;height:180%;top:-30%;right:-13%;background:repeating-radial-gradient(circle at center,#01497112 0 1px,transparent 1px 26px);opacity:.5;transform:rotate(-15deg)}
.insight-grid{position:relative;display:grid;grid-template-columns:220px minmax(0,1fr) 130px;gap:45px;align-items:center}
.insight-kicker{font-size:11px;font-weight:800;letter-spacing:2px;color:var(--navy)}.insight-kicker span{display:block;font-size:28px;color:var(--orange);margin-top:17px}
.insight-main h2{font-size:clamp(35px,4.3vw,62px);letter-spacing:-2.5px;margin:0 0 17px}.insight-main h2 em{font-style:normal;color:var(--orange)}.insight-main p{font-size:17px;line-height:1.75;color:#496b71;max-width:710px;margin:0}
.insight-decoration{width:120px;height:120px;position:relative}.insight-decoration span{position:absolute;inset:0;border:1px solid #65a394aa;border-radius:50%;animation:insight-ripple 7s ease-in-out infinite}.insight-decoration span:nth-child(2){inset:17px;animation-delay:-2s}.insight-decoration span:nth-child(3){inset:34px;animation-delay:-4s;background:#65a39450}
@keyframes insight-ripple{50%{transform:scale(1.16);opacity:.35}}
.scenario-prompt{margin-top:26px;display:flex;gap:30px;align-items:center;justify-content:space-between;padding:35px 40px;border:1px solid #cddedb;border-radius:12px;background:#ffffffbd;box-shadow:0 18px 45px #0149710b}
.scenario-eyebrow{font-size:10px;color:var(--navy);font-weight:800;letter-spacing:1.6px}.scenario-prompt h3{font-size:25px;letter-spacing:-.8px;margin:8px 0}.scenario-prompt p{color:var(--muted);max-width:610px;margin:0;font-size:14px}
.faq-list details{transition:background .4s,border-color .4s,box-shadow .4s}.faq-list details[open]{background:#ffffffd9;box-shadow:0 13px 30px #0149710b}
@media(max-width:940px){.section-rail,.cursor-halo{display:none}.insight-grid{grid-template-columns:1fr 2fr;gap:24px}.insight-decoration{display:none}}
@media(max-width:600px){.ambient-orb{filter:blur(55px);opacity:.28}.ambient-grid{background-size:64px 64px}.hero-photo img,.hero-photo:hover img{transform:scale(1.06)}.floating-note,.hero-shape{transform:none}.insight-band{padding:55px 0}.insight-grid{grid-template-columns:1fr;gap:13px}.insight-main h2{font-size:36px}.insight-main p{font-size:15px}.scenario-prompt{padding:25px;display:block}.scenario-prompt h3{font-size:22px}.scenario-prompt .btn{margin-top:22px}.reveal-pending{transform:translateY(17px);filter:none}}
@media(prefers-reduced-motion:reduce){.ambient-orb,.hero h1 em,.insight-decoration span{animation:none!important}.reveal-pending{opacity:1;transform:none;filter:none}.hero-photo img,.hero-photo:hover img{transform:none!important}.floating-note,.hero-shape{transform:none!important}.cursor-halo{display:none}.service-card:hover,.situation-card:hover{transform:none}.card-image:hover img{transform:none!important}}
@media print{.ambient-canvas,.cursor-halo,.section-rail{display:none}.reveal-pending{opacity:1;filter:none;transform:none}}


/* MOTION PLUS — cinematic but controllable motion system */
:root{--motion-ease:cubic-bezier(.19,1,.22,1);--spotlight-x:50vw;--spotlight-y:40vh}
.ambient-canvas{background:linear-gradient(118deg,#ecf7f6 0%,#e0eef8 27%,#fff5ec 55%,#d9f2e6 80%,#edf4ff 100%);background-size:280% 280%;animation:background-flow 17s ease-in-out infinite alternate}
.ambient-orb{opacity:.76;filter:blur(73px);mix-blend-mode:multiply;animation-duration:13s}
.orb-blue{background:radial-gradient(circle,#77bce0 0%,#b2d8eb 36%,transparent 72%)}
.orb-mint{background:radial-gradient(circle,#7dceb1 0%,#c0ead7 43%,transparent 72%)}
.orb-orange{background:radial-gradient(circle,#ffb27c 0%,#ffdfbe 44%,transparent 72%)}
.ambient-grid{opacity:.60;background-size:70px 70px;animation:grid-drift 25s linear infinite}
.ambient-beam{position:absolute;height:70vh;width:28vw;top:-17vh;left:26%;transform:rotate(24deg);filter:blur(42px);background:linear-gradient(90deg,transparent,#fff9 50%,transparent);animation:beam-drift 15s ease-in-out infinite alternate}
.beam-b{left:76%;top:35%;background:linear-gradient(90deg,transparent,#65a39448 50%,transparent);animation-delay:-8s}
.light-spot{position:fixed;z-index:1;inset:0;pointer-events:none;background:radial-gradient(440px circle at var(--spotlight-x) var(--spotlight-y),#ffb37720,transparent 75%);mix-blend-mode:multiply}
.hero{background:linear-gradient(120deg,#f3faf8de,#eaf5f7b3 47%,#fef4e8b8);background-size:180% 180%;animation:background-flow 20s ease-in-out infinite alternate}
.hero-photo img{transition:transform 1.55s var(--motion-ease),filter 1.2s var(--motion-ease)!important}
.hero-photo:hover img{filter:saturate(1.24) contrast(1.07)}
.floating-note.motion-note{transition:transform .9s var(--motion-ease),box-shadow .65s ease;will-change:transform}
.floating-note.motion-note .note-top{display:block;opacity:0;transform:translateY(16px);transition:opacity 1.15s .12s ease,transform 1.35s .12s var(--motion-ease)}
.floating-note.motion-note strong{display:block;opacity:0;filter:blur(6px);transform:translateY(34px);transition:opacity 1.4s .34s ease,transform 1.55s .34s var(--motion-ease),filter 1.4s .34s ease}
.floating-note.motion-note i{opacity:0;transform:translate(-13px,13px) rotate(-28deg);transition:opacity 1.2s .85s ease,transform 1.35s .85s var(--motion-ease)}
.floating-note.motion-note.note-ready .note-top,.floating-note.motion-note.note-ready strong{opacity:1;transform:none;filter:none}
.floating-note.motion-note.note-ready i{opacity:1;transform:none}
/* Initial styling is activated only with JavaScript; no-js remains visible. */
.js-motion [data-reveal]{opacity:0;transform:translate3d(0,70px,0) scale(.955);filter:blur(11px);transition:opacity 1.5s var(--motion-ease) var(--stagger,0ms),transform 1.7s var(--motion-ease) var(--stagger,0ms),filter 1.5s ease var(--stagger,0ms)}
.js-motion [data-reveal].is-visible,.js-motion [data-reveal]:focus-within{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0)}
.js-motion .service-card[data-reveal],.js-motion .situation-card[data-reveal]{transition:opacity 1.35s ease var(--stagger,0ms),transform 1.45s var(--motion-ease) var(--stagger,0ms),filter 1.35s ease var(--stagger,0ms),box-shadow .7s ease}
.js-motion .service-card.is-visible:hover,.js-motion .situation-card.is-visible:hover{transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(-12px) scale(1.015);transition-delay:0ms}
.service-card,.situation-card{position:relative;isolation:isolate;will-change:transform}
.service-card:after,.situation-card:after{content:'';inset:0;position:absolute;z-index:3;pointer-events:none;border-radius:inherit;background:radial-gradient(400px circle at var(--spot-x,50%) var(--spot-y,50%),#fff6,transparent 65%);opacity:0;transition:opacity .45s ease}
.service-card:hover:after,.situation-card:hover:after{opacity:1}
.faq-list details{overflow:hidden;will-change:height;transition:background .7s ease,border-color .7s ease,box-shadow .7s ease}
.faq-list details.is-expanded{background:#ffffffed;box-shadow:0 16px 44px #01497115}
.faq-list summary{transition:color .5s ease,padding .5s var(--motion-ease)}
.faq-list summary:hover{padding-left:15px;color:var(--orange)}
.faq-list .faq-answer{opacity:.30;transform:translateY(-12px);transition:opacity .6s ease,transform .65s var(--motion-ease)}
.faq-list details.is-expanded .faq-answer{opacity:1;transform:translateY(0)}
.faq-list details .plus{transition:transform .6s var(--motion-ease),background .5s ease,border-color .5s ease}
.faq-list details.is-expanded .plus{transform:rotate(135deg);background:#e7f4ee;border-color:var(--sage)}
.situation-card:hover,.service-card:hover{box-shadow:0 32px 85px #01497130}
@keyframes background-flow{0%{background-position:0% 15%}50%{background-position:95% 80%}100%{background-position:15% 100%}}
@keyframes grid-drift{to{background-position:70px 70px}}
@keyframes beam-drift{to{transform:translate3d(-25vw,18vh,0) rotate(-24deg)}}
@media(max-width:940px){.light-spot{display:none}.ambient-orb{opacity:.55;filter:blur(60px)}.floating-note.motion-note{will-change:auto}}
@media(prefers-reduced-motion:reduce){.ambient-canvas,.ambient-grid,.ambient-beam,.hero{animation:none!important}.js-motion [data-reveal],.js-motion [data-reveal].is-visible{opacity:1;transform:none!important;filter:none!important;transition:none!important}.floating-note.motion-note .note-top,.floating-note.motion-note strong,.floating-note.motion-note i{opacity:1;transform:none;filter:none;transition:none}.light-spot{display:none}}


/* FDS Luxe | unified cinematic motion and interactive composition */
:root{--orange:#e14900;--navy:#014971;--blue:#014971;--sage:#65a394;--motion-ease:cubic-bezier(.16,1,.3,1);--silk:cubic-bezier(.22,.68,0,1.02)}
html{scroll-behavior:smooth;scroll-padding-top:98px}
body{background:#ecf7f5}
/* All buttons have a consistent pill/soft-rounded identity */
.btn,.btn-light,.button,button[type=submit],.header-cta,.scenario-prompt .btn{border-radius:999px!important;transition:transform .85s var(--motion-ease),box-shadow .85s var(--motion-ease),background-color .85s ease,color .85s ease,border-color .85s ease!important}
.btn:hover,.btn-light:hover,button[type=submit]:hover{transform:translateY(-5px) scale(1.035);box-shadow:0 20px 55px #e1490050}
.menu-toggle{border-radius:14px}
.copy-email{border-radius:999px}
.key-accent{color:var(--orange);display:inline-block;text-shadow:0 9px 38px #e1490022}
h1 mark{color:var(--orange);background:none;font-weight:inherit}
.heritage-line{margin:36px 0 0;display:flex;gap:22px;align-items:center;color:var(--navy);font-size:13px;letter-spacing:.015em}
.heritage-year{font-size:clamp(44px,6vw,78px);font-weight:800;line-height:1;letter-spacing:-4px;color:var(--orange)}
.heritage-line strong{font-size:15px}
/* Intensified kinetic aurora with real visual density */
.ambient-canvas{background:linear-gradient(118deg,#d7eff1 2%,#e4effd 18%,#fff0dc 37%,#ccede0 62%,#cbe7f3 87%,#fff0e6 100%);background-size:350% 350%;animation:background-flow 24s ease-in-out infinite alternate!important}
.ambient-orb{opacity:.95!important;filter:blur(52px)!important;mix-blend-mode:multiply;animation-duration:19s!important}
.ambient-grid{opacity:.72!important;background-size:64px 64px!important}
.ambient-beam{opacity:.85;filter:blur(28px)}
.hero:before,.situations:before,.approach:before,.faq-section:before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 8% 28%,#65a39432,transparent 56%),radial-gradient(ellipse at 92% 75%,#e1490022,transparent 53%);background-size:145% 145%;animation:section-aurora 19s ease-in-out infinite alternate}
.hero,.situations,.approach,.faq-section{position:relative;isolation:isolate}
.hero:before,.situations:before,.approach:before,.faq-section:before{z-index:-1}
@keyframes section-aurora{0%{background-position:0% 10%;opacity:.7}100%{background-position:100% 95%;opacity:1}}
/* seamless section boundaries instead of hard starts */
.services,.situations,.approach,.faq-section,.contact-section{background-color:transparent!important}
.services,.situations,.approach,.faq-section{border-image:none}
.section-heading h2,.approach-side h2,.outcome h2,.insight-main h2{letter-spacing:-.045em}
/* large vivid right-side visualization in the clarity block */
.insight-band{overflow:hidden;background:linear-gradient(113deg,#074b70 0%,#014971 40%,#12646e 100%)!important;position:relative}
.insight-band:before{content:'';position:absolute;inset:-50%;background:conic-gradient(from 0deg,transparent 0deg,#65a3943d 65deg,transparent 135deg,#e149005a 230deg,transparent 300deg);animation:insight-spin 30s linear infinite;pointer-events:none}
@keyframes insight-spin{to{transform:rotate(360deg)}}
.insight-grid{position:relative;z-index:1;grid-template-columns:minmax(140px,.5fr) minmax(0,1.8fr) minmax(260px,.95fr)!important;align-items:center;gap:30px!important}
.insight-decoration{display:block!important;position:relative;aspect-ratio:1;width:min(100%,330px)!important;height:auto!important;margin:auto;filter:drop-shadow(0 20px 45px #001a317d);transform-style:preserve-3d}
.insight-orbit{position:absolute;border:2px solid #65a394bb;border-radius:50%;inset:4%;box-shadow:inset 0 0 24px #65a39433,0 0 28px #65a39455;animation:orbit-breathe 7s ease-in-out infinite alternate}
.orbit-b{inset:17%;border:2px dashed #fff8;animation-duration:11s;animation-direction:alternate-reverse}
.orbit-c{inset:29%;border:2px solid #e14900;box-shadow:0 0 25px #e14900aa;animation-duration:5s}
.insight-core{position:absolute;inset:35%;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;background:radial-gradient(circle at 25% 15%,#ff914d,#e14900 65%,#a73304);color:white;box-shadow:0 0 55px #e1490088,0 10px 30px #001b2e99;animation:core-float 6s ease-in-out infinite alternate}
.insight-core span{font-size:clamp(23px,3vw,40px);font-weight:900;line-height:1}
.insight-core small{font-size:5px;letter-spacing:.04em;margin-top:6px;text-align:center;white-space:nowrap}
.orbit-spark{position:absolute;width:13px;height:13px;border-radius:50%;background:#ff9e58;box-shadow:0 0 20px #ff7300;top:10%;left:67%;animation:core-float 4s ease-in-out infinite alternate}
.spark-b{top:76%;left:17%;background:#9de7bf;box-shadow:0 0 22px #65a394;animation-delay:-2s}
@keyframes orbit-breathe{to{transform:rotate(30deg) scale(1.1);opacity:.53}}
@keyframes core-float{to{transform:translateY(-11px) scale(1.055)}}
/* Elegant long-path rotation on the statement navigation arrow */
.statement-action{border:2px solid #ff9250!important;background:linear-gradient(135deg,#e14900,#fa7a2e)!important;box-shadow:0 0 0 0 #e1490040,0 12px 40px #e1490044;transform:rotate(0) scale(1);transition:transform 1.65s cubic-bezier(.18,.74,.16,1),background 1s,box-shadow 1.4s,border-color 1s!important}
.statement-action:hover,.statement-action:focus-visible{transform:rotate(135deg) scale(1.17)!important;box-shadow:0 0 0 14px #e1490025,0 18px 55px #e149007a;}
/* No snap on interaction, hover and keyboard leave equally smooth */
.situation-card,.service-card{transition:transform 1.2s var(--motion-ease),background-color 1.05s var(--motion-ease),color 1.05s ease,border-color 1.05s ease,box-shadow 1.2s ease!important;border-radius:24px!important;overflow:hidden}
.situation-card:hover,.situation-card:focus-visible{background:#014971!important;border-color:#65a394!important;box-shadow:0 30px 75px #0149714a!important}
.situation-card .situation-icon,.situation-card .situation-more,.situation-card .situation-more b,.situation-card .situation-desc{transition:transform 1.1s var(--motion-ease),color 1.1s ease,opacity 1.1s ease,background 1.1s ease,border-color 1.1s ease!important}
.situation-card:hover .situation-icon{transform:rotate(45deg) scale(1.18)}
.situation-card:hover .situation-more b{transform:translate(5px,-5px) rotate(45deg)}
/* timeline movements on both enter and leave */
.process-list li{position:relative;border-bottom-color:#65a39488;transition:padding 1.1s var(--motion-ease),background-color 1.1s ease,box-shadow 1.1s ease,border-radius 1.1s ease!important;border-radius:18px}
.process-list li:hover{padding-left:28px;background:#ffffffc7;box-shadow:0 18px 50px #01497118}
.process-list li .step-arrow{display:inline-block;transform:rotate(0deg);transition:transform 1.5s var(--motion-ease),color 1.1s ease,text-shadow 1.1s ease!important}
.process-list li:hover .step-arrow{transform:rotate(135deg) scale(1.27);color:#e14900;text-shadow:0 0 20px #e1490066}
.process-list li h3,.process-list li p{transition:color 1s ease,transform 1.2s var(--motion-ease)}
.process-list li:hover h3{color:#e14900;transform:translateX(5px)}
/* interactive seal / impressive intentional response */
.outcome-seal{position:relative;cursor:pointer;outline-offset:8px;width:160px;height:160px;border:2px solid #65a394;color:white;transform:rotate(-13deg);box-shadow:inset 0 0 34px #65a39430,0 0 0 9px #65a39410;transition:transform 2.2s cubic-bezier(.13,.72,.18,1),box-shadow 1.5s ease,border-color 1.5s ease!important;user-select:none}
.outcome-seal:before,.outcome-seal:after{content:'';position:absolute;inset:-13px;border-radius:50%;border:2px dashed #65a394aa;animation:seal-ring 18s linear infinite;pointer-events:none}
.outcome-seal:after{inset:-25px;border-color:#e1490066;border-style:dotted;animation-direction:reverse;animation-duration:30s}
.outcome-seal:hover,.outcome-seal:focus-visible{transform:rotate(15deg) scale(1.15);border-color:#ffa466;box-shadow:inset 0 0 32px #e1490073,0 0 70px #e1490060}
.outcome-seal.is-spinning{transform:rotate(1067deg) scale(1.14)}
@keyframes seal-ring{to{transform:rotate(360deg)}}
/* Warm, distinctive FAQ boxes with continuous open/close transitions */
.faq-list{display:grid;gap:15px}
.faq-list details{overflow:hidden;border:1.5px solid #e14900a8!important;border-radius:20px!important;background:#fffcf9eb!important;box-shadow:0 7px 24px #e149000b;transition:border-color 1s ease,background-color 1s ease,box-shadow 1s ease!important}
.faq-list details:hover{border-color:#e14900!important;box-shadow:0 16px 48px #e1490026}
.faq-list details.is-expanded{background:#fff5ea!important;box-shadow:0 22px 56px #e1490023}
.faq-list summary{padding:23px 27px!important;min-height:85px;transition:color .9s ease}
.faq-list .faq-answer{padding:0 27px 28px!important;line-height:1.9}
.faq-list details .plus{border:2px solid #e14900;transition:transform 1.2s var(--motion-ease),background-color 1s ease,box-shadow 1s ease!important}
.faq-list details.is-expanded .plus{background:#e14900;transform:rotate(180deg);box-shadow:0 0 0 8px #e1490019}
/* opacity and motion: independent enter delays and longer settle */
.js-motion [data-reveal]{transition:opacity 1.9s cubic-bezier(.25,.5,.2,1) var(--stagger,0ms),transform 2.15s var(--motion-ease) var(--stagger,0ms),filter 1.85s ease var(--stagger,0ms)!important}
.js-motion .service-card[data-reveal],.js-motion .situation-card[data-reveal]{transition:opacity 1.8s ease var(--stagger,0ms),transform 2.05s var(--motion-ease) var(--stagger,0ms),filter 1.8s ease var(--stagger,0ms),background-color 1.1s ease,border-color 1.1s ease,box-shadow 1.2s ease,color 1.1s ease!important}
.js-motion .service-card.is-visible:hover,.js-motion .situation-card.is-visible:hover{transition-delay:0ms!important;transition-duration:1.3s!important}
.footer-up{display:none!important}
.footer-top p{line-height:1.85}
@media(max-width:1100px){.insight-grid{grid-template-columns:1fr 2fr!important}.insight-decoration{grid-column:2;width:min(270px,100%)!important}}
@media(max-width:700px){.insight-grid{grid-template-columns:1fr!important}.insight-decoration{grid-column:1;width:230px!important;min-height:230px}.insight-band{padding-bottom:35px}.outcome-seal{width:124px;height:124px}.faq-list summary{padding:18px!important}}
@media(prefers-reduced-motion:reduce){.ambient-canvas,.insight-band:before,.hero:before,.situations:before,.approach:before,.faq-section:before,.outcome-seal:before,.outcome-seal:after,.insight-orbit,.insight-core,.orbit-spark{animation:none!important}.js-motion [data-reveal],.js-motion [data-reveal].is-visible{opacity:1;transform:none!important;filter:none!important;transition:none!important}.outcome-seal,.statement-action{transition:none!important}}
/* Prevent inherited legacy ornament rules from styling the new central label. */
.insight-decoration .insight-core span{position:static;inset:auto;width:auto;height:auto;border:0;border-radius:0;animation:none!important;box-shadow:none;background:none}
.insight-decoration .insight-orbit,.insight-decoration .orbit-spark{animation-name:orbit-breathe}
.insight-decoration .orbit-spark{animation-name:core-float}
@media(prefers-reduced-motion:reduce){.insight-decoration .insight-orbit,.insight-decoration .orbit-spark{animation:none!important}}



/* FDS Refined — targeted refinement, 22 Oct 2026 */
:root{--fd-ease:cubic-bezier(.19,1,.22,1);--fd-time:1.35s}
/* Pills with strong CTA hierarchy */
.header .nav-cta{background:#E14900!important;color:#fff!important;border-radius:999px!important;font-size:17px!important;font-weight:800!important;padding:16px 29px!important;box-shadow:0 12px 32px #e1490040;transition:transform 1.05s var(--fd-ease),background-color 1.05s ease,box-shadow 1.15s var(--fd-ease)!important}
.header .nav-cta:hover{background:#c83e00!important;transform:translateY(-4px) scale(1.035);box-shadow:0 19px 42px #e1490063}
.header .nav-cta span{color:white!important}
.hero-actions .btn-primary{font-size:clamp(17px,1.25vw,20px)!important;letter-spacing:-.015em;padding:20px 33px!important;min-height:70px}
.outcome .btn-light{font-size:clamp(17px,1.3vw,20px)!important;font-weight:900!important;letter-spacing:-.02em;padding:20px 34px!important;box-shadow:0 16px 36px #00172f39}
/* Keep the year directly below the ABOUT heading */
.intro-layout{grid-template-columns:minmax(225px,.85fr) minmax(0,2.25fr)!important;align-items:start}
.intro-identity{grid-row:1 / span 2;grid-column:1;display:flex;flex-direction:column;gap:28px;align-self:start}
.intro-identity .heritage-line{margin:0;display:grid;gap:10px;align-items:start;max-width:270px}
.intro-identity .heritage-year{font-size:clamp(65px,6.5vw,100px);letter-spacing:-.065em;line-height:1}
.intro-identity .heritage-line>span:last-child{font-size:13px;line-height:1.8}
.intro-statement{grid-column:2;grid-row:1}.intro-aside{grid-column:2;grid-row:2}
/* Strong distinction between adjacent statement panels */
.insight-band{background:linear-gradient(119deg,#01365b 0%,#014971 37%,#056b73 78%,#278e83 100%)!important;border-bottom:9px solid #65a394!important}
.statement{background:linear-gradient(117deg,#fff6ea 0%,#ffead9 46%,#e2f4e8 100%)!important;color:#014971!important;position:relative;isolation:isolate;border-top:1px solid #e1490050}
.statement:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 86% 24%,#e149003b,transparent 39%),repeating-linear-gradient(125deg,transparent 0 46px,#e1490009 47px 48px);background-size:150% 150%;animation:statement-drift 24s ease-in-out infinite alternate}
.statement-symbol{color:#e14900!important;filter:drop-shadow(0 9px 18px #e1490050)}
.statement p span{color:#558a83!important}.statement p em{color:#e14900!important}
@keyframes statement-drift{to{background-position:100% 70%;}}
/* Orbital text outside core, big enough to read */
.insight-decoration .insight-core{inset:34%!important}
.insight-decoration .insight-core span{font-size:clamp(24px,2.6vw,36px)!important}
.orbit-caption{position:absolute;z-index:5;display:block;padding:7px 11px;border-radius:999px;border:1px solid #ffffff80;background:#014971d9;color:#fff;font-size:11px;letter-spacing:.12em;font-weight:800;line-height:1;white-space:nowrap;box-shadow:0 5px 20px #001b2d9c;transition:transform 1.5s var(--fd-ease),box-shadow 1.5s ease,background-color 1.5s ease}
.caption-analysis{left:0;top:24%}.caption-calculation{right:-5%;top:50%}.caption-result{bottom:6%;left:17%}
.insight-decoration:hover .orbit-caption{transform:translateY(-5px);background:#e14900;box-shadow:0 8px 24px #e1490066}
/* Slow and elegant process hover: avoid quick switch on exit */
.process-list li,.process-list li[data-reveal].is-visible{transition:opacity 2s ease,filter 2s ease,transform 2s var(--fd-ease),background-color 2.1s ease,box-shadow 2.1s var(--fd-ease),padding 2.1s var(--fd-ease),border-color 2.1s ease!important}
.process-list li .step-arrow{transition:transform 2.35s var(--fd-ease),color 2.1s ease,filter 2.2s ease!important}
.process-list li h3,.process-list li p,.process-list li .step-count{transition:color 2s ease,transform 2.2s var(--fd-ease)!important}
.process-list li:hover{padding-left:22px!important}
/* Three bars become a real playful diagram when hovered/focused */
.approach-decoration{pointer-events:auto!important;overflow:visible}
.approach-decoration span{cursor:crosshair;outline-offset:5px;transform-origin:bottom;transition:transform 1.9s var(--fd-ease),filter 1.9s ease,background-color 1.9s ease,border-radius 1.9s var(--fd-ease),box-shadow 1.9s ease!important}
.approach-decoration span:hover,.approach-decoration span:focus-visible{transform:translateY(-24px) scaleY(1.18) rotate(-3deg)!important;filter:saturate(1.6) brightness(1.12);background:#e14900!important;border-radius:22px 22px 5px 5px;box-shadow:0 14px 45px #e1490060}
.approach-decoration span:nth-child(2):hover,.approach-decoration span:nth-child(2):focus-visible{background:#65a394!important;box-shadow:0 14px 45px #65a39470}
/* Lift the form to line up with heading and prevent an empty vertical strip */
.contact-heading{margin-bottom:20px!important}
.contact-layout{align-items:start;margin-top:-42px!important}
.contact-info{padding-top:72px}
.contact-layout .brief-form{position:relative;z-index:2}
.contact-section{padding-bottom:90px}
/* Legal requisites on individual lines */
.footer-requisite{display:block;font-weight:700;color:#014971;line-height:1.85}
.footer-requisite:first-of-type{margin-top:8px}
@media(max-width:940px){.contact-layout{margin-top:0!important}.contact-info{padding-top:0}.intro-layout{grid-template-columns:1fr!important;gap:28px}.intro-identity,.intro-statement,.intro-aside{grid-column:1;grid-row:auto}.intro-identity{gap:15px}.intro-identity .heritage-line{display:flex;gap:18px;max-width:none}.intro-identity .heritage-year{font-size:62px}}
@media(max-width:600px){.hero-actions .btn-primary{font-size:17px!important;padding:16px 24px!important;min-height:60px}.outcome .btn-light{font-size:17px!important}.insight-decoration .orbit-caption{font-size:9px;padding:6px 8px}.caption-calculation{right:-4%}.contact-layout{margin-top:0!important}.contact-info{padding-top:0}.intro-identity .heritage-year{font-size:58px}.intro-identity .heritage-line{gap:12px}.footer-requisite{font-size:11px}}
@media(prefers-reduced-motion:reduce){.statement:before{animation:none}.approach-decoration span{transition:none!important}.process-list li,.process-list li[data-reveal].is-visible,.process-list li .step-arrow,.process-list li h3,.process-list li p{transition:none!important}}


/* FDS polished 2026-10-22: readability, actual layout and interaction */
:root { --ui-motion: cubic-bezier(.19,.74,.18,1); }
/* Contrast: clean cream-white canvas against saturated blue rather than blue-on-blue text. */
.insight-band { background: radial-gradient(ellipse at 75% 35%,#d0ecdf 0%,transparent 47%),linear-gradient(115deg,#fffdf9 0%,#f3faf5 55%,#dfece9 100%)!important; border-block: 2px solid #65a394!important; color:#014971!important; isolation:isolate; overflow:hidden; }
.insight-band:before { opacity:.3!important; mix-blend-mode:multiply; }
.insight-grid { grid-template-columns:minmax(118px,.52fr) minmax(0,1.65fr) minmax(260px,1.05fr)!important; gap:clamp(22px,3vw,54px)!important; min-height:430px; }
.insight-kicker { color:#014971!important; font-weight:800!important; font-size:clamp(13px,1vw,16px)!important; letter-spacing:.07em; align-self:start; padding-top:30px; }
.insight-main { min-width:0; }
.insight-main h2 { color:#014971!important; font-size:clamp(36px,3.8vw,63px)!important; line-height:1.13!important; text-shadow:none!important; }
.insight-main h2 .key-accent { color:#e14900!important; }
.insight-main h2 em { color:#027769!important; }
.insight-main p { color:#355c66!important; font-size:clamp(17px,1.16vw,21px)!important; line-height:1.85!important; max-width:650px; }
.insight-decoration { grid-column:3!important; grid-row:1!important; width:min(100%,315px)!important; height:auto!important; min-width:0; margin:0 auto!important; cursor:pointer; border-radius:50%; outline-offset:12px; filter:drop-shadow(0 15px 28px #01497124)!important; transition:transform 1.8s var(--ui-motion),filter 1.8s ease!important; }
.insight-decoration:hover,.insight-decoration:focus-visible { transform:scale(1.075) rotate(9deg)!important; filter:drop-shadow(0 25px 40px #e1490045)!important; }
.insight-decoration:focus-visible,.statement-symbol:focus-visible { outline:3px solid #e14900; }
.insight-decoration .insight-orbit { border-color:#65a394!important; }
.insight-decoration .insight-core { background:linear-gradient(140deg,#014971,#0c7b81)!important; box-shadow:0 0 0 9px #65a39433,0 20px 44px #01497144!important; }
.insight-decoration .insight-core span { color:white!important; font-size:clamp(29px,3vw,43px)!important; }
.insight-decoration.is-pulsing .insight-core { animation:fds-core-pop 2.7s var(--ui-motion) both!important; }
.insight-orbit-note { grid-column:3; grid-row:1; justify-self:center; align-self:end; transform:translateY(12px); color:#014971!important; font-weight:800; font-size:clamp(11px,.8vw,14px); white-space:nowrap; letter-spacing:.05em; }
@keyframes fds-core-pop {0%,100%{transform:scale(1)}35%{transform:scale(1.2)}65%{transform:scale(.96)}}
/* A real interactive star: long bidirectional easing plus click burst. */
.statement-symbol { display:inline-flex; align-items:center; justify-content:center; cursor:pointer; border-radius:50%; user-select:none; transform-origin:center; transition:transform 2s var(--ui-motion),filter 1.7s ease,color 1.5s ease!important; }
.statement-symbol:hover,.statement-symbol:focus-visible { transform:rotate(115deg) scale(1.26)!important; filter:drop-shadow(0 0 25px #e14900aa)!important; }
.statement-symbol.is-bursting { animation:star-burst 2.6s var(--ui-motion) both!important; }
@keyframes star-burst {0%{transform:rotate(0) scale(1)}40%{transform:rotate(220deg) scale(1.5)}75%{transform:rotate(330deg) scale(1.1)}100%{transform:rotate(360deg) scale(1)}}
/* Form higher on desktop, without pushing the rest of the contact copy down. */
@media(min-width:941px){ .contact-heading { margin-bottom:8px!important; }.contact-layout { margin-top:-96px!important; }.contact-info{padding-top:115px!important;} }
/* Standardized readable buttons / icon baselines. */
.btn,.btn-primary,.btn-light,.nav-cta,.card-link,.form-submit,.brief-form button[type=submit] { font-size:clamp(16px,1.18vw,19px)!important; font-weight:800!important; line-height:1.35!important; text-align:center; align-items:center; justify-content:center; border-radius:999px!important; }
.btn span,.card-link span,.nav-cta span { display:inline-flex; align-items:center; justify-content:center; line-height:1; }
.card-link { min-height:60px; }
/* Small informational copy is still readable. */
.section-kicker,.eyebrow,.insight-kicker,.contact-info-label { font-size:clamp(12px,.85vw,15px)!important; }
.service-card p,.situation-desc,.process-list p,.faq-list details p,.form-note,.contact-info-bottom p { font-size:clamp(15px,1.02vw,18px)!important; line-height:1.75!important; }
/* Smoother arrow and image responses, consistent both ways. */
.card-link span,.statement-action,.process-list .step-arrow,.email span { transition:transform 1.9s var(--ui-motion),color 1.7s ease,filter 1.8s ease!important; }
.service-card .card-image img { transition:transform 2.3s var(--ui-motion),filter 2s ease!important; }
/* Extra gentle focus state on desktop and all pointer devices. */
.situation-card,.process-list li { transition-duration:1.8s!important; }
@media(max-width:1100px){.insight-grid{grid-template-columns:minmax(0,1fr) minmax(220px,.7fr)!important}.insight-kicker{grid-column:1;grid-row:1;padding-top:0}.insight-main{grid-column:1;grid-row:2}.insight-decoration{grid-column:2!important;grid-row:1 / span 2!important}.insight-orbit-note{grid-column:2;grid-row:2;align-self:end}}
@media(max-width:700px){.insight-grid{display:flex!important;flex-direction:column;align-items:stretch;gap:24px!important}.insight-decoration{width:min(74vw,285px)!important;margin:12px auto!important;align-self:center}.insight-orbit-note{align-self:center;transform:none;white-space:normal;text-align:center}.insight-main h2{font-size:clamp(35px,8vw,49px)!important}.insight-main p{font-size:17px!important}.contact-layout{margin-top:0!important}.contact-info{padding-top:0!important}.statement-symbol{font-size:clamp(65px,15vw,100px)!important}}
@media(prefers-reduced-motion:reduce){.insight-decoration,.statement-symbol{transition:none!important}.insight-decoration.is-pulsing .insight-core,.statement-symbol.is-bursting{animation:none!important}}


/* FDS Responsive Atmosphere — unified motion + responsive finish */
:root{--motion-silk:cubic-bezier(.19,.82,.21,1);--motion-slow:1.45s;--motion-extra:2.4s}
html,body{max-width:100%;overflow-x:clip}
main section{position:relative;isolation:isolate}
/* Different ambient signature in every content section: light and colorful, not identical orbs */
.services{background:linear-gradient(125deg,#fff 0%,#f1f9f7 52%,#fff6f0 100%);overflow:hidden}
.services:before{content:"";position:absolute;inset:-35%;z-index:-1;pointer-events:none;background:conic-gradient(from 90deg at 45% 45%,transparent 0deg,#65a39430 70deg,transparent 130deg,#e1490029 210deg,transparent 275deg,#01497121 345deg,transparent);filter:blur(50px);animation:atmosphere-turn 36s linear infinite}
.intro{background:radial-gradient(ellipse at 80% 30%,#e1f3e9 0%,transparent 50%),linear-gradient(105deg,#fbfdfc,#f6f9f6);overflow:hidden}
.intro:before{content:"";position:absolute;z-index:-1;inset:0;opacity:.55;pointer-events:none;background:repeating-linear-gradient(120deg,transparent 0 68px,#65a3940b 69px 70px,transparent 71px 145px);animation:atmosphere-slide 28s linear infinite}
.situations{overflow:hidden;background:linear-gradient(125deg,#fff 0%,#eaf5f1 53%,#fff3ec 100%)}
.situations:before{content:"";position:absolute;inset:-25%;z-index:-1;pointer-events:none;background:radial-gradient(circle at 17% 35%,#65a39447,transparent 27%),radial-gradient(circle at 80% 65%,#e1490036,transparent 25%),radial-gradient(circle at 53% 18%,#01497122,transparent 30%);animation:atmosphere-drift 21s ease-in-out infinite alternate}
.approach{overflow:hidden;background:linear-gradient(165deg,#eef8f7,#fff 46%,#f7f3ea)}
.approach:before{content:"";position:absolute;inset:-20% -35%;pointer-events:none;z-index:-1;background:repeating-radial-gradient(circle at 88% 45%,transparent 0 70px,#65a39420 72px 74px,transparent 76px 150px);animation:atmosphere-breathe 19s ease-in-out infinite alternate}
.faq-section{overflow:hidden;background:linear-gradient(145deg,#fcfdfd,#e9f4f2 65%,#fcf2e9)}
.faq-section:before{content:"";position:absolute;inset:-15%;z-index:-1;pointer-events:none;background:linear-gradient(105deg,transparent 12%,#ffffffa3 35%,transparent 60%);animation:atmosphere-sheen 17s ease-in-out infinite alternate}
.contact-section{overflow:hidden;background:radial-gradient(ellipse at 90% 20%,#d8ede6,transparent 57%),linear-gradient(145deg,#f9fbfc,#eff8f6 56%,#fff5ef)}
.contact-section:before{content:"";position:absolute;inset:-30%;z-index:-1;pointer-events:none;background:conic-gradient(from 150deg at 55% 45%,transparent,#65a3941c,transparent,#e149001d,transparent,#01497113,transparent);animation:atmosphere-turn 42s linear infinite reverse}
.insight-band{background:linear-gradient(110deg,#fffdf7,#e7f5ed 52%,#d5eae9)!important}
.insight-band:after{content:"";position:absolute;inset:-50%;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 50% 50%,#e1490029,transparent 48%);animation:atmosphere-drift 16s ease-in-out infinite alternate}
/* Locally tracked, smooth pointer-lit surfaces; hover always restores gradually */
.service-card,.situation-card,.process-list li,.faq-list details,.brief-form,.intro-aside,.contact-info,.floating-note{position:relative;--local-x:50%;--local-y:50%;transition:background-color 1.5s ease,border-color 1.5s ease,box-shadow 1.65s var(--motion-silk),transform 1.65s var(--motion-silk),filter 1.65s ease!important}
.service-card:after,.situation-card:after,.process-list li:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;background:radial-gradient(ellipse 240px 240px at var(--local-x) var(--local-y),#65a39435,transparent 76%);transition:opacity 1.7s ease;z-index:0}
.service-card:hover:after,.situation-card:hover:after,.process-list li:hover:after{opacity:1}
.service-card>* ,.situation-card>*,.process-list li>*{position:relative;z-index:1}
.service-card:hover,.situation-card:hover{box-shadow:0 26px 70px #01497128!important}
.section-heading h2,.approach h2,.faq-section h2,.contact-heading h2{transition:letter-spacing 1.8s var(--motion-silk),filter 1.8s ease}
.section-heading:hover h2,.approach-side:hover h2,.faq-layout:hover h2{letter-spacing:-.035em;filter:drop-shadow(0 7px 19px #65a39421)}
.btn,.nav-cta,.card-link,.text-link,.statement-action,.copy-email{transition:background-color 1.5s ease,color 1.5s ease,box-shadow 1.5s var(--motion-silk),transform 1.6s var(--motion-silk),border-color 1.5s ease!important}
.btn,.nav-cta{border-radius:999px!important;text-align:center;justify-content:center;min-height:54px}
.btn:hover,.nav-cta:hover{box-shadow:0 16px 38px #e1490044;transform:translateY(-4px)}
.btn:active,.nav-cta:active{transform:translateY(-1px) scale(.985)}
.card-link:hover,.text-link:hover{color:#e14900}
.faq-list details{border:1.5px solid #e1490070!important;border-radius:20px!important;overflow:hidden}
.faq-list details:hover{border-color:#e14900!important;box-shadow:0 14px 40px #e149001b!important}
.faq-list summary{transition:background-color 1.45s ease,color 1.45s ease}
.faq-list details:hover summary{background-color:#fff6f0}
.brief-form input,.brief-form textarea,.brief-form select{border-radius:14px!important;transition:border-color .7s ease,box-shadow .9s ease,background-color .9s ease!important}
.brief-form input:hover,.brief-form textarea:hover,.brief-form select:hover{border-color:#65a394;box-shadow:0 8px 25px #65a3941b}
/* Icons and media get visual feedback without misleading click affordances */
.card-image{overflow:hidden}
.card-image img{transition:transform 2.6s var(--motion-silk),filter 2.4s ease!important}
.card-image:hover img{transform:scale(1.095)!important;filter:saturate(1.24) contrast(1.08)}
.section-kicker .dot{transition:transform 1.3s var(--motion-silk),box-shadow 1.3s ease}
.section-kicker:hover .dot{transform:scale(1.6);box-shadow:0 0 0 9px #e1490020}
@keyframes atmosphere-turn{to{transform:rotate(360deg)}}
@keyframes atmosphere-slide{to{background-position:420px 0}}
@keyframes atmosphere-drift{from{transform:translate3d(-3%,-2%,0) rotate(-4deg) scale(1)}to{transform:translate3d(4%,4%,0) rotate(6deg) scale(1.12)}}
@keyframes atmosphere-breathe{from{transform:scale(.92) translate(-2%,1%);opacity:.45}to{transform:scale(1.15) translate(2%,-1%);opacity:.95}}
@keyframes atmosphere-sheen{from{transform:translateX(-23%)}to{transform:translateX(25%)}}
/* On touch devices, ambient backgrounds move but pointer-specific 3D effects do not. */
@media(pointer:coarse){.service-card:hover,.situation-card:hover{transform:none!important}.service-card:after,.situation-card:after,.process-list li:after{display:none}}
/* Tablet — every wide composition stacks predictably, no overlapping ornamentation */
@media(max-width:940px){
 .container{width:calc(100% - 48px)!important;max-width:720px}
 .section{padding:76px 0!important}
 .hero-layout{display:flex!important;flex-direction:column!important;min-height:0!important}
 .hero-copy{width:100%!important;max-width:700px;padding:64px 0 38px!important}
 .hero-stage{width:100%;min-height:0!important;height:clamp(360px,58vw,560px)!important}
 .hero-photo{inset:0 0 25px 0!important}
 .hero-shape{max-width:55vw}
 .intro-layout,.service-grid,.situation-grid,.approach-layout,.faq-layout,.contact-layout{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:30px!important}
 .service-card,.situation-card,.approach-side,.faq-list,.contact-info,.brief-form{min-width:0}
 .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .situation-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .outcome-layout{display:flex!important;flex-wrap:wrap;gap:30px!important;justify-content:flex-start;align-items:center}
 .outcome-layout>div:nth-child(2){flex:1 1 300px}
 .outcome-layout>.btn{flex:0 1 auto}
 .insight-grid{display:flex!important;flex-direction:column;gap:24px!important;align-items:stretch}
 .insight-main{width:100%}
 .insight-decoration{display:block!important;width:min(60vw,300px)!important;height:300px!important;grid-column:auto!important;grid-row:auto!important;align-self:center}
 .insight-orbit-note{grid-column:auto;grid-row:auto;align-self:center;transform:none;white-space:normal;text-align:center}
 .contact-layout{margin-top:0!important}.contact-info{padding-top:0!important}
 .brief-form{max-width:100%!important;transform:none!important}
 .footer-top,.footer-bottom{flex-wrap:wrap;gap:20px}
 .approach-decoration{margin-inline:auto;max-width:100%}
}
@media(max-width:700px){
 html{scroll-padding-top:78px}
 .container{width:calc(100% - 36px)!important;max-width:540px}
 .section{padding:59px 0!important}
 .hero h1{font-size:clamp(40px,9.5vw,64px)!important;line-height:1.08!important;letter-spacing:-.045em!important;overflow-wrap:break-word}
 .hero-copy{padding:42px 0 28px!important}
 .hero-stage{height:clamp(310px,90vw,460px)!important}
 .hero-photo{inset:0 0 28px!important;border-radius:26px!important;overflow:hidden}
 .floating-note{left:12px!important;bottom:0!important;width:min(82%,300px)!important;border-radius:20px!important;padding:17px 20px!important}
 .hero-actions{display:flex;flex-wrap:wrap;align-items:stretch;gap:14px!important}
 .hero-actions .btn{width:100%;font-size:17px!important}
 .hero-actions .text-link{text-align:center;min-height:44px;align-content:center}
 .intro-layout,.service-grid,.situation-grid,.approach-layout,.faq-layout,.contact-layout{grid-template-columns:minmax(0,1fr)!important;gap:22px!important}
 .service-card,.situation-card{width:100%;margin:0;min-width:0}
 .section-heading{display:flex!important;flex-direction:column;align-items:flex-start!important;gap:12px!important}
 .section-heading h2,.approach h2,.faq-section h2,.contact-heading h2{font-size:clamp(34px,8vw,49px)!important;line-height:1.15;overflow-wrap:break-word}
 .section-heading p,.intro-statement,.intro-aside,.approach-side p,.faq-aside{max-width:100%!important}
 .service-card .card-image{height:clamp(215px,62vw,340px)!important}
 .card-content{padding:24px!important}
 .insight-band{padding:65px 0!important}
 .insight-grid{min-height:0!important;gap:22px!important}
 .insight-kicker{padding-top:0!important}
 .insight-main h2{font-size:clamp(37px,9vw,54px)!important;overflow-wrap:break-word}
 .insight-main p{line-height:1.7!important}
 .insight-decoration{width:min(72vw,285px)!important;height:min(72vw,285px)!important;min-height:0!important;margin:8px auto!important}
 .insight-orbit-note{max-width:95%;text-align:center;font-size:12px!important;letter-spacing:0}
 .statement{padding:55px 0!important}
 .statement-layout{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:22px!important}
 .statement-layout p{width:100%;font-size:clamp(28px,7.2vw,46px)!important;line-height:1.26!important}
 .statement-symbol{align-self:flex-start;font-size:73px!important;line-height:1}
 .statement-action{align-self:flex-end}
 .approach-layout{gap:27px!important}
 .process-list{margin:0!important;padding:0!important}
 .process-list li{min-width:0;padding:20px 5px!important}
 .process-list li:hover{padding-left:9px!important}
 .approach-decoration{max-width:310px!important;min-height:150px}
 .outcome{padding:55px 0!important}
 .outcome-layout{display:flex!important;flex-direction:column;align-items:flex-start;gap:22px!important}
 .outcome-seal{width:130px!important;height:130px!important;align-self:center}
 .outcome .btn{width:100%;min-height:58px}
 .faq-list details{width:100%}
 .faq-list summary{gap:12px;padding:18px 15px!important;line-height:1.45;font-size:16px!important}
 .faq-list .faq-answer{max-width:100%}
 .contact-layout{margin-top:0!important;gap:26px!important}
 .contact-info{padding:0!important}
 .brief-form{width:100%!important;padding:25px 18px!important;border-radius:22px!important;box-sizing:border-box}
 .brief-form input,.brief-form select,.brief-form textarea{width:100%;min-width:0;max-width:100%}
 .brief-form .btn{width:100%;min-height:60px}
 .footer-top,.footer-bottom{display:flex!important;flex-direction:column;align-items:flex-start;gap:15px!important}
 .section-rail{display:none!important}
 .ambient-orb{opacity:.35!important}
}
@media(max-width:390px){
 .container{width:calc(100% - 28px)!important}
 .hero h1{font-size:clamp(36px,10vw,42px)!important}
 .hero-stage{height:310px!important}
 .hero-copy{padding-top:30px!important}
 .brand img{max-width:115px}
 .contact-heading h2{font-size:34px!important}
 .brief-form{padding:20px 14px!important}
 .insight-decoration{width:245px!important;height:245px!important}
 .intro-identity .heritage-line{display:flex;flex-wrap:wrap;gap:10px}
}
@media(prefers-reduced-motion:reduce){
 .services:before,.intro:before,.situations:before,.approach:before,.faq-section:before,.contact-section:before,.insight-band:after{animation:none!important}
 .service-card,.situation-card,.process-list li,.btn,.nav-cta,.card-image img{transition:none!important}
}
@media print{.services:before,.intro:before,.situations:before,.approach:before,.faq-section:before,.contact-section:before{display:none}}


/* Editorial Edition: visual integrity + fewer conversion prompts */
.hero-stage{isolation:isolate}
.floating-note,.floating-note.motion-note{
 position:absolute!important;top:auto!important;right:auto!important;
 bottom:clamp(16px,3vw,48px)!important;left:clamp(12px,1.5vw,28px)!important;
 transform:none!important;translate:none!important;z-index:8!important;
 margin:0!important;max-width:min(90%,350px)!important;
 transition:box-shadow 1.1s ease,background-color 1.1s ease!important;
}
.hero-stage .hero-photo{z-index:0}.hero-stage .hero-shape{z-index:1;pointer-events:none}
.service-editorial{margin-top:27px;padding-top:22px;border-top:1px solid #bcd2cc;max-width:530px}
.editorial-eyebrow{display:block;font-size:12px;letter-spacing:.13em;font-weight:800;color:#e14900;margin-bottom:9px;line-height:1.5}
.service-editorial p,.report-principle p,.editorial-sidefact p{font-size:16px;line-height:1.7;color:#365662;margin:0}
.service-card .card-image{cursor:default}.service-card .card-image .image-corner{pointer-events:none}
.editorial-sidefact{min-width:230px;max-width:330px;border-left:3px solid #e14900;padding:8px 0 8px 22px}
.editorial-sidefact strong,.process-principle strong{display:block;font-size:19px;line-height:1.4;color:#014971}
.editorial-sidefact p{margin-top:10px;font-size:14px}
.process-principle{padding:18px 22px;margin:22px 0 18px;border-left:3px solid #e14900;background:#ecf5efad;border-radius:0 15px 15px 0}
.standards-note{grid-column:1/-1;padding:26px 32px;border:1px solid #a9cbc3;border-radius:22px;background:linear-gradient(125deg,#e9f5f0,#ffffff);display:grid;grid-template-columns:1fr 1.2fr;gap:30px;align-items:center}
.standards-note h3{font-size:clamp(21px,2vw,28px);line-height:1.3;margin:0}
.standards-note p{font-size:16px;line-height:1.8;margin:0}
.standards-note a,.report-principle a{font-weight:800;color:#014971;border-bottom:1px solid #65a394;transition:color .65s,border-color .65s}
.standards-note a:hover,.report-principle a:hover{color:#e14900;border-color:#e14900}
.report-principle{margin-top:24px;padding:17px 0 0;border-top:1px solid #83b4aa;max-width:550px}
.report-principle p{color:#e9f3f2;margin-bottom:13px}
.report-principle .editorial-eyebrow{color:#b5ded0}
.report-principle a{color:#fff;border-color:#65a394;font-size:14px}
.situation-card .situation-more{font-size:15px;font-weight:800}
.situation-extended{display:block;max-height:0;opacity:0;overflow:hidden;transform:translateY(-8px);font-size:14px;line-height:1.6;color:#335d68;transition:max-height 1s cubic-bezier(.22,.72,.16,1),opacity .85s ease,transform 1s ease,margin .9s ease}
.situation-card.is-selected .situation-extended,.situation-card:focus-visible .situation-extended{max-height:160px;opacity:1;transform:none;margin-top:18px}
.situation-card.is-selected{border-color:#e14900!important;box-shadow:0 14px 45px #e1490026!important}
.situation-card.is-selected .situation-more{color:#e14900}
@media(hover:hover){.situation-card:hover .situation-extended{max-height:160px;opacity:1;transform:none;margin-top:18px}}
@media(max-width:940px){.floating-note,.floating-note.motion-note{bottom:10px!important;left:12px!important;max-width:min(83%,310px)!important}}
@media(max-width:700px){.hero-stage{min-height:375px!important;height:clamp(370px,94vw,480px)!important;padding:0!important;overflow:visible!important}.floating-note,.floating-note.motion-note{bottom:8px!important;left:10px!important;width:min(84%,305px)!important;max-width:305px!important;padding:17px 19px!important;transform:none!important}.floating-note strong{font-size:clamp(20px,5.4vw,25px)!important;line-height:1.22!important}.floating-note .note-top{font-size:11px!important}.standards-note{grid-template-columns:1fr;gap:12px;padding:22px}.scenario-prompt{display:grid!important;grid-template-columns:1fr;gap:18px}.editorial-sidefact{max-width:100%}.service-editorial p{font-size:15px}}
@media(max-width:390px){.floating-note,.floating-note.motion-note{padding:13px 15px!important;max-width:86%!important}.floating-note strong{font-size:20px!important}}
@media(prefers-reduced-motion:reduce){.situation-extended{transition:none!important}}


/* FINAL INTERACTION & LAYOUT REFACTOR — consolidated corrective layer */
:root{--ref-orange:#e14900;--ref-blue:#014971;--ref-green:#65a394;--ref-ease:cubic-bezier(.19,1,.22,1)}
/* Hero note: independent from image transform, anchored to image bottom. */
.hero-stage{isolation:isolate}
.hero-stage>.floating-note.motion-note{
 position:absolute!important;inset:auto auto clamp(16px,3vw,44px) clamp(14px,2.5vw,38px)!important;
 display:flex!important;flex-direction:column;align-items:flex-start;text-align:left;
 width:min(345px,85%)!important;max-width:85%!important;min-height:0;z-index:12!important;
 border:1px solid rgba(255,255,255,.32);border-radius:22px!important;
 background:linear-gradient(135deg,#014971f5,#073654f5 72%,#0b595edc)!important;
 color:white;cursor:pointer; padding:26px 27px!important;
 transform:translate3d(0,0,0) rotate(0deg)!important;translate:none!important;
 box-shadow:0 22px 65px #01497166,0 2px 0 #65a39470 inset!important;
 transition:transform 1.25s var(--ref-ease),box-shadow 1.25s var(--ref-ease),background 1.25s ease!important;
 will-change:auto;overflow:hidden;
}
.hero-stage>.floating-note.motion-note::after{content:'';position:absolute;inset:-70%;pointer-events:none;background:conic-gradient(from 90deg,transparent 0 52%,#65a39455 65%,#e1490055 78%,transparent 92%);opacity:.55;animation:note-aura 12s linear infinite;z-index:-1}
.hero-stage>.floating-note.motion-note .note-top{font-size:12px!important;letter-spacing:.12em;color:#d3f0e6!important}
.hero-stage>.floating-note.motion-note strong{font-size:clamp(23px,2.4vw,32px)!important;line-height:1.16}
.hero-stage>.floating-note.motion-note i{align-self:flex-end;font-size:27px;color:#ffb180}
@media(hover:hover) and (pointer:fine){.hero-stage>.floating-note.motion-note:hover{transform:translate3d(0,-13px,0) rotate(-1.3deg)!important;box-shadow:0 45px 95px #01497182,0 0 0 2px #65a39499!important}}
.hero-stage>.floating-note.motion-note:focus-visible{outline:3px solid #e14900;outline-offset:5px}
.hero-stage>.floating-note.motion-note.is-energized{animation:note-awaken 1.9s var(--ref-ease)}
@keyframes note-aura{to{transform:rotate(360deg)}}
@keyframes note-awaken{0%,100%{filter:brightness(1)}45%{filter:brightness(1.45)}}
/* Situation cards: explicit bright text in every interaction state. */
.situation-card{isolation:isolate;transition:background 1.2s var(--ref-ease),border-color 1.2s ease,box-shadow 1.2s var(--ref-ease),transform 1.2s var(--ref-ease)!important}
.situation-card:is(:hover,:focus-visible,.is-selected){background:linear-gradient(145deg,#014971,#07354b)!important;color:#fff!important}
.situation-card:is(:hover,:focus-visible,.is-selected) .situation-title{color:#fff!important}
.situation-card:is(:hover,:focus-visible,.is-selected) .situation-desc{color:#e2f3f2!important}
.situation-card:is(:hover,:focus-visible,.is-selected) .situation-more{color:#ffb47f!important}
.situation-card:is(:hover,:focus-visible,.is-selected) .situation-extended{color:#fff!important;background:rgba(255,255,255,.10);border-left:3px solid #ff9b5a;padding:12px 14px;border-radius:0 10px 10px 0}
.situation-card .situation-extended{transition:max-height 1.05s var(--ref-ease),opacity 1s ease,transform 1.1s var(--ref-ease),margin 1s var(--ref-ease),padding 1s var(--ref-ease)!important}
/* Fix redundant sidefact and ensure readable tone */
.scenario-prompt{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)!important}
.scenario-prompt .editorial-sidefact{min-width:0;max-width:none}
/* Result visual — balanced two-column composition */
.outcome{background:linear-gradient(130deg,#073b57,#014971 45%,#073d53 100%);position:relative;overflow:hidden}
.outcome::before{content:'';position:absolute;inset:-45%;pointer-events:none;background:radial-gradient(circle at 65% 50%,#65a39436,transparent 37%),radial-gradient(circle at 18% 78%,#e1490020,transparent 35%);animation:outcome-aura 23s ease-in-out infinite alternate}
@keyframes outcome-aura{to{transform:translate(4%,-3%) rotate(7deg)}}
.outcome .outcome-layout{position:relative;display:grid!important;grid-template-columns:115px minmax(0,1fr) minmax(340px,.98fr)!important;align-items:center!important;gap:clamp(24px,3.5vw,65px)!important;flex-wrap:nowrap!important}
.outcome-layout>div:nth-child(2){min-width:0}
.outcome-seal{justify-self:center;align-self:start;margin-top:65px}
.outcome-visual{position:relative;min-width:0;border:1px solid #ffffff55;border-radius:28px;padding:clamp(22px,3vw,37px);background:linear-gradient(150deg,#ffffff24,#ffffff0d 55%,#65a39425);box-shadow:0 26px 65px #001d3055, inset 0 1px 0 #ffffff3a;backdrop-filter:blur(14px);overflow:hidden;transform:translateZ(0);transition:box-shadow 1.1s ease,border-color 1.1s ease}
.outcome-visual:hover{border-color:#ffc097;box-shadow:0 32px 90px #001d3077,0 0 45px #65a39433}
.outcome-visual::before{content:'';position:absolute;top:-130px;right:-150px;width:390px;height:390px;border-radius:50%;background:radial-gradient(circle,#65a39445,transparent 70%);pointer-events:none;animation:flow-light 14s ease-in-out infinite alternate}
@keyframes flow-light{to{transform:translate(-110px,125px) scale(1.28)}}
.outcome-visual-top,.flow-foot{display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:11px;letter-spacing:.11em;font-weight:800;color:#bde3d9}
.outcome-visual-indicator{color:#ffb78a;white-space:nowrap}
.outcome-flow{display:flex;align-items:center;justify-content:space-between;gap:7px;margin:38px 0 30px}
.flow-point{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:9px;flex:0 0 auto;background:transparent;border:0;color:#e8f8f5;border-radius:16px;padding:9px 4px;min-width:75px;cursor:pointer;transition:transform 1s var(--ref-ease),color 1s ease}
.flow-point:hover,.flow-point:focus-visible{transform:translateY(-8px);color:#ffbe94}
.flow-index{width:68px;height:68px;display:grid;place-items:center;border:1.5px solid #98c7b9;background:#ffffff14;border-radius:50%;font-weight:800;font-size:19px;transition:transform 1.15s var(--ref-ease),background 1.15s ease,border-color 1.15s ease,box-shadow 1.15s ease}
.flow-point.is-active .flow-index{color:#fff;background:#e14900;border-color:#ffb080;box-shadow:0 0 0 9px #e1490020,0 12px 35px #e1490060;transform:scale(1.08)}
.flow-name{font-size:14px;font-weight:800;letter-spacing:0}
.flow-connector{height:2px;min-width:10px;flex:1;background:linear-gradient(90deg,#65a394, #e14900);opacity:.85;transform:translateY(-11px)}
.flow-detail{min-height:178px;border-top:1px solid #ffffff40;padding-top:23px;position:relative}
.flow-detail-inner{transition:opacity .38s ease,transform .65s var(--ref-ease),filter .65s ease}
.flow-detail.is-changing .flow-detail-inner{opacity:0;transform:translateY(11px);filter:blur(5px)}
.flow-detail-label{font-size:11px;font-weight:800;color:#ffb88b;letter-spacing:.12em}
.flow-detail h3{font-size:clamp(22px,2.1vw,30px);line-height:1.3;color:#fff;margin:11px 0}
.flow-detail p{font-size:16px!important;line-height:1.7;color:#e6f3f1!important;margin:0!important}
.flow-foot{font-size:11px;letter-spacing:0;text-transform:none;margin-top:24px;font-weight:600;color:#d4e9e6}
.flow-foot-mark{font-size:24px;color:#ffb180;transition:transform 1.1s var(--ref-ease)}
.outcome-visual:hover .flow-foot-mark{transform:translate(4px,-4px) rotate(30deg)}
@media(max-width:1200px){.outcome .outcome-layout{grid-template-columns:105px minmax(0,1fr)!important}.outcome-visual{grid-column:2;max-width:660px}.outcome-seal{grid-row:1;margin-top:20px}}
@media(max-width:940px){.scenario-prompt{grid-template-columns:1fr!important}.outcome .outcome-layout{grid-template-columns:minmax(0,1fr)!important;gap:25px!important}.outcome-seal{grid-row:auto;justify-self:start;margin:0}.outcome-visual{grid-column:1;max-width:none;width:100%}}
@media(max-width:700px){.hero-stage>.floating-note.motion-note{left:12px!important;bottom:14px!important;width:min(310px,83%)!important;max-width:83%!important;padding:18px 20px!important;border-radius:18px!important}.hero-stage>.floating-note.motion-note strong{font-size:clamp(21px,5vw,27px)!important}.outcome-visual{padding:20px;border-radius:22px}.outcome-flow{margin:26px 0 23px}.flow-index{width:56px;height:56px;font-size:16px}.flow-point{min-width:62px}.flow-name{font-size:12px}.flow-detail{min-height:195px}.outcome-visual-top{font-size:10px}}
@media(max-width:390px){.flow-index{width:48px;height:48px}.flow-point{min-width:51px}.flow-name{font-size:11px}.outcome-visual{padding:15px}.flow-detail p{font-size:14px!important}.hero-stage>.floating-note.motion-note{max-width:85%!important}}
@media(prefers-reduced-motion:reduce){.hero-stage>.floating-note.motion-note::after,.outcome::before,.outcome-visual::before{animation:none!important}.outcome-visual,.flow-point,.flow-index,.flow-detail-inner,.hero-stage>.floating-note.motion-note{transition:none!important}}

/* Stable motion revision: overrides conflicting accumulated interaction rules. */
:root{--gentle:cubic-bezier(.22,1,.36,1)}
/* Note content is visible from first paint, even when assets load slowly. */
.hero-stage>.floating-note.motion-note .note-top,
.hero-stage>.floating-note.motion-note strong,
.hero-stage>.floating-note.motion-note i{opacity:1!important;visibility:visible!important;filter:none!important;transform:none!important;transition:color .9s ease,opacity 1s ease!important}
.hero-stage>.floating-note.motion-note{isolation:isolate;transform-origin:50% 90%!important;transition:transform 1.6s var(--gentle),box-shadow 1.6s var(--gentle),border-color 1.6s ease!important}
.hero-stage>.floating-note.motion-note::after{z-index:0!important;opacity:.18;transition:opacity 1.4s ease}
.hero-stage>.floating-note.motion-note:hover::after{opacity:.48}
.hero-stage>.floating-note.motion-note>*{position:relative;z-index:2}
.hero-stage>.floating-note.motion-note strong{display:block!important;color:#fff!important;text-shadow:0 2px 22px #001b2a77}
.hero-stage>.floating-note.motion-note .note-top{color:#d4f2e5!important}
.hero-stage>.floating-note.motion-note i{position:relative!important;right:auto!important;bottom:auto!important;align-self:flex-end}
/* Four scenarios remain visible. Only the content of the selected card expands. */
.situation-grid{align-items:stretch;grid-auto-flow:row}
.situation-card{min-width:0;min-height:335px;overflow:hidden!important;transform:none!important;filter:none!important;transition:background 1.55s var(--gentle),border-color 1.55s ease,box-shadow 1.6s var(--gentle),color 1.4s ease!important}
.situation-card[data-reveal],.js-motion .situation-card[data-reveal]{opacity:1!important;filter:none!important;transform:none!important;transition:background 1.55s var(--gentle),border-color 1.55s ease,box-shadow 1.6s var(--gentle),color 1.4s ease!important}
.situation-card:hover,.situation-card:focus-visible,.situation-card.is-selected,.js-motion .situation-card.is-visible:hover{transform:none!important;transition-delay:0ms!important;transition-duration:1.55s!important}
.situation-card .situation-icon{transition:transform 1.55s var(--gentle),background-color 1.4s ease,color 1.4s ease!important}
.situation-card:is(:hover,:focus-visible,.is-selected) .situation-icon{transform:rotate(12deg) scale(1.08)!important}
.situation-card .situation-title,.situation-card .situation-desc,.situation-card .situation-more,.situation-card .situation-more b{transition:color 1.35s ease,transform 1.55s var(--gentle)!important}
.situation-card .situation-extended{display:block!important;box-sizing:border-box;max-height:0!important;opacity:0!important;visibility:hidden;margin-top:0!important;padding:0 14px!important;border-left:3px solid transparent!important;transform:translateY(-6px)!important;transition:max-height 1.35s var(--gentle),opacity 1.2s ease,transform 1.35s var(--gentle),margin 1.35s var(--gentle),padding 1.35s var(--gentle),visibility 0s linear 1.35s!important}
.situation-card:is(:hover,:focus-visible,.is-selected) .situation-extended{max-height:230px!important;opacity:1!important;visibility:visible;margin-top:17px!important;padding:12px 14px!important;transform:translateY(0)!important;color:#fff!important;border-color:#ffad77!important;background:#ffffff19!important;transition: max-height 1.35s var(--gentle),opacity 1.2s ease,transform 1.35s var(--gentle),margin 1.35s var(--gentle),padding 1.35s var(--gentle),visibility 0s!important}
.situation-card:is(:hover,:focus-visible,.is-selected) .situation-more{color:#ffc6a5!important}
/* Dynamic color field for every major background. Each section has its own rhythm. */
main>section{--section-x:50%;--section-y:50%;isolation:isolate}
main>section::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:0;opacity:.6;background:radial-gradient(560px circle at var(--section-x) var(--section-y),#65a39422,transparent 75%);transition:opacity 1.7s ease}
main>section:hover::after{opacity:1}
main>section>.container,main>section>.hero-layout,main>section>.hero-end,main>section>.insight-grid,main>section>.statement-layout{position:relative;z-index:1}
.intro::after{background:radial-gradient(580px circle at var(--section-x) var(--section-y),#e1490015,transparent 74%)}
.services::after{background:radial-gradient(640px circle at var(--section-x) var(--section-y),#0149711c,transparent 76%)}
.insight-band::after{background:radial-gradient(610px circle at var(--section-x) var(--section-y),#ffca763b,transparent 74%)}
.statement::after{background:radial-gradient(580px circle at var(--section-x) var(--section-y),#65a3944a,transparent 77%)}
.situations::after{background:radial-gradient(660px circle at var(--section-x) var(--section-y),#e1490021,transparent 76%)}
.approach::after{background:radial-gradient(570px circle at var(--section-x) var(--section-y),#65a39437,transparent 72%)}
.outcome::after{background:radial-gradient(600px circle at var(--section-x) var(--section-y),#65a39436,transparent 76%)}
.faq-section::after{background:radial-gradient(570px circle at var(--section-x) var(--section-y),#e149001b,transparent 73%)}
.contact-section::after{background:radial-gradient(580px circle at var(--section-x) var(--section-y),#0149711b,transparent 75%)}
.scenario-prompt{--section-x:50%;--section-y:50%;position:relative;isolation:isolate;overflow:hidden}
.scenario-prompt::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(440px circle at var(--section-x) var(--section-y),#65a39429,transparent 75%)}
/* Form controls and outer shell share one rounded design language. */
.brief-form{border-radius:30px!important;overflow:hidden}
.brief-form input,.brief-form select,.brief-form textarea{border-radius:15px!important}
.brief-form button[type=submit],.brief-form .btn{border-radius:999px!important}
@media(max-width:1050px){.situation-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:620px){.situation-grid{grid-template-columns:1fr!important}.situation-card{min-height:0!important;padding:24px!important}.situation-card .situation-desc{font-size:15px!important}.situation-card .situation-title{font-size:23px!important}.brief-form{border-radius:23px!important}.hero-stage>.floating-note.motion-note:hover{transform:none!important}}
@media(prefers-reduced-motion:reduce){main>section::after,.scenario-prompt::before{transition:none!important}.situation-card,.situation-card *{transition:none!important}}


/* Atmospheric revision — independent light-fields per section */
:root{--atmo-ease:cubic-bezier(.22,1,.36,1)}
.ambient-zone{position:relative;isolation:isolate;overflow:hidden;--section-x:50%;--section-y:50%}
.ambient-zone::before,.ambient-zone::after{content:"";position:absolute;inset:-15%;pointer-events:none;z-index:-1;will-change:transform,opacity}
.ambient-zone::before{background:radial-gradient(closest-side at var(--section-x) var(--section-y),rgba(225,73,0,.17),transparent 84%);transition:opacity 1.2s ease;opacity:.85}
.ambient-zone::after{opacity:.9;animation:atmo-drift 21s ease-in-out infinite alternate}
.ambient-hero{background:linear-gradient(130deg,#f6faf9 4%,#e0eff1 44%,#fff5ec 100%)!important}
.ambient-hero::after{background:radial-gradient(ellipse at 16% 38%,rgba(101,163,148,.4),transparent 44%),radial-gradient(ellipse at 88% 19%,rgba(225,73,0,.23),transparent 46%),repeating-radial-gradient(circle at 24% 30%,transparent 0 58px,rgba(1,73,113,.045) 59px 60px);animation-duration:27s}
.ambient-intro{background:linear-gradient(115deg,#f2fbf6,#e8f1f4,#fff8f2)!important}
.ambient-intro::after{background:repeating-linear-gradient(115deg,transparent 0 67px,rgba(1,73,113,.06) 68px 69px),radial-gradient(circle at 82% 70%,rgba(101,163,148,.28),transparent 38%);animation:atmo-grid 33s linear infinite alternate}
.ambient-services{background:linear-gradient(155deg,#ffffff,#edf6f6 45%,#fff8f2)!important}
.ambient-services::after{background:radial-gradient(ellipse at 24% 70%,rgba(101,163,148,.28),transparent 50%),radial-gradient(ellipse at 90% 19%,rgba(225,73,0,.16),transparent 42%);animation-duration:24s}
.ambient-situations{background:linear-gradient(130deg,#ecf5f3 0%,#fcf9f2 52%,#e5f0f5 100%)!important}
.ambient-situations::after{background:radial-gradient(ellipse at 15% 25%,rgba(1,73,113,.19),transparent 50%),radial-gradient(ellipse at 82% 85%,rgba(225,73,0,.2),transparent 47%);animation-duration:20s}
.ambient-outcome{background:linear-gradient(115deg,#063f65,#014971 60%,#0b5873)!important}
.ambient-outcome::before{background:radial-gradient(closest-side at var(--section-x) var(--section-y),rgba(225,73,0,.35),transparent 80%)}
.ambient-outcome::after{background:radial-gradient(circle at 18% 78%,rgba(225,73,0,.34),transparent 38%),repeating-radial-gradient(circle at 74% 32%,transparent 0 65px,rgba(255,255,255,.055) 66px 67px);animation-duration:29s}
.ambient-faq{background:linear-gradient(130deg,#f8faf7,#e7f3ef 58%,#fff1e8)!important}
.ambient-faq::after{background:repeating-radial-gradient(circle at 95% 55%,transparent 0 72px,rgba(225,73,0,.06) 73px 74px),radial-gradient(circle at 11% 32%,rgba(101,163,148,.24),transparent 46%);animation-duration:38s}
.ambient-footer{background:linear-gradient(120deg,#073d5d,#014971,#075570)!important}
.ambient-footer::before{background:radial-gradient(closest-side at var(--section-x) var(--section-y),rgba(225,73,0,.3),transparent 78%)}
.ambient-footer::after{background:repeating-linear-gradient(130deg,transparent 0 85px,rgba(255,255,255,.055) 86px 87px),radial-gradient(circle at 75% 40%,rgba(101,163,148,.23),transparent 45%);animation:atmo-grid 45s linear infinite alternate}
@keyframes atmo-drift{from{transform:translate3d(-2%,2%,0) scale(1)}to{transform:translate3d(4%,-4%,0) scale(1.13)}}
@keyframes atmo-grid{from{transform:translate3d(-3%,0,0)}to{transform:translate3d(3%,-3%,0)}}
.ambient-zone>.container,.ambient-zone>.hero-end,.ambient-zone>.hero-layout,.ambient-zone>.footer-top,.ambient-zone>.footer-bottom{position:relative;z-index:1}
/* Promote subtle movement with no layout jumping */
.situation-card{transition:background-color 1.1s var(--atmo-ease),color 1.1s var(--atmo-ease),border-color 1.1s var(--atmo-ease),box-shadow 1.2s var(--atmo-ease),transform 1.2s var(--atmo-ease)!important}
.situation-card .situation-title,.situation-card .situation-desc,.situation-card .situation-more,.situation-card .situation-extended,.situation-card .situation-icon{transition:color 1.1s var(--atmo-ease),opacity 1.1s var(--atmo-ease),transform 1.15s var(--atmo-ease),background-color 1.1s var(--atmo-ease)!important}
.situation-card.is-selected .situation-extended,.situation-card:hover .situation-extended{color:#f2fff9!important}
.situation-card.is-selected,.situation-card:hover{will-change:auto}
/* Start guide replaces shallow side fact with four meaningful selectable stages */
.scenario-prompt{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)!important;align-items:center;gap:clamp(20px,5vw,75px)!important}
.prep-explorer{min-width:0;background:rgba(255,255,255,.82);border:1px solid rgba(1,73,113,.15);border-radius:26px;padding:clamp(18px,2.5vw,30px);box-shadow:0 20px 50px rgba(1,73,113,.1);backdrop-filter:blur(14px)}
.prep-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.prep-tab{border:1px solid #bed5d0;background:#f0f7f3;color:#014971;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:13px 3px;border-radius:17px;min-height:78px;font-size:clamp(11px,1vw,14px);font-weight:750;cursor:pointer;transition:background 1s var(--atmo-ease),color 1s var(--atmo-ease),transform 1.1s var(--atmo-ease),box-shadow 1s var(--atmo-ease),border-color 1s var(--atmo-ease)}
.prep-tab-mark{font-size:11px;letter-spacing:.1em;opacity:.65}
.prep-tab:hover{transform:translateY(-5px);border-color:#e14900}
.prep-tab.is-active{background:#014971;border-color:#014971;color:#fff;box-shadow:0 12px 30px #01497130}
.prep-display{position:relative;margin-top:16px;border:1px solid #dce9e7;background:linear-gradient(135deg,#fff,#edf6f3);border-radius:18px;padding:22px;min-height:198px;overflow:hidden}
.prep-display.is-transitioning .prep-content{opacity:0;transform:translateY(10px)}
.prep-content{transition:opacity .35s ease,transform .45s var(--atmo-ease)}
.prep-kicker{font-size:11px!important;letter-spacing:.12em;font-weight:800;color:#e14900!important}
.prep-display h4{font-size:clamp(17px,1.55vw,23px);line-height:1.25;margin:14px 0 9px;color:#014971}
.prep-display p{font-size:clamp(13px,1.1vw,16px);line-height:1.65;margin:0;color:#36535e}
.prep-meter{height:4px;border-radius:4px;background:#d4e4e0;overflow:hidden;margin-top:22px}.prep-meter span{display:block;height:100%;width:25%;background:#e14900;border-radius:4px;transition:width 1.1s var(--atmo-ease)}
/* Typography and cleanup */
.approach .editorial-head h3,.editorial-section h3{font-size:clamp(18px,2vw,29px)!important;letter-spacing:-.035em}
.outcome-visual-indicator{display:none!important}
.faq-layout{grid-template-columns:minmax(270px,.85fr) minmax(0,1.3fr)!important;gap:clamp(30px,5vw,84px)}
.faq-layout h2{font-size:clamp(38px,4.6vw,70px)!important;line-height:1.12}
.footer a,.footer p,.footer span{transition:color .9s ease,opacity .9s ease,transform .9s var(--atmo-ease)}
.footer a:hover{transform:translateY(-4px)}.footer-requisite:hover{color:#ffb37d}
@media(min-width:1120px){.approach .editorial-head h3{font-size:clamp(18px,1.75vw,28px)!important;white-space:nowrap}}
@media(max-width:900px){.scenario-prompt{grid-template-columns:1fr!important}.faq-layout{grid-template-columns:1fr!important}.ambient-zone::after{inset:-7%}}
@media(max-width:520px){.prep-explorer{padding:12px;border-radius:19px}.prep-tab{min-height:67px;border-radius:12px;font-size:11px}.prep-tab-mark{font-size:10px}.prep-display{padding:18px;min-height:215px}.ambient-zone::after{animation-duration:34s}.faq-layout h2{font-size:42px!important}.scenario-prompt{gap:22px!important}}
@media(prefers-reduced-motion:reduce){.ambient-zone::after{animation:none!important}.prep-tab,.prep-meter span,.prep-content,.situation-card{transition:none!important}}
/* Exact standards headline and guide crossfade */
.standards-note h3{font-size:clamp(18px,1.7vw,28px)!important;line-height:1.3;letter-spacing:-.04em}
@media(min-width:1180px){.standards-note h3{white-space:nowrap}}
.prep-display h4,.prep-display p{transition:opacity .42s ease,transform .5s cubic-bezier(.22,1,.36,1)}
.prep-display.is-transitioning h4,.prep-display.is-transitioning p{opacity:0;transform:translateY(9px)}
@media(max-width:1179px){.standards-note h3{white-space:normal}}


/* === Smooth Studio: canonical overrides for interactive sections === */
:root{--smooth-ease:cubic-bezier(.22,1,.36,1)}
/* Slow independently moving atmospheric layers, different shapes per section. */
@keyframes studio-clouds{0%{transform:translate3d(-4%,2%,0) scale(1)}50%{transform:translate3d(5%,-4%,0) scale(1.09)}100%{transform:translate3d(-1%,5%,0) scale(1.03)}}
@keyframes studio-scan{from{background-position:0 0,0 0}to{background-position:150px 190px,-240px 170px}}
@keyframes studio-pulse{0%,100%{transform:scale(.96) translateX(-3%);opacity:.72}50%{transform:scale(1.12) translateX(4%);opacity:1}}
@keyframes studio-rings{0%{transform:translateX(-3%) scale(.94);opacity:.75}100%{transform:translateX(4%) scale(1.1);opacity:1}}
.ambient-zone::after{opacity:1!important;animation:studio-clouds 19s ease-in-out infinite alternate!important}
.ambient-hero::after{background:radial-gradient(ellipse at 18% 30%,#65a39470,transparent 54%),radial-gradient(ellipse at 87% 68%,#e1490047,transparent 48%),repeating-radial-gradient(circle at 70% 15%,transparent 0 64px,#01497115 66px 68px)!important;animation:studio-rings 23s ease-in-out infinite alternate!important}
.ambient-intro::after{background:repeating-linear-gradient(115deg,transparent 0 50px,#01497116 52px 54px),radial-gradient(ellipse at 78% 24%,#65a39477,transparent 54%)!important;animation:studio-scan 27s linear infinite alternate!important}
.ambient-services::after{background:radial-gradient(circle at 14% 30%,#65a39483,transparent 44%),radial-gradient(circle at 85% 75%,#e1490052,transparent 47%)!important;animation:studio-clouds 17s ease-in-out infinite alternate-reverse!important}
.ambient-situations::after{background:radial-gradient(ellipse at 18% 55%,#01497166,transparent 48%),radial-gradient(ellipse at 88% 25%,#e1490055,transparent 49%),radial-gradient(ellipse at 50% 100%,#65a39475,transparent 55%)!important;animation:studio-pulse 21s ease-in-out infinite!important}
.ambient-outcome::after{background:radial-gradient(ellipse at 22% 25%,#e1490099,transparent 44%),repeating-radial-gradient(circle at 80% 50%,transparent 0 55px,#ffffff1c 57px 59px)!important;animation:studio-rings 25s ease-in-out infinite alternate!important}
.ambient-faq::after{background:repeating-radial-gradient(circle at 75% 50%,transparent 0 68px,#e149002e 70px 72px),radial-gradient(ellipse at 15% 75%,#65a39474,transparent 50%)!important;animation:studio-rings 30s ease-in-out infinite alternate!important}
.ambient-footer::after{background:repeating-linear-gradient(120deg,transparent 0 77px,#ffffff21 79px 80px),radial-gradient(circle at 82% 27%,#e1490066,transparent 42%)!important;animation:studio-scan 32s linear infinite alternate!important}
/* Tasks: stable four-card grid. The cards never grow when you hover. */
.situation-grid{align-items:stretch!important;gap:18px!important}
.situation-card,.js-motion .situation-card[data-reveal]{height:100%;min-height:310px;display:flex!important;flex-direction:column!important;align-items:flex-start!important;transform:none!important;opacity:1!important;filter:none!important;background:#ffffffeb!important;color:#014971!important;border:1px solid #b9d4d0!important;border-radius:24px!important;padding:27px!important;transition:background-color 1.4s ease,border-color 1.4s ease,box-shadow 1.5s var(--smooth-ease),color 1.3s ease!important}
.situation-card:hover,.situation-card:focus-visible,.situation-card.is-selected,.js-motion .situation-card.is-visible:hover{transform:none!important;background:#014971!important;border-color:#e14900!important;box-shadow:0 24px 50px #01497136!important}
.situation-card .situation-title{color:#014971!important;font-size:clamp(21px,2vw,26px)}
.situation-card .situation-desc{color:#375665!important}
.situation-card:is(:hover,:focus-visible,.is-selected) .situation-title{color:white!important}
.situation-card:is(:hover,:focus-visible,.is-selected) .situation-desc{color:#e0f1f0!important}
.situation-card .situation-more{margin-top:auto!important;padding-top:20px;color:#e14900!important;font-size:15px!important;transition:color 1.1s ease!important}
.situation-card:is(:hover,:focus-visible,.is-selected) .situation-more{color:#ffbe8d!important}
.situation-card .situation-icon{transition:background-color 1.3s ease,transform 1.6s var(--smooth-ease)!important}
.situation-card:is(:hover,:focus-visible,.is-selected) .situation-icon{transform:rotate(8deg) scale(1.05)!important}
.situation-detail-panel{margin-top:24px;min-height:190px;border-radius:25px;padding:28px clamp(25px,4vw,55px);color:#fff;background:linear-gradient(120deg,#014971,#056080);position:relative;overflow:hidden;box-shadow:0 16px 44px #01497122}
.situation-detail-panel::before{content:'';position:absolute;inset:-40%;background:radial-gradient(ellipse at 70% 50%,#65a39466,transparent 44%),radial-gradient(ellipse at 10% 90%,#e149004d,transparent 45%);animation:studio-clouds 16s ease-in-out infinite alternate;pointer-events:none}
.situation-detail-inner{position:relative;z-index:1;opacity:1!important;visibility:visible!important}
.situation-detail-eyebrow{font-size:12px;font-weight:800;letter-spacing:.13em;color:#ffc39c}
.situation-detail-panel h3{font-size:clamp(23px,2.5vw,32px);margin:9px 0;color:#fff}
.situation-detail-panel p{font-size:clamp(16px,1.5vw,19px);line-height:1.7;max-width:850px;margin:0;color:#eff9f7}
/* Stable data / analysis / result panel: never hidden by an old transition class. */
.outcome-visual .flow-detail{visibility:visible!important;opacity:1!important}
.outcome-visual .flow-detail{min-height:206px;overflow:visible}
/* Approach note: horizontal baseline alignment and coherent hierarchy. */
.standards-note{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center!important;gap:clamp(26px,4vw,70px)!important;padding:30px 34px!important;border-radius:24px}
.standards-note>div,.standards-note>p{align-self:center!important;margin:0!important}
.standards-note h3{font-size:clamp(20px,1.65vw,27px)!important;line-height:1.35!important;max-width:550px;white-space:normal!important}
.standards-note>p{font-size:clamp(15px,1.22vw,18px)!important;line-height:1.75!important}
/* Contact form aligned to heading top, not pushed beneath left contact details. */
@media(min-width:941px){.contact-section>.container{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 clamp(35px,5vw,90px);align-items:start}.contact-heading{grid-column:1;grid-row:1;margin:0!important}.contact-layout{display:contents!important}.contact-layout>.brief-form{grid-column:2;grid-row:1 / span 2;align-self:start!important;margin:0!important;transform:none!important}.contact-layout>.contact-info{grid-column:1;grid-row:2;padding:25px 0 0!important;margin:0!important}.contact-section .brief-form{width:100%;max-width:none}}
@media(max-width:940px){.contact-section>.container{display:block}.contact-layout{display:grid!important;margin-top:25px!important}.contact-layout>.brief-form{margin-top:0!important}}
@media(max-width:760px){.standards-note{grid-template-columns:1fr!important;padding:24px!important;gap:20px!important}.situation-card{min-height:260px}.situation-detail-panel{min-height:210px}}
@media(max-width:520px){.situation-card{min-height:230px}.situation-detail-panel{padding:24px 21px}.standards-note h3{font-size:22px!important}}
@media(prefers-reduced-motion:reduce){.ambient-zone::after,.situation-detail-panel::before{animation:none!important}.situation-card,.situation-card *{transition:none!important}}

/* Footer contrast refresh: light surface, preserved ambient motion. */
.footer.ambient-footer{background:linear-gradient(120deg,#fffaf4 0%,#eff8f4 47%,#eaf3f8 100%)!important;color:#014971!important;border-top:1px solid #c9dcd8}
.footer.ambient-footer::before{background:radial-gradient(closest-side at var(--section-x,50%) var(--section-y,50%),rgba(225,73,0,.16),transparent 78%)!important}
.footer.ambient-footer::after{background:repeating-linear-gradient(120deg,transparent 0 77px,rgba(1,73,113,.09) 79px 80px),radial-gradient(circle at 82% 27%,rgba(101,163,148,.30),transparent 45%)!important;animation:studio-scan 32s linear infinite alternate!important}
.footer .footer-top{border-bottom-color:#cadcd9!important}
.footer .footer-top p,.footer .footer-bottom,.footer .footer-bottom span{color:#385b69!important}
.footer .footer-requisite{color:#014971!important;font-weight:800}
.footer a{color:#014971!important}
.footer a:hover,.footer .footer-requisite:hover{color:#e14900!important}
@media(prefers-reduced-motion:reduce){.footer.ambient-footer::after{animation:none!important}}

/* FDS final visual corrections: no striped or circular line backgrounds. */
.ambient-intro{background:linear-gradient(120deg,#f2faf6 0%,#e1f0eb 43%,#fff5ed 100%)!important}
.ambient-intro::after{background:radial-gradient(ellipse 58% 67% at 20% 45%,rgba(101,163,148,.52),transparent 75%),radial-gradient(ellipse 54% 61% at 81% 55%,rgba(225,73,0,.22),transparent 76%),radial-gradient(ellipse at 50% 85%,rgba(1,73,113,.15),transparent 70%)!important;animation:fds-liquid-about 23s ease-in-out infinite alternate!important}
.ambient-faq{background:linear-gradient(122deg,#fdfaf5 0%,#eaf6f1 48%,#e5f0f7 100%)!important}
.ambient-faq::after{background:radial-gradient(ellipse 70% 73% at 18% 24%,rgba(225,73,0,.24),transparent 71%),radial-gradient(ellipse 70% 73% at 84% 70%,rgba(101,163,148,.36),transparent 72%),radial-gradient(ellipse 55% 72% at 54% 35%,rgba(1,73,113,.17),transparent 75%)!important;animation:fds-liquid-faq 26s ease-in-out infinite alternate!important}
@keyframes fds-liquid-about{0%{transform:translate3d(-6%,1%,0) scale(1)}50%{transform:translate3d(4%,-4%,0) scale(1.1)}100%{transform:translate3d(-2%,4%,0) scale(1.04)}}
@keyframes fds-liquid-faq{0%{transform:translate3d(5%,-4%,0) scale(1.03)}50%{transform:translate3d(-4%,3%,0) scale(1.09)}100%{transform:translate3d(3%,4%,0) scale(1)}}
/* Selected task remains visibly selected after pointer leaves. */
.situation-grid .situation-card.is-selected,.js-motion .situation-grid .situation-card.is-selected{background:#014971!important;border-color:#e14900!important;box-shadow:0 22px 48px rgba(1,73,113,.3)!important}
.situation-grid .situation-card.is-selected .situation-title{color:#fff!important}
.situation-grid .situation-card.is-selected .situation-desc{color:#e0f1f0!important}
.situation-grid .situation-card.is-selected .situation-more{color:#ffbe8d!important}
.situation-detail-panel{isolation:isolate}
.situation-detail-inner{opacity:1;position:relative}
.situation-detail-panel .situation-outgoing{position:absolute!important;top:28px;left:clamp(25px,4vw,55px);right:clamp(25px,4vw,55px);z-index:2;pointer-events:none;opacity:1;filter:none;transform:none}
/* Restore animated content without ever hiding it by default. */
.outcome-visual .flow-detail h3,.outcome-visual .flow-detail p{opacity:1;visibility:visible;transform:none}
.footer-bottom .footer-motto,.footer .footer-bottom .footer-motto{font-weight:900!important;color:#e14900!important;letter-spacing:-.015em;font-size:clamp(17px,1.55vw,22px);line-height:1.35}
@media(max-width:680px){.situation-detail-panel .situation-outgoing{top:24px;left:21px;right:21px}.footer .footer-bottom .footer-motto{font-size:17px}}
@media(prefers-reduced-motion:reduce){.ambient-intro::after,.ambient-faq::after{animation:none!important}}


/* Mobile composition and stable flow transitions — 2026-10-22 */
.footer .footer-bottom .footer-motto,.footer-bottom .footer-motto{font:inherit!important;color:inherit!important;letter-spacing:inherit!important;line-height:inherit!important}
.flow-detail-inner h3,.flow-detail-inner p{will-change:opacity,transform,filter}
@media(max-width:700px){
 .situation-grid{display:grid!important;grid-template-columns:1fr!important;gap:16px!important;align-items:stretch}
 .situation-grid .situation-card{width:100%;height:auto!important;min-height:0!important;padding:23px 20px!important;text-align:center;align-items:center!important;justify-content:center!important}
 .situation-grid .situation-title{font-size:clamp(19px,5vw,25px)!important;line-height:1.3!important;text-align:center}
 .situation-grid .situation-title br{display:none}
 .situation-grid .situation-desc{font-size:clamp(14px,3.65vw,16px)!important;line-height:1.55!important;text-align:center}
 .situation-grid .situation-icon{margin:0 auto 12px!important}
 .situation-grid .situation-more{padding-top:14px!important;text-align:center}
 .situation-grid .situation-detail-panel{grid-column:1/-1;width:100%;min-height:0!important;margin:0 0 5px!important;padding:24px 22px!important}
 .situation-detail-panel .situation-outgoing{top:24px;left:22px;right:22px}
 .approach-side h2{font-size:clamp(17px,4.5vw,28px)!important;letter-spacing:-.045em!important;line-height:1.4!important;white-space:nowrap!important}
 .approach-side h2 br{display:none!important}
 .outcome .outcome-layout{grid-template-columns:1fr!important;gap:22px!important}
 .outcome-seal{display:flex!important;justify-self:center!important;align-self:center!important;margin:0 auto 4px!important}
 .outcome .outcome-layout>div:nth-child(2){width:100%;min-width:0}
 .outcome h2{font-size:clamp(10.5px,2.95vw,20px)!important;letter-spacing:-.035em!important;line-height:1.5!important;white-space:nowrap!important}
 .outcome h2 br{display:none!important}
 .faq-layout h2{font-size:clamp(24px,6vw,35px)!important;letter-spacing:-.04em!important;white-space:nowrap!important;line-height:1.4!important}
 .faq-layout h2 br{display:none!important}
}
@media(max-width:360px){.outcome h2{font-size:10px!important}.approach-side h2{font-size:16px!important}.faq-layout h2{font-size:22px!important}}
@media(prefers-reduced-motion:reduce){.flow-detail-inner h3,.flow-detail-inner p{will-change:auto}}


/* FINAL PASS — consistent spacing, stable interactive panels and mobile composition. */
:root{--fds-ease:cubic-bezier(.22,1,.36,1)}
/* Independent floating note: bottom-left overhang rather than a caption attached to the photo. */
.hero-media{overflow:visible!important}
.floating-note{left:clamp(-65px,-4.2vw,-22px)!important;right:auto!important;bottom:-32px!important;top:auto!important;z-index:6!important;transform-origin:center left!important;transition:transform 1.15s var(--fds-ease),box-shadow 1.15s var(--fds-ease),background 1.15s var(--fds-ease)!important}
.floating-note:hover{transform:translate3d(-7px,-10px,0) rotate(-1deg)!important}
.hero-actions .btn-primary{gap:12px!important;justify-content:center!important;column-gap:12px!important}
.hero-actions .btn-primary span{margin-left:0!important}
.insight-kicker{white-space:nowrap!important;display:flex;align-items:center;gap:0!important}
.insight-kicker>span{display:none!important}
.situation-more{display:none!important}
/* Prep explorer: no height changes as its four tabs switch. */
.prep-explorer{align-self:stretch!important;min-width:0;display:flex!important;flex-direction:column!important}
.prep-display{min-height:240px!important;box-sizing:border-box!important;flex:1!important}
.prep-display h4{min-height:2.9em!important}
.prep-display p{min-height:5.7em!important}
/* Standards note, baseline and single-line desktop heading. */
.standards-note{display:grid!important;grid-template-columns:minmax(0,1.45fr) minmax(270px,1fr)!important;align-items:center!important;gap:clamp(24px,3vw,58px)!important}
.standards-note>div,.standards-note>p{align-self:center!important;margin-top:0!important;margin-bottom:0!important}
.standards-note h3{font-size:clamp(17px,1.5vw,24px)!important;line-height:1.34!important;letter-spacing:-.035em!important;white-space:nowrap!important}
/* Seal aligns to middle of result heading and text. */
.outcome-layout>.outcome-seal{align-self:center!important;justify-self:center!important;margin:auto!important}
/* Switching effect: two-layer cross dissolve with text moving into place. */
.flow-detail{min-height:190px!important;overflow:hidden!important}
.flow-detail-inner{position:relative!important}
.flow-detail h3,.flow-detail p{backface-visibility:hidden}
/* Mobile layout cleanup, including fully stacked form fields. */
@media(max-width:940px){
 .floating-note{left:10px!important;bottom:-22px!important;max-width:calc(100% - 20px)!important}
 .standards-note{grid-template-columns:1fr!important;gap:16px!important}
 .standards-note h3{white-space:normal!important;font-size:clamp(20px,3.2vw,27px)!important}
}
@media(max-width:700px){
 .hero-media{margin-bottom:32px!important}
 .floating-note{left:12px!important;bottom:-25px!important;right:auto!important}
 .scenario-prompt>div:first-child{text-align:center!important}
 .scenario-prompt h3{text-align:center!important}
 .approach-side{text-align:center!important}
 .approach-side h2{text-align:center!important;margin-left:auto!important;margin-right:auto!important}
 .approach-decoration{display:flex!important;align-items:center!important;justify-content:center!important;gap:clamp(15px,5vw,35px)!important;margin-left:auto!important;margin-right:auto!important}
 .approach-decoration>span{flex:0 0 auto!important}
 .contact-layout .form-row{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:0!important}
 .contact-layout .form-row>.form-field{grid-column:1/-1!important;min-width:0!important;width:100%!important}
 .contact-layout .form-field input,.contact-layout .form-field select,.contact-layout .form-field textarea{max-width:100%!important;width:100%!important}
 .prep-display{min-height:270px!important}
 .prep-display h4{min-height:2.8em!important}
 .prep-display p{min-height:6em!important}
 .footer .footer-top,.footer .footer-bottom{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important;gap:16px!important}
 .footer .footer-top p,.footer .footer-bottom>span{text-align:center!important;margin:0!important}
 .footer .footer-top{padding-top:34px!important;padding-bottom:28px!important}
 .footer .footer-bottom{padding:22px 0 30px!important;gap:10px!important}
 .footer .footer-requisite{display:block!important;margin-top:4px!important}
 .footer .footer-bottom .footer-motto{font-size:14px!important;color:#385b69!important;font-weight:500!important}
}
@media(max-width:480px){
 .insight-kicker{font-size:clamp(10px,3vw,13px)!important;letter-spacing:.045em!important}
 .approach-decoration{gap:12px!important;max-width:100%!important}
 .prep-display{min-height:292px!important}
 .prep-display p{min-height:7em!important}
 .footer{overflow:hidden!important}
}
@media(prefers-reduced-motion:reduce){.floating-note{transition:none!important}}

.hero-stage{overflow:visible!important;position:relative!important}
.hero-stage .floating-note{bottom:-32px!important;left:clamp(-65px,-4vw,-15px)!important;right:auto!important}
@media(max-width:700px){.hero-stage .floating-note{bottom:-20px!important;left:10px!important}}

/* FDS layout and motion corrections: final override (2026-10-22). */
/* Desktop: graphic card hangs below-left of the image; mobile: fully inside the image. */
@media(min-width:941px){
 .hero-stage{position:relative!important;overflow:visible!important}
 .hero-stage>.floating-note{position:absolute!important;left:-74px!important;right:auto!important;top:auto!important;bottom:-60px!important;transform:none!important;z-index:5!important}
 .hero-stage>.floating-note:hover{transform:translateY(-9px) rotate(-1deg)!important}
}
@media(min-width:701px) and (max-width:940px){
 .hero-stage>.floating-note{position:absolute!important;left:-26px!important;right:auto!important;top:auto!important;bottom:-24px!important;z-index:5!important}
}
@media(max-width:700px){
 .hero-stage{position:relative!important;overflow:hidden!important}
 .hero-stage>.floating-note,.hero-stage>.floating-note.motion-note{position:absolute!important;top:auto!important;right:auto!important;left:14px!important;bottom:14px!important;width:min(310px,calc(100% - 28px))!important;max-width:calc(100% - 28px)!important;z-index:5!important;margin:0!important}
 .hero-stage>.floating-note:hover{transform:none!important}
 .hero-layout .hero-stage{min-height:350px!important}
 /* Each introductory sentence gets its own line. */
 .intro-statement .intro-sentence{display:block!important;width:100%!important}
 .services .section-heading h2,.situations .section-heading h2,.situations .section-heading>div,.services .section-heading>div{text-align:center!important}
 .services .section-heading .section-kicker,.situations .section-heading .section-kicker{justify-content:center!important}
 .situation-card .situation-title{text-align:center!important;width:100%!important}
 .approach-decoration{display:flex!important;flex-direction:row!important;justify-content:center!important;align-items:center!important;width:max-content!important;max-width:100%!important;margin:28px auto 0!important;gap:clamp(14px,6vw,34px)!important}
 .approach-decoration>span{flex:0 0 auto!important}
}
/* Process diagram: three decorative columns centered horizontally as a row. */
.approach-decoration{justify-content:center!important;align-items:center!important}
/* Bring standards description closer to title, without vertical misalignment. */
@media(min-width:1000px){
 .standards-note{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)!important;column-gap:clamp(12px,1.7vw,24px)!important;align-items:center!important}
 .standards-note>p{max-width:none!important;justify-self:stretch!important}
}
/* The old !important rule disabled every flow animation. Keep stable panel baseline. */
.outcome-visual .flow-detail-inner{visibility:visible;opacity:1}
.outcome-visual .flow-detail{overflow:visible!important;min-height:208px!important}
.outcome-visual .flow-detail h3,.outcome-visual .flow-detail p{opacity:1!important;visibility:visible!important}
@media(prefers-reduced-motion:reduce){.hero-stage>.floating-note:hover{transform:none!important}}

/* MOTION CORRECTION: single authoritative positioning and baseline rules. */
.hero-stage { position:relative!important; overflow:visible!important; isolation:isolate; }
.hero-stage > .floating-note, .hero-stage > .floating-note.motion-note {
 position:absolute!important; inset:auto auto -62px -74px!important;
 width:min(335px,82%)!important; max-width:335px!important;
 margin:0!important; z-index:9!important;
 transform:translate3d(0,0,0)!important;
 transition:transform 1.25s cubic-bezier(.22,1,.36,1),box-shadow 1.25s cubic-bezier(.22,1,.36,1)!important;
 animation:none!important;
}
@media (hover:hover) and (pointer:fine) {
 .hero-stage > .floating-note:hover,.hero-stage > .floating-note.motion-note:hover {
  transform:translate3d(-8px,-12px,0) rotate(-1deg)!important;
 }
}
/* Align the bottoms of the three bars, retaining their natural different heights. */
.approach-decoration {display:flex!important;flex-direction:row!important;justify-content:center!important;align-items:flex-end!important;align-content:end!important;gap:clamp(16px,4vw,30px)!important;margin-inline:auto!important;}
.approach-decoration > span {align-self:flex-end!important;flex-grow:0!important;flex-shrink:0!important;transform-origin:bottom center!important;}
/* An isolated visual viewport for cross-faded content; no opacity overrides on child copy. */
.outcome-visual .flow-detail {position:relative!important;overflow:hidden!important;min-height:220px!important;}
.outcome-visual .flow-detail-inner {position:relative;opacity:1;transform:none;filter:none;}
.outcome-visual .flow-detail-inner.flow-old {position:absolute;inset:0;pointer-events:none;}
@media (max-width:940px) {
 .hero-stage>.floating-note,.hero-stage>.floating-note.motion-note {inset:auto auto -24px -25px!important;width:min(315px,86%)!important;max-width:315px!important;}
}
@media (max-width:700px) {
 .hero-stage {overflow:hidden!important;}
 .hero-stage>.floating-note,.hero-stage>.floating-note.motion-note {inset:auto auto 14px 14px!important;width:min(310px,calc(100% - 28px))!important;max-width:calc(100% - 28px)!important;}
 .hero-stage>.floating-note.motion-note {animation:note-mobile-arrive 1.35s cubic-bezier(.16,1,.3,1) both!important;}
 .hero-stage>.floating-note.motion-note.is-energized {animation:note-mobile-pulse 1.45s cubic-bezier(.16,1,.3,1) both!important;}
 .services .section-heading,.situations .section-heading {display:flex!important;flex-direction:column!important;align-items:center!important;width:100%!important;text-align:center!important;}
 .services .section-heading h2,.situations .section-heading h2 {text-align:center!important;align-self:center!important;margin-inline:auto!important;width:100%!important;}
 .services .section-heading h2 *, .situations .section-heading h2 * {text-align:inherit!important;}
 .approach-decoration {align-items:flex-end!important;justify-content:center!important;}
 .approach-decoration>span {align-self:flex-end!important;}
}
@keyframes note-mobile-arrive {from{opacity:.75;filter:blur(5px);scale:.96}to{opacity:1;filter:blur(0);scale:1}}
@keyframes note-mobile-pulse {0%{filter:brightness(1);scale:1}40%{filter:brightness(1.22);scale:1.035}100%{filter:brightness(1);scale:1}}
@media(prefers-reduced-motion:reduce){.hero-stage>.floating-note.motion-note{animation:none!important;transition:none!important}}

/* Final stability corrections — no clipping; bar bottoms on a shared baseline. */
@media (min-width:701px) {
 .hero-stage {overflow:visible!important;}
 .hero-stage > .floating-note,
 .hero-stage > .floating-note.motion-note {
   top:auto!important;right:auto!important;bottom:12px!important;
   left:clamp(-36px,-2.1vw,-14px)!important;
   width:min(335px,calc(100% - 12px))!important;
   max-width:335px!important;
 }
}
@media (max-width:700px) {
 .hero-stage {overflow:hidden!important;}
 .hero-stage > .floating-note,
 .hero-stage > .floating-note.motion-note {
   inset:auto auto 14px 14px!important;
   max-width:calc(100% - 28px)!important;
 }
}
.approach-decoration {
 display:grid!important;
 grid-template-columns:repeat(3,38px)!important;
 grid-template-rows:125px!important;
 justify-content:center!important;
 align-items:end!important;
 justify-items:center!important;
 align-content:end!important;
 height:125px!important;
 min-height:125px!important;
 width:max-content!important;
 margin:28px auto 0!important;
 gap:clamp(15px,4vw,30px)!important;
}
.approach-decoration > span {
 display:block!important;
 width:38px!important;
 align-self:end!important;
 justify-self:center!important;
 margin:0!important;
 position:relative!important;
 inset:auto!important;
}
.approach-decoration > span:nth-child(1){height:48px!important}
.approach-decoration > span:nth-child(2){height:85px!important}
.approach-decoration > span:nth-child(3){height:120px!important}
@media(max-width:390px){.approach-decoration{grid-template-columns:repeat(3,32px)!important}.approach-decoration>span{width:32px!important}}
/* The flow text is animated as a whole. No !important opacity/transform on this layer. */
.outcome-visual .flow-detail {position:relative!important;overflow:hidden!important;min-height:220px!important}
.outcome-visual .flow-detail-inner {opacity:1;filter:none;transform:none;will-change:opacity,transform,filter}
.outcome-visual .flow-detail-inner.flow-old {position:absolute;inset:0;pointer-events:none}
@media(prefers-reduced-motion:reduce){.outcome-visual .flow-detail-inner{will-change:auto}}


/* Visual stability fixes: shared baseline, tighter methods, single-layer outcome. */
.approach-decoration {
  position:relative!important;display:block!important;
  width:210px!important;height:132px!important;min-height:132px!important;
  margin:28px auto 0!important;overflow:visible!important;
  align-items:unset!important;align-content:unset!important;
}
.approach-decoration > span {
  position:absolute!important;bottom:0!important;top:auto!important;
  display:block!important;width:38px!important;margin:0!important;
  transform-origin:bottom center!important;
  align-self:auto!important;justify-self:auto!important;
}
.approach-decoration > span:nth-child(1){left:18px!important;height:48px!important}
.approach-decoration > span:nth-child(2){left:86px!important;height:85px!important}
.approach-decoration > span:nth-child(3){left:154px!important;height:120px!important}
@media(max-width:390px){.approach-decoration{width:186px!important}.approach-decoration>span{width:34px!important}.approach-decoration>span:nth-child(1){left:12px!important}.approach-decoration>span:nth-child(2){left:76px!important}.approach-decoration>span:nth-child(3){left:140px!important}}
@media(min-width:1000px) {
  .standards-note{grid-template-columns:minmax(0,1fr) minmax(0,1.26fr)!important;gap:8px!important;align-items:center!important}
  .standards-note>p{font-size:clamp(13px,1.08vw,16px)!important;line-height:1.6!important;letter-spacing:-.018em!important;margin:0!important;max-width:none!important}
  .standards-note h3{font-size:clamp(17px,1.4vw,23px)!important}
}
.outcome-visual .flow-detail{
  position:relative!important;display:flex!important;align-items:flex-start!important;
  height:225px!important;min-height:225px!important;max-height:225px!important;
  overflow:hidden!important;contain:layout!important;
}
.outcome-visual .flow-detail-inner{position:relative!important;width:100%!important;flex:none!important;margin:0!important}
.outcome-visual .flow-detail-inner.flow-old{display:none!important}
@media(max-width:700px){.outcome-visual .flow-detail{height:255px!important;min-height:255px!important;max-height:255px!important}}
@media(prefers-reduced-motion:reduce){.outcome-visual .flow-detail-inner{opacity:1!important;filter:none!important;transform:none!important}}
