.pay-promise{display:inline-flex;align-items:center;padding:10px 14px;border:1px solid rgba(240,189,80,.32);background:rgba(4,20,24,.58);color:#f7e6b6;font-weight:700}
.skip-link{position:fixed;left:12px;top:12px;z-index:10000;padding:10px 14px;background:#f0bd50;color:#07191d;font-weight:800;text-decoration:none;transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #f0bd50;outline-offset:3px}
.about-section{max-width:none;padding-left:max(8vw,80px);padding-right:max(8vw,80px);background:#061720}
.about-layout{max-width:1220px;margin:auto;display:grid;grid-template-columns:1fr .85fr;gap:70px;align-items:center}
.about-layout p:not(.eyebrow){color:#a9bbc4;max-width:650px}
.about-layout figure{margin:0;overflow:hidden;border:1px solid rgba(240,189,80,.24);aspect-ratio:3/2}
.about-layout img{display:block;width:100%;height:100%;object-fit:cover}
.project-status{display:inline-block;margin:30px 0 18px;padding:8px 12px;background:rgba(240,189,80,.12);border:1px solid rgba(240,189,80,.32);color:#f2cb70;font:500 11px var(--mono);letter-spacing:.8px;text-transform:uppercase}
.before-after{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:12px}
.before-after figure{margin:0;background:#071c27;border:1px solid rgba(180,222,237,.14);overflow:hidden}
.before-after figure>span{display:block;padding:13px 18px;color:#f0bd50;font:500 11px var(--mono);letter-spacing:1.4px;text-transform:uppercase}
.before-after img{display:block;width:100%;aspect-ratio:16/7.45;object-fit:cover;object-position:top center;background:#020608}
.before-after figcaption{padding:18px;color:#a9bbc4;font-size:13px}
.project-improvements{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;padding:0;margin:20px 0 0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.project-improvements li{padding:18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:#dce8e4;font-size:13px}
.project-improvements li:before{content:'✓';color:#f0bd50;margin-right:9px}
.whatsapp-float{position:fixed;right:22px;bottom:22px;z-index:80;display:flex;align-items:center;gap:9px;padding:13px 17px;border-radius:999px;background:#25d366;color:#062b16;text-decoration:none;font:800 13px var(--font);box-shadow:0 14px 35px rgba(0,0,0,.34);transition:transform .2s ease,box-shadow .2s ease}
.whatsapp-float:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(0,0,0,.42)}
.whatsapp-icon{display:grid;place-items:center;width:22px;height:22px;border:2px solid currentColor;border-radius:50%;font-size:9px}
.demo-form{display:grid;gap:13px;margin-top:8px}
.demo-form label{display:grid;gap:6px;color:#dce8e4;font-size:12px;font-weight:700}
.demo-form input,.demo-form textarea,.demo-form select{width:100%;border:1px solid rgba(238,227,191,.25);background:#08262b;color:#fff8df;padding:12px 13px;border-radius:6px;font:500 16px var(--font)}
.demo-form textarea{min-height:92px;resize:vertical}
.demo-form .button{cursor:pointer;margin-top:4px}
.form-status{min-height:22px;margin:2px 0 0;color:#f2cb70;font-size:13px}
.form-alternative{margin:8px 0 0;color:#bcd0ca;font-size:12px}
.form-alternative a{color:#f0bd50}

/* Approved page transition: a brief gold light sweep keeps navigation fast. */
.route-transition{background:rgba(3,15,18,.12);visibility:hidden;backdrop-filter:blur(0)}
.route-transition.is-active{visibility:visible}
.route-transition .route-panel-left,.route-transition .route-panel-right,.route-transition .route-symbol,.route-transition:after{display:none!important}
.route-transition:before{content:'';position:absolute;top:-30%;bottom:-30%;left:-35%;width:18%;background:linear-gradient(90deg,transparent,rgba(230,174,55,.32),rgba(255,231,153,.96),rgba(230,174,55,.28),transparent);filter:blur(4px);transform:skewX(-18deg);opacity:0}
.route-transition.is-leaving:before{animation:gold-route-sweep .62s ease-in-out forwards}
.route-transition.is-arriving:before{animation:gold-route-sweep .55s ease-in-out forwards}
@keyframes gold-route-sweep{0%{left:-35%;opacity:0}18%{opacity:1}82%{opacity:1}100%{left:125%;opacity:0}}

@media(max-width:900px){.about-section{padding-left:30px;padding-right:30px}.about-layout{grid-template-columns:1fr;gap:34px}.about-layout figure{max-width:620px}}
@media(max-width:760px){.before-after{grid-template-columns:1fr}.before-after img{aspect-ratio:16/8.6}.project-improvements{grid-template-columns:1fr 1fr}.whatsapp-float{right:14px;bottom:14px;padding:12px 15px}}
@media(max-width:420px){.project-improvements{grid-template-columns:1fr}.whatsapp-float span:last-child{display:none}.whatsapp-float{padding:13px}}
@media(prefers-reduced-motion:reduce){.whatsapp-float{transition:none}.route-transition{display:none}}

/* Persistent homepage wallpaper. A fixed layer is more reliable on mobile than background-attachment. */
html{background:#02111a}
body:not(.route-page){position:relative;background:transparent}
body:not(.route-page)::before{content:'';position:fixed;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(2,14,18,.92) 0%,rgba(2,14,18,.75) 42%,rgba(2,14,18,.34) 72%,rgba(2,14,18,.22)),url('assets/westsites-city-office.png?v=19') 54% center/cover no-repeat;pointer-events:none}
body:not(.route-page)::after{content:'';position:fixed;inset:0;z-index:-1;background:rgba(2,17,26,.14);pointer-events:none}
.intro,.work-section,.pricing-section,.faq-section{background:rgba(2,17,26,.84);backdrop-filter:blur(2px)}
.whatsapp-float img{display:block;width:23px;height:23px}
.pricing-route .route-layout{width:min(1320px,100%);grid-template-columns:.72fr 1.28fr;gap:42px}
.pricing-comparison{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:0;background:rgba(11,47,53,.94);overflow:visible}
.pricing-comparison:before{display:none}
.route-price-card{position:relative;padding:32px 28px;display:flex;flex-direction:column;min-width:0}
.route-price-card+.route-price-card{border-left:1px solid rgba(240,189,80,.28)}
.route-price-card-featured{background:linear-gradient(145deg,rgba(64,105,94,.86),rgba(25,66,68,.95))}
.route-plan-label{margin:0 0 10px;color:#fff8df;font-size:20px;font-weight:800}
.route-plan-subtitle{min-height:42px;margin:4px 0 16px;color:#c8d9d3;font-size:13px;line-height:1.55}
.route-price-card .route-price{font-size:52px;line-height:1;margin:12px 0 5px;white-space:nowrap}
.route-price-card .route-price>span{font-size:29px;vertical-align:12px;margin-right:2px}
.route-price-card .route-price small{display:block;margin-top:10px;font-size:16px;color:#f7d985}
.route-price-card .route-list{margin-bottom:24px}
.route-price-card .route-list li{font-size:13px;padding:12px 0}
.route-price-card .button{margin-top:auto;align-self:stretch;justify-content:center;padding:14px 16px;font-size:12px;text-align:center}
.route-recommended{position:absolute;right:18px;top:-13px;padding:7px 10px;background:#f0bd50;color:#07191d;font:800 10px var(--mono);letter-spacing:.7px;text-transform:uppercase}
.portfolio-panel{display:flex;align-items:center;justify-content:center;padding:38px;background:linear-gradient(145deg,rgba(43,91,94,.92),rgba(19,55,61,.96));overflow:visible}
.portfolio-panel:before{display:none}
.project-folder{position:relative;display:flex;width:min(470px,100%);min-height:255px;flex-direction:column;padding:30px 30px 24px;background:linear-gradient(150deg,#102e34,#071b20);color:#fff8df;text-decoration:none;border:1px solid rgba(240,189,80,.48);box-shadow:0 22px 42px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.05);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.project-folder:before{content:'';position:absolute;left:24px;top:-14px;width:138px;height:15px;background:#d9a736;clip-path:polygon(0 0,82% 0,100% 100%,0 100%)}
.project-folder:after{content:'';position:absolute;inset:0;background:linear-gradient(120deg,rgba(240,189,80,.1),transparent 44%);pointer-events:none}
.project-folder:hover{transform:translateY(-4px);border-color:#f0bd50;box-shadow:0 28px 48px rgba(0,0,0,.36)}
.project-folder-status{position:relative;z-index:1;align-self:flex-end;padding:6px 9px;border:1px solid rgba(240,189,80,.38);color:#f0bd50;font:800 9px var(--mono);letter-spacing:.7px;text-transform:uppercase}
.project-folder-logo{position:relative;z-index:1;display:block;width:min(235px,66%);height:104px;margin:4px 0 4px;object-fit:contain;object-position:left center}
.project-folder-type{position:relative;z-index:1;color:#bcd0ca;font-size:13px;font-weight:700}
.project-folder-open{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:16px;border-top:1px solid rgba(240,189,80,.22);color:#f7d985;font-weight:800}
.case-study-footer{display:flex;justify-content:space-between;gap:20px;align-items:center}
.review-section{background:linear-gradient(145deg,rgba(8,38,44,.96),rgba(4,24,30,.98));border-top:1px solid rgba(240,189,80,.18);border-bottom:1px solid rgba(240,189,80,.18)}
.review-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start}
.review-copy>p:not(.eyebrow){max-width:590px;color:#a9bbc4}
.review-trust{display:flex;gap:14px;margin-top:28px;padding:18px;border:1px solid rgba(240,189,80,.24);background:rgba(240,189,80,.06)}
.review-trust>span{color:#f0bd50}
.review-trust p{margin:0;color:#bcd0ca;font-size:13px;line-height:1.55}
.review-trust strong{color:#fff8df}
.review-form{display:grid;gap:15px;padding:32px;border:1px solid rgba(240,189,80,.3);background:linear-gradient(145deg,rgba(43,91,94,.74),rgba(16,49,55,.92));box-shadow:0 24px 48px rgba(0,0,0,.22)}
.review-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.review-form label:not(.review-consent){display:grid;gap:7px;color:#dce8e4;font-size:12px;font-weight:700}
.review-form input,.review-form select,.review-form textarea{width:100%;border:1px solid rgba(238,227,191,.25);background:#08262b;color:#fff8df;padding:13px 14px;border-radius:6px;font:500 16px var(--font)}
.review-form textarea{min-height:125px;resize:vertical}
.review-consent{display:flex;gap:11px;align-items:flex-start;color:#c4d4cf;font-size:12px;line-height:1.45;cursor:pointer}
.review-consent input{flex:0 0 auto;width:18px;height:18px;margin-top:1px;accent-color:#f0bd50}
.review-form .button{justify-self:start;cursor:pointer}
.review-status{min-height:20px;margin:0;color:#f2cb70;font-size:13px}
.case-study-route .route-main{padding-top:60px;padding-bottom:70px}
.case-study-route .route-layout{width:min(1320px,100%);grid-template-columns:1fr;gap:34px}
.case-study-route .route-layout>section:first-child{max-width:980px}
.case-study-route .route-title{max-width:1050px;font-size:clamp(48px,5.2vw,76px)}
.case-study-route .route-intro{max-width:800px}
.case-study-content{display:grid;gap:24px}
.case-study-images{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.case-study-images figure{margin:0;background:#071c27;border:1px solid rgba(180,222,237,.14);overflow:hidden}
.case-study-images img{display:block;width:100%;aspect-ratio:16/7.5;object-fit:cover;object-position:top center;background:#020608}
.case-study-images figcaption{padding:17px 19px;color:#a9bbc4;font-size:13px;line-height:1.6}
.case-study-images figcaption strong{display:block;margin-bottom:5px;color:#f0bd50;font:500 11px var(--mono);letter-spacing:1.2px;text-transform:uppercase}
.case-study-summary{display:grid;grid-template-columns:1.25fr 1fr;gap:34px;padding:24px;border:1px solid rgba(240,189,80,.24);background:rgba(10,43,49,.72)}
.case-study-summary p{margin:0;color:#d8e4df;font-size:17px;line-height:1.65}
.case-study-summary ul{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px;list-style:none;margin:0;padding:0;color:#dce8e4;font-size:13px}
.case-study-summary li:before{content:'✦';color:#f0bd50;margin-right:9px}
.case-study-status{margin:0;color:#a9bbc4;font-size:13px}
@media(max-width:1100px){.pricing-route .route-layout{grid-template-columns:1fr}.pricing-route .route-title{max-width:760px}.pricing-comparison{max-width:820px}}
@media(max-width:620px){.pricing-comparison{grid-template-columns:1fr}.route-price-card+.route-price-card{border-left:0;border-top:1px solid rgba(240,189,80,.28)}.route-price-card{padding:29px 24px}.route-plan-subtitle{min-height:0}.route-recommended{top:12px}.pricing-route .route-main{padding-left:20px;padding-right:20px}}
@media(max-width:620px){.portfolio-panel{padding:30px 18px}.project-folder{min-height:235px;padding:25px 22px 20px}.project-folder-status{align-self:flex-start}.project-folder-logo{width:min(220px,74%);height:90px}.case-study-footer{align-items:flex-start;flex-direction:column}}
@media(max-width:760px){.case-study-route .route-main{padding:44px 20px 70px}.case-study-route .route-title{font-size:clamp(43px,13vw,60px);letter-spacing:-2.5px}.case-study-images,.case-study-summary{grid-template-columns:1fr}.case-study-images img{aspect-ratio:16/8.7}.case-study-summary ul{grid-template-columns:1fr}}
@media(max-width:900px){.review-layout{grid-template-columns:1fr;gap:34px}}
@media(max-width:560px){.review-form{padding:24px 20px}.review-form-row{grid-template-columns:1fr}.review-form .button{width:100%;justify-content:center}}
@media(max-width:760px){body:not(.route-page)::before{background-position:61% center;background-image:linear-gradient(90deg,rgba(2,14,18,.94),rgba(2,14,18,.62)),url('assets/westsites-city-office.png?v=19')}.intro,.work-section,.pricing-section,.faq-section{background:rgba(2,17,26,.9);backdrop-filter:none}.whatsapp-float img{width:24px;height:24px}}
