:root{--forest:#102e25;--forestDeep:#0c211b;--cream:#f7f5ed;--paper:#fffefa;--ink:#182725;--dim:#566167;--gold:#bc7833;--line:#dadfd9;--serif:'Fraunces',Georgia,'Times New Roman',serif;--sans:'DM Sans',Arial,sans-serif;--max:2200px;--pad:clamp(24px,4.2vw,112px)}
*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,h4,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:500;letter-spacing:-.05em}h1{font-size:clamp(52px,4.8vw,106px);line-height:1.03}h2{font-size:clamp(32px,3vw,65px);line-height:1.13}h3{letter-spacing:-.025em}p{line-height:1.68}svg.icon{width:19px;height:19px;flex-shrink:0}.skip{position:absolute;left:-10000px;top:0;background:#fff;color:#111;z-index:100}.skip:focus{left:20px;top:20px;padding:15px}.scroll-progress{position:fixed;inset:0 auto auto 0;height:3px;width:0;background:var(--gold);z-index:500;transition:width .08s linear}.section-pad{padding:clamp(62px,6.4vw,120px) var(--pad)}.eyebrow,.label-uppercase{font-size:clamp(10px,.8vw,13px);letter-spacing:.21em;font-weight:700;text-transform:uppercase}.eyebrow{margin-bottom:22px}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;min-height:50px;padding:14px 21px;font-weight:700;font-size:13px;border:1px solid transparent;border-radius:3px;white-space:normal;transition:background .2s,transform .2s,border-color .2s}.btn:hover{transform:translateY(-2px)}.btn .icon{width:18px}.btn-forest{background:var(--forest);color:white}.btn-forest:hover{background:#24503e}.btn-paper{background:rgba(255,255,255,.86);border-color:#c7cfca;color:var(--ink)}.btn-paper:hover{border-color:#657b70}.btn-ghost{border:1px solid #c0d5ce;color:#fff;background:transparent;border-radius:80px}.btn-ghost:hover{background:#ffffff14}.text-link{font-size:13px;font-weight:700;display:inline-flex;align-items:center;gap:16px;border-bottom:1px solid var(--ink);padding-bottom:8px}.text-link .icon{width:17px}.play-dot{width:28px;height:28px;border:1px solid #7b9690;border-radius:50%;display:grid;place-items:center;font-size:10px;padding-left:2px}.js-ready .reveal{opacity:0;transform:translateY(23px);transition:opacity .72s ease,transform .72s cubic-bezier(.2,.6,.2,1)}.js-ready .reveal.is-visible{opacity:1;transform:none}
/* Header - small, authoritative and readable */
.site-header{height:83px;position:sticky;top:0;z-index:1000;background:#fffdf9;border-bottom:1px solid #ccd4cf;box-shadow:0 3px 18px rgba(12,33,27,.045)}.header-inner{height:100%;width:min(100%,var(--max));padding:0 var(--pad);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:16px;min-width:275px}.a-mark{width:44px;height:47px;color:var(--forest);flex-shrink:0}.brand>span,.footer-brand>span{display:flex;flex-direction:column}.brand strong{font:500 clamp(19px,1.5vw,27px) var(--serif);letter-spacing:-.04em}.brand small{font-size:10px;color:#586b66;letter-spacing:.07em;margin-top:4px}.desktop-nav{display:flex;gap:clamp(17px,2.2vw,47px);align-items:center;margin-inline:auto}.desktop-nav a{font-size:13px;white-space:nowrap;transition:color .2s}.desktop-nav a:hover{color:var(--gold)}.desktop-nav a:first-child{position:relative;font-weight:700}.desktop-nav a:first-child:after{content:'';position:absolute;bottom:-12px;left:0;width:100%;height:2px;background:var(--forest)}.header-actions{min-width:138px;display:flex;align-items:center;gap:16px;justify-content:flex-end}.language{color:var(--forest);font-size:13px;font-weight:600}.menu-toggle{background:none;border:0;color:var(--forest);padding:9px;display:grid;place-items:center}.menu-toggle svg{width:24px;height:24px}.mobile-nav{position:absolute;z-index:50;top:82px;left:0;right:0;background:#faf9f5;box-shadow:0 20px 40px #11231d25;display:flex;flex-direction:column;padding:24px var(--pad);gap:20px}.mobile-nav[hidden]{display:none}.mobile-nav a{font-size:17px;font-weight:600;border-bottom:1px solid #dbe1da;padding:8px 0}
/* Three part hero */
.hero{display:grid;grid-template-columns:minmax(0,45%) minmax(0,34%) minmax(205px,21%);min-height:clamp(530px,38vw,790px);max-width:var(--max);margin:auto;position:relative;isolation:isolate;background:#f7f7f1}.hero-copy{display:flex;align-items:center;background:radial-gradient(circle at 95% 6%,#ece7dd 0,transparent 41%),linear-gradient(110deg,#fffefd,#f4f1e8);padding:clamp(40px,5.1vw,110px) 0 clamp(44px,6vw,120px) var(--pad);position:relative;z-index:2}.hero-copy:after{content:'';position:absolute;z-index:-1;top:0;bottom:0;inset-inline-end:-32px;width:110px;background:linear-gradient(90deg,#f5f3ed,transparent);pointer-events:none}.hero-inner{max-width:760px}.hero .eyebrow{color:#344f49}.hero h1{margin:0 0 clamp(22px,2.2vw,37px);max-width:860px}.hero p{font-size:clamp(14px,1.1vw,20px);color:#405159;max-width:590px;margin-bottom:28px}.hero-buttons{display:flex;gap:14px;flex-wrap:wrap}.hero-photo{height:100%;min-height:530px;position:relative;overflow:hidden;background:#d6d2c9}.hero-photo img{height:100%;width:100%;object-fit:cover;object-position:51% 27%;position:absolute;inset:0}.hero-photo:before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#f3f0e5 0%,transparent 18%,transparent 90%,#16312710 100%);pointer-events:none}.hero-rail{display:grid;grid-template-columns:63% 37%;min-height:100%;color:#fff;background:var(--forestDeep)}.rail-statement{padding:clamp(58px,5vw,120px) 15% 28px 16%;display:flex;gap:16px;background:linear-gradient(90deg,#122e25,#0c211b);min-width:0}.rail-gold-rule{width:2px;min-width:2px;height:clamp(160px,19vw,320px);background:#c89d60;flex-shrink:0}.rail-statement>div:last-child{min-width:0}.rail-statement span{font:500 clamp(18px,1.4vw,30px)/1.35 var(--serif);display:block}.rail-statement em{font:italic clamp(14px,1.2vw,26px)/1.3 Georgia,serif;display:block;margin-top:14px;color:#ede5d7}.rail-statement ul{list-style:none;margin:clamp(30px,5vw,85px) 0 0;padding:0;display:grid;gap:11px;font:400 clamp(13px,1vw,21px)/1.2 var(--serif)}.rail-scenery{background:linear-gradient(145deg,#1b302d91,#0d252799),radial-gradient(ellipse at 20% 0,#465d58 0,transparent 40%),linear-gradient(155deg,#5c746c 23%,#152f31 23% 37%,#425857 37% 49%,#0d2020 49% 61%,#1d3b3d 61% 75%,#0a2423 75%);position:relative;overflow:hidden}.rail-scenery:after{content:'';position:absolute;width:180%;height:50%;bottom:-12%;left:-30%;transform:rotate(-23deg);background:linear-gradient(170deg,#203a35,#091a18);clip-path:polygon(0 80%,30% 40%,48% 67%,63% 20%,100% 81%,100% 100%,0 100%);opacity:.88}.rail-scenery span{position:absolute;writing-mode:vertical-rl;inset:50% auto auto 50%;transform:translate(-50%,-50%);font-size:12px;letter-spacing:.06em;z-index:2;white-space:nowrap;color:#f5f7f0}
/* Value section */
.capabilities{width:min(100%,var(--max));margin:auto;display:grid;grid-template-columns:minmax(220px,26%) minmax(0,1fr);gap:clamp(35px,5vw,95px);align-items:center;background:#fffefa;padding-block:clamp(58px,5vw,100px)}.cap-heading h2{margin:0 0 18px}.cap-heading p{font-size:14px;color:#526262;max-width:370px;margin-bottom:20px}.cap-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0}.capability{padding:3px clamp(8px,1vw,22px) 0;border-inline-start:1px solid #dfe5df;min-width:0;min-height:190px}.cap-icon{color:#bd6e1b;display:block;margin-bottom:18px}.cap-icon .icon{width:clamp(28px,2.7vw,45px);height:clamp(28px,2.7vw,45px);stroke-width:1.5}.capability h3{font:500 clamp(15px,1.13vw,21px)/1.2 var(--serif);margin:0 0 13px}.capability p{font-size:clamp(11px,.82vw,14px);color:#60706b;margin:0;line-height:1.6}
/* Editorial featured portfolio */
.featured{background:radial-gradient(circle at 15% -35%,#315144 0,#102d25 58%);color:#fff;display:grid;grid-template-columns:minmax(235px,20%) minmax(0,1fr);align-items:stretch;gap:clamp(28px,3.1vw,68px)}.featured h2{color:#fff;margin:0 0 22px;font-size:clamp(31px,2.8vw,58px)}.featured-intro>p{font-size:14px;color:#d1ddd4;max-width:340px;margin-bottom:34px}.featured-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1vw,24px);align-items:stretch}.featured-card{background:#fff;color:var(--ink);border-radius:4px;overflow:hidden;display:flex;flex-direction:column;transition:transform .25s ease,box-shadow .25s ease;cursor:pointer;outline-offset:4px}.featured-card:hover,.featured-card:focus-visible{transform:translateY(-7px);box-shadow:0 22px 48px #061d1870}.project-visual{height:clamp(130px,10.1vw,210px);background:#0b231d;overflow:hidden}.project-visual>img{width:100%;height:100%;object-fit:cover;object-position:20% 35%;transition:transform .35s ease}.featured-card:hover .project-visual>img{transform:scale(1.035)}.featured-card-body{padding:clamp(14px,1.3vw,24px);display:flex;flex-direction:column;gap:9px;flex:1}.mini-label{font-size:10px;color:#68787a;letter-spacing:.02em}.featured-card h3{font:500 clamp(16px,1.3vw,26px)/1.16 var(--serif);margin:0}.featured-card p{font-size:clamp(12px,.84vw,14px);color:#4e5c5b;margin:0 0 10px;flex:1;line-height:1.57}.card-meta{display:flex;gap:10px;align-items:center;justify-content:space-between;border-top:1px solid #edf0ec;padding-top:12px;font-size:10px;color:#7c8585}.round-arrow{border:1px solid #dde4dd;border-radius:50%;width:28px;height:28px;display:grid;place-items:center;color:var(--forest)}.round-arrow svg{width:14px}.handover-visual{height:100%;background:linear-gradient(145deg,#24483d,#051a1a);display:grid;place-items:center;padding:16px}.mini-desk{width:100%;max-width:310px;background:#f7faf7;border-radius:8px;border:4px solid #1a4241;padding:12px;box-shadow:0 10px 35px #050c0e80}.mini-title{color:#1a4034;font-size:10px;font-weight:800;display:flex;justify-content:space-between;gap:6px}.mini-title span{font-size:8px;color:#a4aaa4}.mini-steps{display:flex;align-items:center;gap:3px;margin:14px 0}.mini-steps b{font-size:8px;flex:1;background:#e0f1e9;color:#134b37;padding:6px 3px;text-align:center}.mini-steps b:last-child{background:#b8e4cf}.mini-row{height:23px;border:1px solid #d9e6de;background:#fff;color:#8b9b91;font-size:8px;padding:6px}.ai-visual{height:100%;display:grid;place-items:center;background:radial-gradient(circle at center,#174d64,#0e2129 66%);position:relative;overflow:hidden}.ai-visual:before{content:'';position:absolute;inset:0;opacity:.22;background:repeating-linear-gradient(90deg,transparent 0 27px,#28b3ce 28px 29px),repeating-linear-gradient(0deg,transparent 0 27px,#28b3ce 28px 29px)}.ai-core{position:relative;z-index:1;color:#ddfbff;font:600 36px var(--serif);padding:15px 30px;border:2px solid #7ccce2;box-shadow:0 0 30px #2cdef055;background:#19495c;border-radius:8px}.ai-node{position:absolute;background:#06242b;border:1px solid #267f91;color:#b5eafa;padding:6px 10px;font:700 9px var(--sans);z-index:1;border-radius:4px}.n1{top:10%;left:9%}.n2{top:14%;right:8%}.n3{bottom:12%;left:10%}.n4{bottom:16%;right:7%}
/* Product gallery */
.inside{background:#faf9f4}.inside-top{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:30px}.inside-top h2{margin:0 0 12px}.inside-top p{max-width:740px;color:#596965;font-size:15px;margin:0}.inside-id{font-size:14px;letter-spacing:.12em;color:#375a50;text-align:end;font-weight:700;white-space:nowrap}.inside-id small{display:block;letter-spacing:.08em;font-size:10px;color:#829089;margin-top:6px}.product-frame{background:#122e2a;border:1px solid #25473d;border-radius:12px;overflow:hidden;box-shadow:0 24px 55px #0d261d1c}.product-topbar{height:45px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;border-bottom:1px solid #ffffff24;color:#bdd0c9;font-size:11px;letter-spacing:.07em}.browser-dots{display:flex;gap:6px}.browser-dots i{width:8px;height:8px;border-radius:50%;background:#a7beb8}.browser-dots i:first-child{background:#a57c6d}.browser-dots i:last-child{background:#6d9e90}.product-view-icon .icon{width:16px}.product-image{height:clamp(290px,39vw,720px);display:flex;align-items:center;justify-content:center;padding:clamp(13px,2vw,30px)}.product-image img{width:100%;height:100%;object-fit:contain;object-position:center;border-radius:6px;box-shadow:0 8px 30px #0005}.product-foot{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:20px 25px;background:#fff;color:var(--ink)}.product-foot p{margin:0;font-size:13px;max-width:420px}.gallery-tabs{display:flex;flex-wrap:wrap;gap:6px}.gallery-tab{padding:10px 12px;border:1px solid #d1dbd4;background:#fff;color:#4b6055;border-radius:40px;font-size:11px;font-weight:600}.gallery-tab[aria-selected=true]{background:var(--forest);color:#fff;border-color:var(--forest)}.deeper{padding-top:70px}.deeper-title{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:30px}.deeper-title h3{font:500 clamp(29px,2.4vw,47px) var(--serif);margin:0}.deeper-title p{color:#667570;font-size:14px;margin:0}.deeper-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.depth-card{display:flex;text-align:start;gap:26px;background:#fff;border:1px solid #dfe6df;border-radius:4px;padding:25px;color:var(--ink);min-height:165px}.depth-card:hover{border-color:#6d9886;background:#f4f8f3}.depth-count{font-size:12px;color:#b8792b;font-weight:800}.depth-card>span:last-child{display:flex;flex-direction:column}.depth-card strong{font:500 22px var(--serif)}.depth-card small{margin:12px 0;color:#687a72;font-size:12px;line-height:1.55}.depth-card em{margin-top:auto;font-size:12px;font-weight:700;font-style:normal;display:inline-flex;align-items:center;gap:10px}.depth-card em svg{width:15px}
/* Proof section */
.proof{background:#fffefa;padding-block:clamp(55px,5.2vw,100px)}.proof h2{font-size:clamp(27px,2.5vw,48px);margin-bottom:32px}.proof-layout{display:grid;grid-template-columns:1.45fr 2.1fr .77fr .75fr;gap:clamp(22px,2.5vw,54px);align-items:stretch}.proof-layout>div,.proof-layout>.recognition{min-width:0}.proof-layout>*+*{border-inline-start:1px solid #d8e0d9;padding-inline-start:clamp(20px,2vw,46px)}.label-uppercase{color:#53685f;margin-bottom:22px;line-height:1.5;font-size:11px}.org-logos{display:flex;align-items:center;gap:22px;min-height:85px}.org-img{object-fit:contain;max-width:48%;max-height:88px;min-width:0}.org-img.nhci{width:50%;object-position:left center}.org-img.wareef{width:43%;mix-blend-mode:multiply}.proof-disclaimer{margin:13px 0 0;color:#77877f;font-size:10px;max-width:380px}.tech-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 14px}.tech-logo{height:41px;min-width:0;display:grid;place-items:center}.tech-logo img{max-height:35px;width:100%;object-fit:contain}.recognition{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#133c2f;background:#edf2ea;padding:22px 12px!important;border-inline-start:none!important;text-align:center;min-height:175px}.recognition:hover{background:#e1eadd}.recognition>span:first-child{font-size:10px;letter-spacing:.12em}.recognition b{font:600 clamp(31px,3vw,57px) var(--serif);line-height:1.12}.recognition small{font-size:10px;font-weight:800;letter-spacing:.16em;line-height:1.55}.rec-more svg{margin-top:12px;width:13px;height:13px}.experience b{font:500 clamp(41px,3.2vw,70px) var(--serif);display:block;line-height:1}.experience strong{display:block;margin:8px 0;font:500 20px var(--serif)}.experience p{color:#5b6c64;font-size:13px}.experience a{display:inline-flex;align-items:center;gap:8px;text-decoration:underline;font-size:11px;font-weight:700}.experience .icon{width:15px}
/* Method section */
.approach{display:grid;grid-template-columns:.8fr 1.8fr;gap:clamp(40px,7vw,145px);align-items:center;background:#f1f2ec}.approach-copy h2{margin:0 0 20px}.approach-copy p{font-size:14px;color:#53635d;max-width:500px}.stage-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;position:relative}.stage-row:before{content:'';position:absolute;top:19px;left:0;right:0;height:1px;background:#adc0b0}.stage{padding:60px 20px 0 0;position:relative}.stage:before{content:'';position:absolute;top:13px;left:1px;width:14px;height:14px;border:3px solid var(--forest);background:#f1f2ec;border-radius:50%}.stage-number{font-size:11px;color:#b17c40;font-weight:800}.stage h3{font:500 20px var(--serif);margin:15px 0 8px}.stage p{font-size:12px;color:#56665f}
/* Closing with background image, HTML typography and an actual interactive enquiry */
.closing{display:grid;grid-template-columns:53% 47%;min-height:530px}.philosophy{background:#132632 url("assets/riyadh-philosophy.webp") center center/cover no-repeat;position:relative;overflow:hidden;color:#fff;padding:clamp(48px,5.2vw,120px) clamp(35px,5vw,110px);display:flex;align-items:center;isolation:isolate}.philosophy:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#071e2ba8 0%,transparent 80%)}.philosophy-content{max-width:680px}.philosophy h2{font-size:clamp(32px,3.4vw,70px);line-height:1.11;margin:0 0 30px}.philosophy .eyebrow{font-size:11px;color:#f1e0ce}.signature{font:italic clamp(28px,3.6vw,67px) 'Brush Script MT','Segoe Script',cursive;margin:20px 0 2px;letter-spacing:.01em}.philosophy small{font-size:12px;letter-spacing:.08em}.connect{padding:clamp(48px,5.5vw,120px) clamp(30px,5.2vw,116px);background:#fffefa;display:flex;align-items:center}.connect-content{max-width:640px}.connect h2{font-size:clamp(36px,3.2vw,67px);margin:0 0 18px}.connect p{font-size:clamp(13px,.98vw,17px);color:#596b64;max-width:510px}.connect-buttons{display:flex;gap:10px;flex-wrap:wrap;margin:27px 0 35px}.next-steps{margin:0;padding:0;display:grid;gap:16px;list-style:none;position:relative}.next-steps:before{content:'';height:80%;width:1px;background:#daa45d;position:absolute;top:16px;left:15px}.next-steps li{display:flex;align-items:start;gap:20px;position:relative}.next-steps li>span{flex-shrink:0;border:1px solid #bd7b2e;background:#fffdf9;border-radius:50%;width:32px;height:32px;display:grid;place-items:center;font-size:11px;font-weight:800;color:#8d632c}.next-steps li div{display:flex;flex-direction:column;gap:3px}.next-steps li strong{font-size:13px}.next-steps li small{font-size:12px;color:#7e8b85}
.footer{background:#0e261d;color:#e5eee8;display:grid;grid-template-columns:1fr 1fr auto;gap:30px;align-items:center;padding:36px var(--pad);font-size:12px}.footer-brand{display:flex;align-items:center;gap:12px;font:500 21px var(--serif)}.footer-brand .a-mark{width:37px;height:40px;color:#fff}.footer-brand small{display:block;font:700 9px var(--sans);letter-spacing:.15em;margin-top:3px}.footer p{color:#b4c6b8;margin:0}.footer-links{display:flex;gap:22px;font-weight:700}.footer>small{color:#9eb5a8;grid-column:1/-1;font-size:10px}
/* Dialogs */
dialog{border:0;border-radius:9px;color:var(--ink);width:min(92vw,860px);max-height:88vh;overflow:auto;box-shadow:0 30px 100px #08221e7d;padding:clamp(28px,4vw,62px);background:#fffcf6}dialog::backdrop{background:#0b201bb8;backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:20px;top:20px;border:1px solid #d8ded7;border-radius:50%;background:#fff;padding:9px;display:grid;place-items:center}.dialog-close:hover{background:#e3eae4}.dialog-kicker{font:700 11px var(--sans);letter-spacing:.2em;color:#74847b}.portfolio-dialog h2,.contact-dialog h2{font-size:clamp(35px,4.1vw,63px);line-height:1.06;margin:25px 0 15px}.dialog-subtitle{display:block;color:#9a713a;font-size:14px;font-weight:700;margin-bottom:30px}.dialog-columns{display:grid;grid-template-columns:1fr .82fr;gap:40px;margin:20px 0 35px}.dialog-columns h3{font:500 25px var(--serif);margin-bottom:12px}.dialog-columns p,.dialog-columns li{font-size:14px;color:#56655f;line-height:1.75}.dialog-outputs{padding-inline-start:22px}.dialog-outputs li{margin-bottom:9px}.contact-dialog{max-width:770px}.contact-dialog .eyebrow{color:#9a753b}.contact-dialog .modal-intro{color:#53655b;max-width:550px}.contact-progress{display:flex;gap:8px;margin:26px 0}.contact-progress span{height:4px;border-radius:3px;background:#dae5dc;flex:1}.contact-progress span.is-active{background:#b67b39}.contact-stage[hidden]{display:none}.contact-stage label,.modal-field-label{font-weight:700;font-size:13px;display:block;margin:16px 0 10px}.problem-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.problem-choice{padding:14px 10px;background:#f4f6f0;border:1px solid #d5dfd6;color:#405b50;text-align:start;font-size:12px;font-weight:700;border-radius:4px}.problem-choice[aria-pressed=true]{background:#183d2f;color:#fff;border-color:#183d2f}.contact-stage textarea,.contact-stage input{width:100%;background:#fff;border:1px solid #bcccbf;border-radius:4px;padding:14px;outline:0;color:#182a23}.contact-stage textarea:focus,.contact-stage input:focus{border-color:#317f61;box-shadow:0 0 0 3px #317f6122}.modal-next{margin-top:18px;width:100%}.contact-stage h3{font:500 31px var(--serif)}.fields-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.fields-2 label{min-width:0}.form-actions{display:flex;justify-content:space-between;gap:14px;margin-top:28px}.form-error{color:#a33122;font-size:13px;font-weight:700}.form-error[hidden]{display:none}.form-notice{font-size:11px;color:#728077;margin:22px 0 0}
/* Small laptop / tablet */
@media(max-width:1450px){:root{--pad:clamp(20px,4vw,70px)}.hero{grid-template-columns:46% 33% 21%}.hero h1{font-size:clamp(46px,4.6vw,76px)}.hero-photo{min-height:500px}.hero-rail{grid-template-columns:68% 32%}.rail-statement{padding-inline:12% 8%}.featured{grid-template-columns:190px minmax(0,1fr);gap:24px}.featured-grid{gap:11px}.featured-card-body{padding:15px}.featured-card h3{font-size:18px}.featured-card p{font-size:12px}.proof-layout{grid-template-columns:1.1fr 1.6fr .72fr .65fr;gap:16px}.proof-layout>*+*{padding-inline-start:18px}}
@media(max-width:1150px){.site-header{background:#fffcf8}.language,.menu-toggle{color:var(--forest)}.desktop-nav{gap:16px}.brand{min-width:230px}.header-actions{min-width:60px}.hero{grid-template-columns:51% 34% 15%;min-height:560px}.hero-copy{padding-inline-start:var(--pad)}.hero h1{font-size:clamp(40px,4.8vw,65px)}.hero-rail{display:block}.rail-statement{height:100%;padding:88px 9px 15px 13px;gap:6px}.rail-gold-rule{height:225px}.rail-statement span{font-size:17px}.rail-statement em{font-size:14px}.rail-statement ul{font-size:12px;margin-top:35px}.rail-scenery{display:none}.capabilities{grid-template-columns:1fr;gap:28px}.cap-heading{max-width:650px}.cap-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.capability{min-height:165px}.featured{grid-template-columns:1fr}.featured-intro{display:grid;grid-template-columns:1fr 1.5fr auto;gap:16px 24px;align-items:center}.featured-intro .eyebrow{grid-column:1/-1;margin-bottom:0}.featured-intro h2{margin:0}.featured-intro p{margin:0}.featured-intro .btn{white-space:nowrap}.project-visual{height:150px}.featured-grid{gap:16px}.proof-layout{grid-template-columns:1fr 1.2fr .65fr;gap:16px}.experience{grid-column:1/-1;border-inline-start:0!important;border-top:1px solid var(--line);padding-inline-start:0!important;padding-top:20px;display:flex;gap:12px;align-items:center}.experience b{font-size:36px}.experience strong,.experience p{margin:0}.experience a{margin-inline-start:auto}.approach{grid-template-columns:1fr}.stage-row{margin-top:0}}
@media(max-width:850px){:root{--pad:25px}.site-header{height:70px}.header-inner{gap:10px}.brand{min-width:0}.brand strong{font-size:21px}.brand small{font-size:9px}.brand .a-mark{width:37px;height:40px}.desktop-nav{display:none}.header-actions{gap:17px}.mobile-nav{top:70px}.hero{grid-template-columns:58% 42%;min-height:570px}.hero-copy{padding:35px 10px 45px var(--pad)}.hero h1{font-size:clamp(43px,6vw,65px)}.hero-photo{min-height:570px}.hero-rail{display:none}.hero-inner p{font-size:15px}.cap-grid{grid-template-columns:repeat(3,1fr);gap:25px 0}.capability{min-height:135px;padding:0 18px}.capability h3{font-size:18px}.capability p{font-size:13px}.featured-intro{display:block}.featured-intro p{max-width:550px;margin-bottom:23px}.featured-intro h2{margin:0 0 15px}.featured-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-visual{height:clamp(170px,25vw,240px)}.featured-card h3{font-size:21px}.featured-card p{font-size:13px}.product-foot{flex-direction:column;align-items:start}.proof-layout{grid-template-columns:1fr 1fr}.proof-layout>*+*{border-inline-start:0;padding-inline-start:0}.proof-tech{border-inline-start:1px solid var(--line)!important;padding-inline-start:22px!important}.recognition{min-height:170px}.experience{grid-column:auto;display:flex;flex-direction:column;align-items:start;gap:4px;border-top:0;border-inline-start:1px solid var(--line)!important;padding-top:0;padding-inline-start:22px!important}.experience a{margin:0}.closing{grid-template-columns:1fr}.philosophy{min-height:530px}.connect{min-height:520px}.footer{grid-template-columns:1fr 1fr}.footer-links{grid-column:1/-1}}
@media(max-width:600px){:root{--pad:21px}.site-header{height:67px}.mobile-nav{top:67px}.brand{gap:8px}.brand strong{font-size:18px}.brand small{font-size:8px}.brand .a-mark{width:33px;height:35px}.hero{grid-template-columns:1fr;display:flex;flex-direction:column}.hero-copy{order:0;padding:60px var(--pad) 35px;min-height:0}.hero-copy:after{display:none}.hero h1{font-size:clamp(45px,11vw,65px);margin-bottom:20px}.hero .eyebrow{font-size:9px}.hero p{font-size:15px}.hero-buttons{flex-direction:column;align-items:stretch}.hero-buttons .btn{justify-content:space-between}.hero-photo{height:410px;min-height:0;order:1}.hero-photo img{object-position:50% 23%}.hero-photo:before{background:linear-gradient(0deg,#12292027,transparent 40%)}.hero-rail{display:block;order:2;height:auto;min-height:0}.rail-statement{height:auto;display:flex;gap:18px;padding:22px 26px;align-items:center}.rail-gold-rule{height:100px}.rail-statement span{font-size:14px}.rail-statement em{font-size:12px;margin-top:6px}.rail-statement ul{margin:12px 0 0;display:flex;flex-wrap:wrap;gap:7px 12px;font-size:10px}.rail-scenery{display:none}.capabilities{padding-block:55px}.cap-heading h2{font-size:40px}.cap-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.capability{min-height:175px;padding:22px 15px;border-top:1px solid #e5ebe6}.cap-icon{margin-bottom:12px}.capability h3{font-size:18px}.capability p{font-size:12px}.featured-grid{grid-template-columns:1fr}.featured-card{max-width:500px;width:100%;margin:auto}.project-visual{height:210px}.featured-intro .btn{margin-bottom:10px}.featured{padding-block:60px}.inside-top{display:block}.inside-id{display:block;text-align:start;margin-top:18px}.product-image{height:290px;padding:9px}.product-foot{padding:18px}.gallery-tab{font-size:10px;padding:10px}.deeper{padding-top:50px}.deeper-title{display:block}.deeper-title p{margin-top:9px}.deeper-grid{grid-template-columns:1fr}.depth-card{min-height:130px}.proof h2{font-size:34px}.proof-layout{grid-template-columns:1fr}.proof-tech,.experience{border:0!important;border-top:1px solid #dde6dd!important;padding:23px 0 0!important}.org-logos{justify-content:start}.org-img.nhci{max-width:48%}.org-img.wareef{max-width:43%}.proof-disclaimer{max-width:440px}.tech-grid{grid-template-columns:repeat(4,1fr)}.recognition{min-height:190px;width:min(100%,260px)}.experience{display:block}.experience p{margin:8px 0}.stage-row{grid-template-columns:repeat(2,1fr);gap:20px}.stage-row:before{display:none}.stage{padding:15px;border-top:1px solid #b3c6b7}.stage:before{display:none}.approach h2{font-size:40px}.philosophy{padding:70px var(--pad);min-height:550px;background-position:64% center}.philosophy:after{background:linear-gradient(90deg,#0b212de3 0%,#0b212d99 60%,transparent 100%)}.philosophy h2{font-size:clamp(36px,8.3vw,58px)}.connect{padding:70px var(--pad)}.connect-buttons{flex-direction:column;align-items:stretch}.connect-buttons .btn{justify-content:space-between}.footer{grid-template-columns:1fr;padding:34px var(--pad);gap:17px}.footer-links{grid-column:auto}.footer>small{grid-column:auto}.dialog-columns{grid-template-columns:1fr;gap:12px}.problem-grid{grid-template-columns:repeat(2,1fr)}.fields-2{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.form-actions .btn{justify-content:center}}
/* Very narrow phones */
@media(max-width:360px){:root{--pad:15px}.brand strong{font-size:16px}.brand small{font-size:7px}.hero h1{font-size:43px}.hero-photo{height:350px}.capability{padding-inline:10px}.capability h3{font-size:16px}.capability p{font-size:11px}.language{font-size:11px}.problem-grid{grid-template-columns:1fr}}
/* Ultra-wide: cap readable text while letting premium chapter backgrounds fill the screen */
@media(min-width:2200px){.site-header{background:#fffdf9}.hero{min-height:850px}.hero h1{font-size:105px}.hero p{font-size:20px}.featured,.closing,.footer,.approach{padding-inline:max(var(--pad),calc((100vw - 2240px)/2))}.featured-grid{gap:24px}.featured-card h3{font-size:24px}.project-visual{height:240px}.capability{min-height:210px}.hero-copy{padding-left:85px}.hero-rail{font-size:18px}}
/* RTL refinements */
[dir=rtl] body,[dir=rtl] .site-header,[dir=rtl] dialog{font-family:'IBM Plex Sans Arabic',Tahoma,Arial,sans-serif}[dir=rtl] h1,[dir=rtl] h2,[dir=rtl] h3,[dir=rtl] .capability h3,[dir=rtl] .featured-card h3,[dir=rtl] .stage h3,[dir=rtl] .depth-card strong{font-family:'IBM Plex Sans Arabic',Tahoma,sans-serif;letter-spacing:-.025em;font-weight:600}[dir=rtl] .hero h1{font-size:clamp(39px,4vw,83px);line-height:1.3}[dir=rtl] .hero-photo:before{background:linear-gradient(270deg,#f3f0e5 0%,transparent 18%,transparent 90%,#16312710 100%)}[dir=rtl] .rail-statement{padding-inline:16% 9%}[dir=rtl] .rail-scenery span{writing-mode:vertical-lr}[dir=rtl] .stage-row:before{left:0;right:0}[dir=rtl] .stage{padding:60px 0 0 20px}[dir=rtl] .stage:before{left:auto;right:0}[dir=rtl] .next-steps:before{left:auto;right:15px}[dir=rtl] .philosophy .signature{font-family:'Brush Script MT','Segoe Script',cursive;direction:ltr;text-align:right}[dir=rtl] .portfolio-dialog .dialog-close,[dir=rtl] .contact-dialog .dialog-close{right:auto;left:20px}[dir=rtl] .desktop-nav a:first-child:after{left:auto;right:0}[dir=rtl] .hero-rail{direction:rtl}[dir=rtl] .header-actions{justify-content:flex-start}[dir=rtl] .org-img.nhci{object-position:right center}[dir=rtl] .philosophy:after{background:linear-gradient(270deg,#071e2ba8 0%,transparent 80%)}
@media(max-width:600px){[dir=rtl] .hero h1{font-size:clamp(35px,8.7vw,56px)}[dir=rtl] .philosophy .signature{text-align:right}[dir=rtl] .stage{padding:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition-duration:.01ms!important}.js-ready .reveal{opacity:1!important;transform:none!important}}
/* Hidden skip link must not create 10,000px RTL horizontal overflow. */
.skip{position:fixed;left:12px;top:12px;transform:translateY(-240%);visibility:hidden;z-index:1000}
.skip:focus{left:12px;top:12px;transform:none;visibility:visible;padding:15px;background:#fff;color:#111}


/* ===== APPROVED V7: PHOTOGRAPHY, RESPONSIVE COMPOSITION, TWO COMPLETE THEMES ===== */
:root{color-scheme:light;--page-surface:#fffefa;--soft-surface:#f8f6f0;--body-text:#182725;--body-muted:#57645f;--accent-deep:#102e25;--stroke:#d8e0d9}
html[data-theme="dark"]{color-scheme:dark;--paper:#0d1915;--ink:#edf2eb;--dim:#bbc9bf;--line:#385344;--page-surface:#0f1c17;--soft-surface:#172a21;--body-text:#f1f1e8;--body-muted:#a8bdb0;--accent-deep:#d7aa76;--stroke:#3f574b}
/* Accessible top navigation theme switch; it persists when switching languages. */
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:38px;padding:0 10px;border-radius:999px;background:#fffcf7;border:1px solid #bac9be;color:#16352a;white-space:nowrap;box-shadow:0 1px 4px #102b2015;transition:background .22s,color .22s,border-color .22s}
.theme-toggle svg{width:17px;height:17px}.theme-toggle .sun-icon{display:none}.theme-toggle .theme-label{font-size:12px;font-weight:700}
.theme-toggle:focus-visible{outline:3px solid #bd894f;outline-offset:4px}
html[data-theme="dark"] .theme-toggle{background:#244035;color:#fff6d7;border-color:#7b8977}
html[data-theme="dark"] .theme-toggle .moon-icon{display:none}
html[data-theme="dark"] .theme-toggle .sun-icon{display:block}
/* Portrait direction: look into the story, while preserving hair, face, and shoulders. */
.hero-photo{background:#292827;min-height:0;isolation:isolate}
.hero-photo picture{display:block;width:100%;height:100%;position:relative}
.hero-photo picture img{height:100%;width:100%;object-fit:cover;object-position:50% 33%;transform:scaleX(-1)}
[dir="rtl"] .hero-photo picture img{transform:none}
.hero-photo:before{background:linear-gradient(90deg,#f5f2e8bd 0%,transparent 16%,transparent 100%);pointer-events:none}
[dir="rtl"] .hero-photo:before{background:linear-gradient(270deg,#f5f2e8bd 0%,transparent 16%,transparent 100%)}
@media(min-width:851px){.hero{min-height:clamp(570px,42vw,790px)}}
@media(max-width:1150px){.header-actions{min-width:unset}.theme-toggle{color:#153529;background:#fffdf9;border-color:#c8d1c8}.header-inner{gap:10px}}
@media(max-width:850px){.hero-photo picture img{object-position:center 26%}.header-actions{gap:8px}.theme-toggle{padding:0 8px}.theme-toggle .theme-label{display:none}}
@media(max-width:600px){.hero-photo{height:440px}.hero-photo picture img{object-position:50% 17%;width:100%;height:100%}.hero-photo:before{background:linear-gradient(0deg,#06191424,transparent 33%)}[dir="rtl"] .hero-photo:before{background:linear-gradient(0deg,#06191424,transparent 33%)}.theme-toggle{height:36px;width:36px}.header-actions{gap:4px}.hero-copy{padding-top:50px}.hero-buttons .btn{white-space:normal}}
@media(max-width:360px){.hero-photo{height:385px}.header-inner{gap:5px}}
@media(min-width:2200px){.hero{min-height:840px}.hero-photo picture img{object-position:50% 23%}}
/* Dark-mode design is individually tuned, not an invert() filter that damages photos and logos. */
html[data-theme="dark"] body{background:#0b1612;color:#edf2eb}
html[data-theme="dark"] .site-header{background:#101f19!important;border-bottom-color:#395547}
html[data-theme="dark"] .brand,.site-header a{transition:color .2s}
html[data-theme="dark"] .brand .a-mark{color:#d0bd99}
html[data-theme="dark"] .brand small{color:#bbc8bd}
html[data-theme="dark"] .desktop-nav a{color:#edf0e7}
html[data-theme="dark"] .desktop-nav a:hover,html[data-theme="dark"] .language{color:#d8b98a}
html[data-theme="dark"] .desktop-nav a:first-child:after{background:#cda469}
html[data-theme="dark"] .menu-toggle{color:#f1f0e6}
html[data-theme="dark"] .mobile-nav{background:#14251d;box-shadow:0 20px 35px #0007}
html[data-theme="dark"] .mobile-nav a{border-bottom-color:#3d5144;color:#f3eee2}
html[data-theme="dark"] .hero{background:#101c17}
html[data-theme="dark"] .hero-copy{background:radial-gradient(circle at 97% 15%,#263529,transparent 45%),linear-gradient(115deg,#0e1916,#15231c)}
html[data-theme="dark"] .hero-copy:after{background:linear-gradient(90deg,#16231c,transparent)}
html[data-theme="dark"] .hero .eyebrow{color:#d9b17b}
html[data-theme="dark"] .hero h1{color:#faf9f2}
html[data-theme="dark"] .hero p{color:#c3d1c8}
html[data-theme="dark"] .hero-photo{background:#211e1c}
html[data-theme="dark"] .hero-photo picture img{filter:brightness(.88) contrast(1.03) saturate(.9)}
html[data-theme="dark"] .hero-photo:before{background:linear-gradient(90deg,#17251fa6 0%,transparent 16%)}
[dir="rtl"][data-theme="dark"] .hero-photo:before{background:linear-gradient(270deg,#17251fa6 0%,transparent 16%)}
html[data-theme="dark"] .btn-forest{background:#d1ac78;color:#11241d}
html[data-theme="dark"] .btn-forest:hover{background:#f1c88e}
html[data-theme="dark"] .btn-paper{background:#20352b;color:#f8f4e9;border-color:#63766c}
html[data-theme="dark"] .btn-paper:hover{background:#2b483a;border-color:#d4bb8a}
html[data-theme="dark"] .play-dot{border-color:#e4bd87}
html[data-theme="dark"] .capabilities{background:#101d17}
html[data-theme="dark"] .cap-heading h2,html[data-theme="dark"] .capability h3{color:#faf8ef}
html[data-theme="dark"] .cap-heading p,html[data-theme="dark"] .capability p{color:#b7c8bc}
html[data-theme="dark"] .capability{border-inline-start-color:#395146;border-top-color:#395146}
html[data-theme="dark"] .cap-icon{color:#d29a57}
html[data-theme="dark"] .text-link{color:#f2e2ce;border-bottom-color:#d2ad77}
html[data-theme="dark"] .featured{background:radial-gradient(circle at 20% 0,#1d4331,#091711 75%)}
html[data-theme="dark"] .featured-card{background:#182a22;color:#f0f2e7;border:1px solid #435747}
html[data-theme="dark"] .featured-card h3{color:#f9f3e9}
html[data-theme="dark"] .featured-card p{color:#bfcec4}
html[data-theme="dark"] .mini-label,html[data-theme="dark"] .card-meta{color:#bcc9bd}
html[data-theme="dark"] .card-meta{border-top-color:#3f5146}
html[data-theme="dark"] .round-arrow{border-color:#63715b;color:#e3bc87}
html[data-theme="dark"] .inside{background:#0c1a14}
html[data-theme="dark"] .inside-top h2,html[data-theme="dark"] .deeper-title h3{color:#f7f4e9}
html[data-theme="dark"] .inside-top p,html[data-theme="dark"] .deeper-title p{color:#b0c5b7}
html[data-theme="dark"] .inside-id,html[data-theme="dark"] .inside-id small{color:#b6d6c0}
html[data-theme="dark"] .gallery-tab{background:#182b23;color:#e9ede4;border-color:#4a6954}
html[data-theme="dark"] .gallery-tab[aria-selected=true]{background:#d7ae76;border-color:#d7ae76;color:#12261d}
html[data-theme="dark"] .depth-card{background:#182b23;color:#f5f3ec;border-color:#48604e}
html[data-theme="dark"] .depth-card p,html[data-theme="dark"] .depth-card small{color:#b4c5b9}
html[data-theme="dark"] .proof{background:#15241c}
html[data-theme="dark"] .proof h2{color:#fcf9ef}
html[data-theme="dark"] .proof-layout>*+*{border-inline-start-color:#3b5845}
html[data-theme="dark"] .label-uppercase,html[data-theme="dark"] .proof-disclaimer{color:#b9cabb}
html[data-theme="dark"] .org-logos{background:#fffef8;padding:10px;border-radius:6px;min-height:94px}
html[data-theme="dark"] .org-img.wareef{mix-blend-mode:normal}
html[data-theme="dark"] .tech-logo{background:#fdfcf8;border-radius:5px;padding:5px;min-height:44px}
html[data-theme="dark"] .tech-logo img{max-width:100%;max-height:35px}
html[data-theme="dark"] .experience{color:#f7f1e6}
/* DT100 stays a light award tile in both themes: use dark ink for legible recognition text. */
html[data-theme="dark"] .recognition{color:#163d2f;background:#edf2ea}
html[data-theme="dark"] .recognition:hover{background:#e1eadd}
html[data-theme="dark"] .experience strong,html[data-theme="dark"] .experience p{color:#d0d8ce}
html[data-theme="dark"] .approach{background:#192b21}
html[data-theme="dark"] .approach-copy h2,html[data-theme="dark"] .stage h3{color:#f9f6ed}
html[data-theme="dark"] .approach-copy p,html[data-theme="dark"] .stage p{color:#b9c8bb}
html[data-theme="dark"] .stage-row:before,html[data-theme="dark"] .stage{border-color:#47604c}
html[data-theme="dark"] .stage:before{background:#d7ae76}
html[data-theme="dark"] .closing .connect{background:#101d17}
html[data-theme="dark"] .connect h2{color:#faf9ef}
html[data-theme="dark"] .connect p,html[data-theme="dark"] .next-steps li small{color:#b2c4b7}
html[data-theme="dark"] .next-steps li strong{color:#faf9f1}
html[data-theme="dark"] .next-steps:before{background:#526958}
html[data-theme="dark"] .footer{background:#07120e;color:#f0f2eb}
html[data-theme="dark"] .footer p,html[data-theme="dark"] .footer>small{color:#b1c6b6}
html[data-theme="dark"] .portfolio-dialog,html[data-theme="dark"] .contact-dialog{background:#152720;color:#faf9ef;border:1px solid #52654f}
html[data-theme="dark"] .portfolio-dialog h2,html[data-theme="dark"] .contact-dialog h2{color:#f9f6ee}
html[data-theme="dark"] .dialog-close{background:#253b2e;color:#fff;border-color:#60775f}
html[data-theme="dark"] .dialog-close:hover{background:#37503c}
html[data-theme="dark"] .dialog-subtitle,html[data-theme="dark"] .dialog-kicker{color:#ddbb82}
html[data-theme="dark"] .dialog-columns p,html[data-theme="dark"] .dialog-columns li{color:#e0e8dd}
html[data-theme="dark"] .problem-choice{background:#20382b;color:#ebf0e5;border-color:#5b705e}
html[data-theme="dark"] .problem-choice[aria-pressed=true]{background:#d7ad74;color:#18291f}
html[data-theme="dark"] .formstage input,html[data-theme="dark"] .formstage textarea,html[data-theme="dark"] .contact-dialog input,html[data-theme="dark"] .contact-dialog textarea{background:#0a1b13;color:#fff;border-color:#5b7562}
html[data-theme="dark"] .formstage input::placeholder,html[data-theme="dark"] .formstage textarea::placeholder{color:#abbfb0}
html[data-theme="dark"] .form-notice,html[data-theme="dark"] .form-hint{color:#aec2b0}
@media(max-width:850px){html[data-theme="dark"] .site-header{background:#101f19!important}}
@media(max-width:600px){html[data-theme="dark"] .hero-photo:before{background:linear-gradient(0deg,#0e201c44,transparent 45%)}html[data-theme="dark"] .capability{border-top-color:#405a4a}}


/* === Revision: hero alignment, logo, and section cleanup === */
.hero{grid-template-columns:minmax(0,46%) minmax(0,35%) minmax(220px,19%);background:#f7f6f1;align-items:stretch}
.hero-copy{background:linear-gradient(105deg,#fffef9 0%,#f5f1e8 72%,#f3efe4 100%)}
.hero-copy:after{width:40px;inset-inline-end:-12px;background:linear-gradient(90deg,rgba(245,243,237,.92),rgba(245,243,237,.18) 70%,transparent)}
.hero-photo{background:#252220;display:flex;align-items:stretch;justify-content:flex-start;isolation:isolate}
.hero-photo picture{display:block;width:100%;height:100%}
.hero-photo picture img{width:100%;height:100%;object-fit:cover;object-position:26% 24%;transform:none}
.hero-photo:before{background:linear-gradient(90deg,rgba(247,244,236,.35) 0%,rgba(247,244,236,.10) 7%,transparent 15%);opacity:1}
[dir="rtl"] .hero-photo picture img{transform:scaleX(-1);object-position:74% 24%}
[dir="rtl"] .hero-photo:before{background:linear-gradient(270deg,rgba(247,244,236,.35) 0%,rgba(247,244,236,.10) 7%,transparent 15%)}
.hero-rail{grid-template-columns:100%;background:linear-gradient(180deg,#0f2b21,#0a1f18)}
.rail-scenery{display:none}
.rail-statement{padding:clamp(58px,5vw,120px) 18% 40px 18%;background:linear-gradient(180deg,#113325 0%,#091d17 100%)}
.rail-statement em{margin-top:16px;color:#efe1cc;font-size:clamp(16px,1.4vw,30px)}
.rail-statement ul{margin-top:34px}
.a-mark{width:44px;height:44px;display:block;flex:0 0 auto}
.brand .a-mark{color:var(--forest)}
.footer-brand .a-mark{color:#f6ecd9}
html[data-theme="dark"] .brand .a-mark{color:#e9ddc5}
html[data-theme="dark"] .footer-brand .a-mark{color:#f3e4c4}
.closing .signature + small{letter-spacing:.09em}

@media(max-width:1450px){.hero{grid-template-columns:47% 34% 19%}.hero-photo picture img{object-position:24% 24%}}
@media(max-width:1150px){.hero{grid-template-columns:52% 33% 15%}.hero-photo picture img{object-position:22% 24%}.rail-statement{padding:84px 14px 20px 15px}.rail-statement em{font-size:13px}.rail-statement ul{margin-top:24px}}
@media(max-width:850px){.hero{grid-template-columns:56% 44%}.hero-photo picture img{object-position:24% 20%}.hero-copy:after{display:none}}
@media(max-width:600px){.hero{display:flex;flex-direction:column}.hero-photo{height:455px}.hero-photo picture img{object-position:center 16%}.hero-photo:before,[dir="rtl"] .hero-photo:before{background:linear-gradient(0deg,rgba(9,26,21,.18),transparent 28%)}.hero-rail{display:block}.rail-statement{padding:22px 22px 24px}.rail-statement ul{gap:8px 14px}}
@media(min-width:2200px){.hero-photo picture img{object-position:29% 20%}}

html[data-theme="dark"] .hero-copy{background:linear-gradient(105deg,#0d1915 0%,#102019 72%,#10281e 100%)}
html[data-theme="dark"] .hero-copy:after{background:linear-gradient(90deg,rgba(19,35,28,.92),rgba(19,35,28,.18) 70%,transparent)}
html[data-theme="dark"] .hero-photo{background:#161615}
html[data-theme="dark"] .hero-photo picture img{filter:brightness(.92) contrast(1.02) saturate(.95)}
html[data-theme="dark"] .hero-photo:before{background:linear-gradient(90deg,rgba(17,30,24,.50) 0%,rgba(17,30,24,.10) 8%,transparent 16%)}
[dir="rtl"][data-theme="dark"] .hero-photo:before{background:linear-gradient(270deg,rgba(17,30,24,.50) 0%,rgba(17,30,24,.10) 8%,transparent 16%)}


/* FINAL HEADING SPACING FIX — balanced narrative beats, responsive readable measure.
   Fixes collision-like kerning and cramped line breaks in both languages and themes. */
.hero-copy{min-width:0;padding-inline-end:clamp(22px,2.4vw,52px);z-index:1}
.hero-copy:after{display:none!important}
.hero-inner{min-width:0;width:100%;max-width:750px}
.hero .eyebrow{margin-bottom:clamp(21px,2.1vw,35px)}
.hero h1{
  font-family:var(--serif);
  font-weight:500;
  font-size:clamp(45px,4.0vw,83px);
  line-height:1.14;
  letter-spacing:-.018em;
  text-wrap:pretty;
  max-width:100%;
  margin:0 0 clamp(23px,2.5vw,36px);
  overflow-wrap:normal;
}
.hero-beat{display:block;text-wrap:balance;max-width:100%}
.hero-beat-second{margin-block-start:.25em}
.hero p{max-width:550px;line-height:1.75;margin-bottom:clamp(25px,2.5vw,36px)}
.hero-photo:before{background:none!important}
html[data-theme="dark"] .hero-photo:before{background:none!important}
[dir=rtl] .hero-photo:before{background:none!important}
html[dir=rtl][data-theme="dark"] .hero-photo:before{background:none!important}
.hero-photo picture img{object-position:44% 28%;transform:none}
html[dir=rtl] .hero-photo picture img{object-position:56% 28%;transform:scaleX(-1)}

/* Tablet widths: give the heading reasonable space without squeezing the portrait */
@media (min-width:851px) and (max-width:1450px){
 .hero{grid-template-columns:minmax(0,48%) minmax(0,34%) minmax(185px,18%)}
 .hero h1{font-size:clamp(43px,4.0vw,60px);line-height:1.16}
 .hero-copy{padding-inline-end:clamp(21px,2vw,32px)}
 .hero-beat-second{margin-block-start:.22em}
}
@media (min-width:851px) and (max-width:1150px){
 .hero{grid-template-columns:minmax(0,52%) minmax(0,34%) minmax(135px,14%)}
 .hero h1{font-size:clamp(38px,4vw,47px)}
 .hero .rail-statement{padding-inline:13px 7px}
 .hero .rail-statement ul{font-size:12px}
}
@media(max-width:850px){
 .hero{grid-template-columns:minmax(0,54%) minmax(0,46%)}
 .hero h1{font-size:clamp(38px,5.15vw,48px);line-height:1.16}
 .hero-copy{padding-inline-end:clamp(17px,2.5vw,24px)}
 .hero-photo picture img{object-position:44% 24%}
 html[dir=rtl] .hero-photo picture img{object-position:56% 24%}
}
@media(max-width:600px){
 .hero{display:flex;flex-direction:column}
 .hero-copy{padding:clamp(38px,7vw,56px) var(--pad) clamp(32px,7vw,44px)}
 .hero h1{font-size:clamp(39px,9.2vw,56px);line-height:1.15;letter-spacing:-.016em;}
 .hero-beat-second{margin-block-start:.25em}
 .hero-photo{height:clamp(320px,110vw,460px)}
 .hero-photo picture img{object-position:50% 22%}
 html[dir=rtl] .hero-photo picture img{object-position:50% 22%}
}
@media(max-width:360px){.hero h1{font-size:clamp(36px,10.6vw,41px)}}
/* Arabic letterforms need less compression and a taller line box. */
html[dir=rtl] .hero h1{
 font-family:'IBM Plex Sans Arabic',Tahoma,sans-serif;
 letter-spacing:-.01em;
 line-height:1.43;
 font-size:clamp(37px,3.75vw,73px);
}
html[dir=rtl] .hero-beat-second{margin-block-start:.2em}
@media(min-width:851px) and (max-width:1150px){html[dir=rtl] .hero h1{font-size:clamp(35px,3.6vw,44px)}}
@media(max-width:850px){html[dir=rtl] .hero h1{font-size:clamp(35px,4.85vw,43px);line-height:1.4}}
@media(max-width:600px){html[dir=rtl] .hero h1{font-size:clamp(32px,8vw,45px);line-height:1.43}}
@media(max-width:360px){html[dir=rtl] .hero h1{font-size:32px}}
/* Never force the heading to spill across the photo under ultrawide settings. */
@media(min-width:2200px){.hero h1{font-size:clamp(80px,3.9vw,89px)}.hero-copy{padding-inline-end:56px}}
/* RTL hero needs start-side breathing room: the original ltr padding is physical. */
html[dir="rtl"] .hero-copy{
  padding-right:var(--pad);
  padding-left:clamp(22px,2.4vw,52px);
}
@media(max-width:850px){
 html[dir="rtl"] .hero-copy{padding-right:var(--pad);padding-left:clamp(18px,2.5vw,25px)}
}
@media(max-width:600px){
 html[dir="rtl"] .hero-copy{padding-right:var(--pad);padding-left:var(--pad)}
}
/* Constrain harmless 1–2px decorative overflow on 320px handsets. */
html,body{max-width:100%;overflow-x:clip}

/* Final hero portrait: black shirt, deliberate gaze toward copy, photo-only asset. */
.hero-photo{overflow:hidden;background:#101e1a}
.hero-photo picture{display:block;height:100%;width:100%}
.hero-photo picture img{object-fit:cover;object-position:50% 19%;transform:none;filter:none}
html[dir="rtl"] .hero-photo picture img{transform:scaleX(-1);object-position:50% 19%}
/* A short blending edge, never a broad haze over the subject. */
.hero-photo:before{content:"";display:block!important;position:absolute;inset:0;z-index:1;pointer-events:none;
 background:linear-gradient(90deg,rgba(15,30,23,.84) 0%,rgba(15,30,23,.32) 5%,transparent 17%)!important}
html[dir="rtl"] .hero-photo:before{background:linear-gradient(270deg,rgba(15,30,23,.84) 0%,rgba(15,30,23,.32) 5%,transparent 17%)!important}
html[data-theme="dark"] .hero-photo picture img{filter:none}
html[data-theme="dark"] .hero-photo:before{background:linear-gradient(90deg,rgba(14,28,22,.84) 0%,rgba(14,28,22,.32) 5%,transparent 17%)!important}
html[dir="rtl"][data-theme="dark"] .hero-photo:before{background:linear-gradient(270deg,rgba(14,28,22,.84) 0%,rgba(14,28,22,.32) 5%,transparent 17%)!important}
@media(max-width:850px){.hero-photo picture img,html[dir="rtl"] .hero-photo picture img{object-position:50% 13%}}
@media(max-width:600px){.hero-photo:before,html[dir="rtl"] .hero-photo:before,html[data-theme="dark"] .hero-photo:before,html[dir="rtl"][data-theme="dark"] .hero-photo:before{background:linear-gradient(0deg,rgba(10,25,21,.20),transparent 25%)!important}}

/* Correct color-matched blend per theme, with short transition off the photo edge. */
html:not([data-theme="dark"]) .hero-photo:before{background:linear-gradient(90deg,rgba(247,246,241,.95) 0%,rgba(247,246,241,.30) 6%,transparent 17%)!important}
html[dir="rtl"]:not([data-theme="dark"]) .hero-photo:before{background:linear-gradient(270deg,rgba(247,246,241,.95) 0%,rgba(247,246,241,.30) 6%,transparent 17%)!important}
@media(max-width:600px){html:not([data-theme="dark"]) .hero-photo:before,html[dir="rtl"]:not([data-theme="dark"]) .hero-photo:before{background:linear-gradient(0deg,rgba(10,25,21,.18),transparent 25%)!important}}


/* Final-page consulting story. The approved hero and every earlier section are unchanged. */
.closing-v2{display:grid;grid-template-columns:minmax(0,58%) minmax(0,42%);min-height:735px;width:100%;max-width:none;align-items:stretch}
.closing-v2 .closing-story{position:relative;isolation:isolate;background-color:#13202a;background-image:linear-gradient(90deg,rgba(5,17,25,.90) 0%,rgba(8,21,30,.79) 30%,rgba(10,21,27,.41) 66%,rgba(11,21,29,.07) 100%),url("assets/riyadh-philosophy.webp");background-size:cover,cover;background-position:center, 64% center;display:flex;align-items:center;padding:64px clamp(35px,4.2vw,100px);overflow:hidden;color:#f9faf8;min-width:0}
.closing-v2 .closing-story-content{position:relative;max-width:655px;width:100%;z-index:1}
.closing-v2 .closing-kicker,.closing-v2 .offer-kicker{font-size:11px;line-height:1.5;font-weight:750;letter-spacing:.17em;margin:0 0 20px;text-transform:uppercase;color:#f2c380}
.closing-v2 .closing-story h2{font:500 clamp(37px,3.25vw,67px)/1.09 var(--serif);letter-spacing:-.025em;color:#fff;margin:0 0 24px;max-width:16ch;text-wrap:balance}
.closing-v2 .closing-story h2 em{color:#f6c47e;font-style:italic}
.closing-v2 .closing-lead{font-size:clamp(17px,1.2vw,23px);line-height:1.42;max-width:570px;color:#f7f8f6;margin:0 0 18px}
.closing-v2 .closing-honesty{font-size:clamp(13px,.91vw,17px);line-height:1.65;max-width:555px;color:#eff3f0;margin:0 0 26px}
.closing-v2 .closing-signoff{display:grid;gap:4px;align-items:start}
.closing-v2 .closing-signature{font:italic clamp(28px,3vw,53px)/1.35 'Brush Script MT','Segoe Script',cursive;color:#fff}
.closing-v2 .closing-role{font-size:10px;letter-spacing:.18em;font-weight:650;color:#f0f3ee}
.closing-v2 .closing-signoff strong{color:#edbe77;font-size:11px;letter-spacing:.15em;margin-top:12px}
.closing-v2 .closing-offer{background:#fffefa;display:flex;align-items:center;padding:58px clamp(28px,3.7vw,84px);min-width:0;color:#102c27}
.closing-v2 .closing-offer-content{max-width:590px;width:100%;margin-inline:auto}
.closing-v2 .offer-kicker{color:#a8763e;margin-bottom:17px}
.closing-v2 .closing-offer h2{font-size:clamp(34px,3vw,61px);line-height:1.1;letter-spacing:-.034em;margin:0 0 15px;color:#102c27;text-wrap:balance}
.closing-v2 .offer-lede{font:400 clamp(15px,1.06vw,21px)/1.5 var(--serif);color:#586b66;margin:0 0 26px}
.closing-v2 .offer-steps{padding:0;margin:0 0 22px;display:grid;gap:19px;list-style:none}
.closing-v2 .offer-steps li{display:grid;grid-template-columns:46px minmax(0,1fr);gap:15px;align-items:start;position:relative}
.closing-v2 .offer-steps li:not(:last-child):before{content:'';position:absolute;inset-block-start:48px;inset-inline-start:22px;height:calc(100% + 16px);border-inline-start:1px solid #dbb481;z-index:0}
.closing-v2 .offer-icon{display:grid;place-items:center;width:46px;height:46px;background:#f9ecd5;border-radius:50%;color:#1f5748;z-index:1}
.closing-v2 .offer-icon svg{width:23px;height:23px}
.closing-v2 .offer-steps li div{min-width:0;display:grid;grid-template-columns:30px minmax(0,1fr);column-gap:9px;row-gap:4px;padding-top:2px}
.closing-v2 .offer-number{font:700 13px var(--sans);color:#9f7644}
.closing-v2 .offer-steps strong{font:700 clamp(13px,.94vw,17px) var(--sans);color:#142a25;line-height:1.3}
.closing-v2 .offer-steps li p{grid-column:2;line-height:1.5;font-size:clamp(12px,.84vw,15px);color:#5e706c;margin:0}
.closing-v2 .offer-bottom{border-top:1px solid #e2d7c9;padding-top:20px;margin-bottom:22px}
.closing-v2 .offer-bottom p{line-height:1.55;color:#56706a;font-size:clamp(13px,.95vw,17px);margin:0}
.closing-v2 .offer-actions{display:flex;flex-wrap:wrap;gap:10px}
.closing-v2 .offer-actions .btn{display:inline-flex;justify-content:center;align-items:center;gap:10px;white-space:normal;min-height:47px;font-size:13px;padding:13px 18px}
.closing-v2 .offer-actions svg{width:18px;height:18px}
html[data-theme="dark"] .closing-v2 .closing-offer{background:#102019;color:#f7f3e8}
html[data-theme="dark"] .closing-v2 .closing-offer h2,html[data-theme="dark"] .closing-v2 .offer-steps strong{color:#f7f3e8}
html[data-theme="dark"] .closing-v2 .offer-lede,html[data-theme="dark"] .closing-v2 .offer-bottom p,html[data-theme="dark"] .closing-v2 .offer-steps li p{color:#c3d0c8}
html[data-theme="dark"] .closing-v2 .offer-icon{background:#254537;color:#f5d8a9}
html[data-theme="dark"] .closing-v2 .offer-bottom{border-top-color:#425749}
@media(max-width:1150px){.closing-v2{grid-template-columns:55% 45%;min-height:720px}.closing-v2 .closing-story{padding:50px 35px}.closing-v2 .closing-story h2{font-size:clamp(36px,3.45vw,53px)}.closing-v2 .closing-offer{padding:42px 30px}.closing-v2 .closing-offer h2{font-size:clamp(32px,3.3vw,45px)}.closing-v2 .closing-lead{font-size:17px}}
@media(max-width:900px){.closing-v2{display:block}.closing-v2 .closing-story{min-height:620px;padding:76px clamp(25px,7vw,70px);background-position:center,center center}.closing-v2 .closing-offer{padding:60px clamp(25px,7vw,70px)}.closing-v2 .closing-offer-content{max-width:760px}.closing-v2 .closing-offer h2{max-width:740px}}
@media(max-width:600px){.closing-v2 .closing-story{min-height:0;padding:62px 22px 58px;background-position:center,62% center;background-image:linear-gradient(90deg,rgba(5,16,24,.94) 0%,rgba(5,16,24,.82) 58%,rgba(5,16,24,.45) 100%),url("assets/riyadh-philosophy.webp")}.closing-v2 .closing-story h2{font-size:clamp(35px,9vw,46px)}.closing-v2 .closing-lead{font-size:16px}.closing-v2 .closing-honesty{font-size:13px}.closing-v2 .closing-offer{padding:54px 22px}.closing-v2 .closing-offer h2{font-size:clamp(34px,9vw,44px)}.closing-v2 .offer-actions{flex-direction:column}.closing-v2 .offer-actions .btn{width:100%}.closing-v2 .closing-signature{font-size:34px}}
[dir=rtl] .closing-v2 .closing-story{background-image:linear-gradient(270deg,rgba(5,17,25,.94),rgba(8,21,30,.79) 33%,rgba(10,21,27,.39) 78%,rgba(11,21,29,.09)),url("assets/riyadh-philosophy.webp");background-position:center,64% center}
[dir=rtl] .closing-v2 .closing-story h2{font-family:'IBM Plex Sans Arabic',Tahoma,sans-serif;letter-spacing:-.02em;font-size:clamp(34px,3vw,56px);line-height:1.34;max-width:19ch}
[dir=rtl] .closing-v2 .closing-lead,[dir=rtl] .closing-v2 .closing-honesty{line-height:1.85}
[dir=rtl] .closing-v2 .closing-offer h2{font-family:'IBM Plex Sans Arabic',Tahoma,sans-serif;letter-spacing:-.015em;line-height:1.3;font-size:clamp(30px,2.75vw,51px)}
[dir=rtl] .closing-v2 .offer-steps li div{grid-template-columns:34px minmax(0,1fr)}
@media(max-width:900px){[dir=rtl] .closing-v2 .closing-story{background-position:center,center center}}
@media(max-width:600px){[dir=rtl] .closing-v2 .closing-story{background-image:linear-gradient(270deg,rgba(5,16,24,.96),rgba(5,16,24,.81) 64%,rgba(5,16,24,.45)),url("assets/riyadh-philosophy.webp")};[dir=rtl] .closing-v2 .closing-story h2{font-size:clamp(31px,8.3vw,42px)}}


/* SITESBYAO — APPROVED PORTRAIT, ACTUAL CSS EDGE COMPOSITING
   The same black-shirt asset serves English and Arabic, with RTL mirroring.
   The photo stays fully opaque around the face; only background edges dissolve.
   Text, client logos, the approved hero layout and footer remain untouched. */
.hero-photo {
  background: linear-gradient(90deg, #f4f1e8 0%, #e3dfd6 42%, #244339 77%, #102e25 100%);
  isolation: isolate;
}
.hero-photo picture {display:block;position:absolute;inset:0;width:100%;height:100%}
.hero-photo picture img {
  /* Keep the picture itself crisp; don't fade the face or the whole photograph. */
  -webkit-mask-image: linear-gradient(to right,
    transparent 0%, rgba(0,0,0,.10) 5%, rgba(0,0,0,.45) 11%,
    rgba(0,0,0,.84) 20%, #000 29%, #000 89%,
    rgba(0,0,0,.82) 95%, transparent 100%);
  mask-image: linear-gradient(to right,
    transparent 0%, rgba(0,0,0,.10) 5%, rgba(0,0,0,.45) 11%,
    rgba(0,0,0,.84) 20%, #000 29%, #000 89%,
    rgba(0,0,0,.82) 95%, transparent 100%);
}
.hero-photo::before {display:none!important}
.hero-copy::after {opacity:.6}
html[data-theme="dark"] .hero-photo {
  background:linear-gradient(90deg,#10251b 0%,#132b21 45%,#133929 82%,#102e25 100%);
}
html[dir="rtl"] .hero-photo {
  background:linear-gradient(270deg,#f4f1e8 0%,#e3dfd6 42%,#244339 77%,#102e25 100%);
}
html[dir="rtl"] .hero-photo picture img {
  -webkit-mask-image:linear-gradient(to left,
    transparent 0%,rgba(0,0,0,.10) 5%,rgba(0,0,0,.45) 11%,
    rgba(0,0,0,.84) 20%,#000 29%,#000 89%,
    rgba(0,0,0,.82) 95%,transparent 100%);
  mask-image:linear-gradient(to left,
    transparent 0%,rgba(0,0,0,.10) 5%,rgba(0,0,0,.45) 11%,
    rgba(0,0,0,.84) 20%,#000 29%,#000 89%,
    rgba(0,0,0,.82) 95%,transparent 100%);
}
html[dir="rtl"][data-theme="dark"] .hero-photo {
  background:linear-gradient(270deg,#10251b 0%,#132b21 45%,#133929 82%,#102e25 100%);
}
/* Light-mode header remains a single warm-white canvas, including RTL. */
html[dir="rtl"]:not([data-theme="dark"]) .site-header .brand,
html[dir="rtl"]:not([data-theme="dark"]) .site-header .brand .a-mark {color:#163b2f;}
@media (max-width:850px) {
  .hero-photo picture img {
    -webkit-mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.30) 10%,#000 31%,#000 100%);
    mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.30) 10%,#000 31%,#000 100%);
  }
  html[dir="rtl"] .hero-photo picture img {
    -webkit-mask-image:linear-gradient(to left,transparent 0%,rgba(0,0,0,.30) 10%,#000 31%,#000 100%);
    mask-image:linear-gradient(to left,transparent 0%,rgba(0,0,0,.30) 10%,#000 31%,#000 100%);
  }
}
@media (max-width:600px) {
  .hero-photo, html[dir="rtl"] .hero-photo,
  html[data-theme="dark"] .hero-photo,
  html[dir="rtl"][data-theme="dark"] .hero-photo {
    background:var(--forestDeep);
  }
  .hero-photo picture img, html[dir="rtl"] .hero-photo picture img {
    -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 78%,rgba(0,0,0,.8) 89%,transparent 100%);
    mask-image:linear-gradient(to bottom,#000 0%,#000 78%,rgba(0,0,0,.8) 89%,transparent 100%);
  }
  .hero-copy::after {display:none}
}


/* -----------------------------------------------
   SitesByAO · Motion Experience (2026)
   One crafted arrival, editorial scroll chapters, meaningful response.
   Defaults remain entirely legible if JavaScript or CDN is unavailable.
----------------------------------------------- */
/* Retire the previous blanket, all-sections reveal which caused flash/hiding. */
.js-ready .reveal,.js-ready .reveal.is-visible{opacity:1;transform:none;transition:none}
.hero-beat,.hero-inner>p,.hero-buttons,.hero-photo picture,.rail-statement{backface-visibility:hidden}
/* Only the focal portrait is allowed a temporary transform by script. */
.hero-photo picture{transform-origin:58% 50%}
/* Fine affordances follow interaction; elegant rather than springy. */
.featured-card{position:relative;isolation:isolate;transition:transform .38s cubic-bezier(.16,1,.3,1),box-shadow .38s cubic-bezier(.16,1,.3,1)}
.featured-card::after{content:"";position:absolute;inset:0;background:radial-gradient(400px circle at var(--px,50%) var(--py,0%),rgba(202,160,94,.15),transparent 65%);opacity:0;pointer-events:none;transition:opacity .25s ease;z-index:4}
@media(hover:hover) and (pointer:fine){.featured-card:hover::after,.featured-card:focus-visible::after{opacity:1}}
.featured-card .round-arrow{transition:background .25s ease,transform .3s cubic-bezier(.16,1,.3,1);will-change:auto}
.featured-card:hover .round-arrow,.featured-card:focus-visible .round-arrow{transform:translateX(4px);background:#ecf1e8}
html[dir="rtl"] .featured-card:hover .round-arrow,html[dir="rtl"] .featured-card:focus-visible .round-arrow{transform:translateX(-4px)}
/* Calm visual rhythm through the process: the gold trace is earned on scroll. */
.stage-row{position:relative;isolation:isolate;--journey:0%}
.stage-row::after{content:"";position:absolute;inset-block-start:-5px;inset-inline-start:0;width:var(--journey);height:2px;background:linear-gradient(90deg,#b58b4a,#e1c88b);transition:width .07s linear;pointer-events:none;z-index:3}
html[dir="rtl"] .stage-row::after{background:linear-gradient(270deg,#b58b4a,#e1c88b)}
/* Buttons answer pointer/keyboard intent with a direct, short response. */
.btn .icon,.text-link .icon,.footer-links a{transition:transform .22s cubic-bezier(.16,1,.3,1)}
.btn:hover .icon,.text-link:hover .icon{transform:translateX(4px)}
html[dir="rtl"] .btn:hover .icon,html[dir="rtl"] .text-link:hover .icon{transform:translateX(-4px)}
.btn:focus-visible,.gallery-tab:focus-visible,.featured-card:focus-visible,.text-link:focus-visible,.problem-choice:focus-visible{outline:3px solid #d6a65e;outline-offset:4px}
/* The final consultation sequence draws a gentle thread as each decision appears. */
.closing-v2 .offer-steps{position:relative}
.closing-v2 .offer-steps::after{content:"";position:absolute;inset-block-start:26px;inset-block-end:23px;inset-inline-start:22px;width:2px;background:#bd8f4b;transform-origin:center top;transform:scaleY(0);transition:transform .9s cubic-bezier(.16,1,.3,1);pointer-events:none}
.closing-v2 .journey-active .offer-steps::after{transform:scaleY(1)}
.closing-v2 .offer-icon{position:relative;z-index:2;transition:background .25s,color .25s}
.closing-v2 .offer-steps li:hover .offer-icon{background:#f1d59e;color:#123f32}
/* Device and preference safeguards. */
@media(max-width:900px){.stage-row::after{display:none}}
@media(hover:none){.featured-card::after{display:none}}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js-ready .reveal,.js-ready .reveal.is-visible{opacity:1;transform:none}
  .stage-row::after,.closing-v2 .offer-steps::after{display:none}
  .featured-card,.featured-card .round-arrow,.btn,.btn .icon,.text-link .icon{transition-duration:.01ms!important;animation-duration:.01ms!important}
}

/* Navigation acknowledges the current chapter, not always Home. */
.desktop-nav a{position:relative}
.desktop-nav a:first-child{font-weight:inherit}
.desktop-nav a::after,.desktop-nav a:first-child::after{content:"";position:absolute;inset-inline:0;bottom:-12px;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:center;transition:transform .27s cubic-bezier(.16,1,.3,1)}
.desktop-nav a[aria-current="location"]::after,.desktop-nav a:first-child[aria-current="location"]::after{transform:scaleX(1)}
.desktop-nav a[aria-current="location"]{font-weight:700}
html[data-theme="dark"] .desktop-nav a:first-child:not([aria-current="location"])::after{transform:scaleX(0)}
.mobile-nav a[aria-current="location"]{color:#b28244;border-color:#c49e66}
@media(prefers-reduced-motion:reduce){.desktop-nav a::after,.desktop-nav a:first-child::after{transition:none}}
/* Keep the language control and mobile menu readable in the RTL light header. */
html[dir="rtl"]:not([data-theme="dark"]) .header-actions .language,
html[dir="rtl"]:not([data-theme="dark"]) .header-actions .menu-toggle { color:#17372d; }
