:root{--paper:#F6F3EC;--ink:#1C1A17;--charcoal:#22201D;--soft:#EFEBE1;--line:#E2DDD3;--khaki:#C9BD9E;--deep:#A39371;--muted:#756F65;--ease:cubic-bezier(.16,1,.3,1);--ease2:cubic-bezier(.22,.61,.36,1);--header:72px;--shell:min(92vw,1720px)}[hidden]{display:none!important}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-snap-type:y proximity}body{margin:0;min-width:320px;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow-x:hidden}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}.site-header{position:fixed;z-index:100;left:0;right:0;top:0;height:var(--header);display:flex;align-items:center;gap:30px;padding:0 max(4vw,20px);border-bottom:1px solid rgba(226,221,211,.75);background:rgba(246,243,236,.94);backdrop-filter:blur(14px);transition:transform .5s var(--ease),opacity .35s ease,background .35s ease,border-color .35s ease}.site-header.hidden{transform:translateY(-110%);opacity:0;pointer-events:none}.brand{font-size:clamp(20px,1.5vw,26px);font-weight:950;letter-spacing:-.06em;white-space:nowrap}.brand span,.footer-mark span{color:var(--deep)}.desktop-nav{display:flex;gap:clamp(18px,2vw,36px);margin-left:auto}.desktop-nav a{font-size:10px;font-weight:900;letter-spacing:.06em;position:relative;padding:26px 0}.desktop-nav a:after{content:"";position:absolute;bottom:20px;left:0;right:100%;height:1px;background:currentColor;transition:right .35s var(--ease)}.desktop-nav a:hover:after{right:0}.header-actions{display:flex;align-items:center;gap:7px}.lang-btn,.signin,.menu-btn{border:1px solid var(--ink);background:transparent;color:var(--ink);border-radius:999px;padding:8px 13px;font-size:9px;font-weight:900;letter-spacing:.08em;transition:transform .2s var(--ease),background .25s ease,color .25s ease}.lang-btn:hover,.signin:hover,.menu-btn:hover{background:var(--ink);color:var(--paper);transform:translateY(-1px)}.menu-btn{display:none}.mobile-menu{position:fixed;z-index:90;inset:var(--header) 0 auto;background:var(--paper);border-bottom:1px solid var(--line);padding:14px 5vw 24px;transform:translateY(-120%);opacity:0;transition:transform .4s var(--ease),opacity .25s ease}.mobile-menu.open{transform:none;opacity:1}.mobile-menu nav{display:flex;flex-direction:column}.mobile-menu a{padding:15px 0;border-bottom:1px solid var(--line);font-weight:850}.page-section{min-height:100svh;min-height:100dvh;scroll-snap-align:start;position:relative;display:flex;align-items:center;padding:calc(var(--header) + clamp(24px,4vw,54px)) 0 clamp(32px,5vw,68px);overflow:hidden}.section-shell{width:var(--shell);margin:auto}.dark-section{background:var(--charcoal);color:var(--paper)}.paper-section{background:var(--paper)}.soft-section{background:var(--soft)}.hero-section{padding-top:var(--header)}.hero-shell{text-align:center;max-width:1400px}.eyebrow{margin:0 0 14px;color:var(--deep);font-size:9px;font-weight:950;letter-spacing:.18em;text-transform:uppercase}.dark-section .eyebrow{color:var(--khaki)}.hero-title{font-size:clamp(48px,8.5vw,148px);line-height:.88;letter-spacing:-.075em;margin:0 auto clamp(20px,3vw,34px);max-width:1450px;text-wrap:balance}.hero-copy{font-size:clamp(14px,1.25vw,20px);color:#c4bdb2;line-height:1.7;max-width:760px;margin:0 auto}.hero-actions{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin-top:30px}.button{border:0;border-radius:7px;min-height:44px;padding:12px 18px;font-size:9px;font-weight:950;letter-spacing:.09em;transition:transform .22s var(--ease),background .3s ease,color .3s ease,border-color .3s ease}.button:hover{transform:translateY(-2px)}.button:active{transform:scale(.98)}.button.primary{background:var(--khaki);color:var(--ink)}.button.ghost{background:transparent;border:1px solid rgba(246,243,236,.3);color:var(--paper)}.button.full{width:100%}.scroll-cue{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:7px;color:#8f887e}.scroll-cue span{width:1px;height:28px;background:#8f887e;animation:cue 1.8s ease-in-out infinite}.scroll-cue small{font-size:7px;letter-spacing:.15em}@keyframes cue{0%,100%{transform:scaleY(.5);transform-origin:top}50%{transform:scaleY(1)}}.full-layout{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr);gap:clamp(26px,4vw,55px)}.section-heading{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);column-gap:clamp(30px,6vw,100px);align-items:end}.section-heading .eyebrow{grid-column:1}.section-heading h2{grid-column:1;margin:0;font-size:clamp(38px,5vw,84px);letter-spacing:-.06em;line-height:.96;text-wrap:balance}.section-heading>p:not(.eyebrow){grid-column:2;grid-row:1/3;align-self:end;margin:0;color:var(--muted);font-size:clamp(12px,1vw,16px);line-height:1.75;max-width:600px;justify-self:end}.section-heading.light>p:not(.eyebrow){color:#bdb5a9}.client-carousel{min-height:0;display:flex;flex-direction:column;justify-content:center}.client-viewport{overflow-x:auto;overflow-y:hidden;touch-action:pan-y;cursor:grab;scrollbar-width:none;overscroll-behavior-x:contain;mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%)}.client-viewport::-webkit-scrollbar{display:none}.client-viewport.dragging{cursor:grabbing}.client-track{display:flex;gap:clamp(10px,1.3vw,18px);will-change:transform}.client-card{flex:0 0 clamp(255px,31vw,410px);min-height:clamp(230px,25vw,350px);border:1px solid #d8d1c5;background:#fbf8f1;border-radius:8px;position:relative;overflow:hidden;transform-origin:center;scroll-snap-align:center;opacity:.72;transform:scale(.945);transition:transform .65s var(--ease),opacity .45s ease,border-color .35s ease,background .35s ease}.client-card.active{border-color:var(--deep);background:#fffdf8;opacity:1;transform:scale(1)}.client-card:before{content:"";position:absolute;inset:0;background:linear-gradient(145deg,transparent 0 55%,rgba(163,147,113,.09) 55% 56%,transparent 56%)}.client-inner{position:relative;z-index:1;height:100%;padding:clamp(20px,2.6vw,34px);display:flex;flex-direction:column;justify-content:space-between}.client-top{display:flex;justify-content:space-between;align-items:flex-start}.client-logo{width:clamp(60px,6vw,86px);aspect-ratio:1;border:1px solid var(--line);display:grid;place-items:center;overflow:hidden;background:var(--soft);font-size:9px;font-weight:900;letter-spacing:.1em}.client-logo img{width:100%;height:100%;object-fit:contain;padding:7px}.client-num{font-size:8px;color:#9c9487;letter-spacing:.12em}.client-bottom small{font-size:8px;color:var(--deep);font-weight:950;letter-spacing:.14em}.client-bottom h3{font-size:clamp(24px,2.7vw,38px);letter-spacing:-.05em;margin:7px 0 9px}.client-bottom p{color:var(--muted);font-size:11px;line-height:1.6;margin:0}.carousel-controls{display:flex;align-items:center;justify-content:center;gap:15px;margin-top:18px}.carousel-controls>button{width:40px;height:40px;border-radius:50%;border:1px solid #d4ccbf;background:transparent;transition:.25s var(--ease)}.carousel-controls>button:hover{background:var(--ink);color:var(--paper);border-color:var(--ink);transform:scale(1.05)}.dots{display:flex;gap:6px;align-items:center}.dot{width:7px;height:7px;border:0;border-radius:999px;background:#c8c0b4;padding:0;transition:width .35s var(--ease),background .25s ease}.dot.active{width:24px;background:var(--deep)}.work-gallery{min-height:0;display:flex;gap:9px;height:min(54vh,590px)}.work-card{position:relative;flex:1 1 0;min-width:0;border:1px solid #d4ccbf;border-radius:8px;overflow:hidden;background:#c9bd9e;filter:grayscale(.9);transition:flex .7s var(--ease),filter .45s ease,transform .45s var(--ease)}.work-card:nth-child(2n){background:#b3aa9b}.work-card:nth-child(3n){background:#969789}.work-card:hover,.work-card.active{flex:4.6;filter:grayscale(0);transform:translateY(-3px)}.work-cover{position:absolute;inset:0;overflow:hidden}.work-cover-img{width:100%;height:100%;object-fit:cover;object-position:center}.work-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(28,26,23,.74))}.work-info{position:absolute;z-index:1;left:18px;right:18px;bottom:18px;color:#fff;opacity:.8;transition:opacity .35s ease,transform .45s var(--ease)}.work-card:not(.active):not(:hover) .work-info{transform:translateY(6px)}.work-info small{font-size:8px;letter-spacing:.14em;font-weight:900}.work-info h3{font-size:clamp(17px,2vw,28px);margin:5px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.services-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-left:1px solid var(--line);border-top:1px solid var(--line);align-self:center}.service-card{min-height:clamp(160px,21vh,260px);padding:clamp(22px,3vw,38px);border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .35s ease,transform .4s var(--ease)}.service-card:hover{background:#fbf8f1;transform:translateY(-3px)}.service-card .num{font-size:8px;color:var(--deep);font-weight:950}.service-card h3{font-size:clamp(22px,2.6vw,36px);letter-spacing:-.045em;margin:clamp(34px,5vh,65px) 0 8px}.service-card p{margin:0;color:var(--muted);line-height:1.65;font-size:clamp(11px,.9vw,14px)}.impact-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-self:center;border-top:1px solid rgba(246,243,236,.17);border-left:1px solid rgba(246,243,236,.17)}.impact-card{min-height:clamp(160px,24vh,260px);padding:clamp(20px,2.6vw,34px);border-right:1px solid rgba(246,243,236,.17);border-bottom:1px solid rgba(246,243,236,.17);display:flex;flex-direction:column;justify-content:flex-end}.impact-value{font-size:clamp(42px,5vw,84px);letter-spacing:-.065em;font-weight:900;color:var(--khaki)}.impact-label{font-size:10px;color:#c1b8aa;margin-top:7px}.impact-empty{grid-column:1/-1;min-height:200px;display:grid;place-items:center;color:#aaa296;text-align:center}.contact-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);gap:clamp(30px,7vw,120px);align-items:center}.contact-layout .section-heading{display:block}.contact-layout .section-heading h2{font-size:clamp(42px,6vw,96px);margin:0 0 18px}.contact-layout .section-heading>p:not(.eyebrow){max-width:650px}.contact-action{background:var(--charcoal);color:var(--paper);padding:clamp(28px,4vw,58px);border-radius:8px}.contact-action .mini-label{font-size:8px;color:var(--khaki);letter-spacing:.15em;font-weight:900}.contact-action h3{font-size:clamp(26px,3vw,44px);letter-spacing:-.05em;line-height:1.02;margin:18px 0 12px}.contact-action>p:not(.mini-label){color:#bdb5a8;line-height:1.6;font-size:12px}.contact-action .button{margin-top:24px}.footer-section{background:#141510;color:var(--paper);padding-top:clamp(50px,8vw,120px)}.footer-layout{display:grid;grid-template-columns:1.5fr .5fr;grid-template-rows:1fr auto;align-items:center;gap:30px}.footer-mark{font-size:clamp(70px,13vw,220px);letter-spacing:-.08em;line-height:.8;margin:20px 0}.footer-layout>div:first-child>p:last-child{color:#aaa396;font-size:clamp(13px,1.3vw,19px)}.footer-links{display:flex;flex-direction:column;gap:15px;align-self:center}.footer-links a{font-size:clamp(18px,2vw,30px);letter-spacing:-.03em}.footer-bottom{grid-column:1/-1;border-top:1px solid rgba(246,243,236,.15);padding-top:20px;display:flex;justify-content:space-between;color:#898477;font-size:10px}.footer-bottom button{border:0;background:transparent;color:#c8c0b4}.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease2),transform .85s var(--ease)}.reveal.visible{opacity:1;transform:none}.hero-section .reveal:nth-child(2){transition-delay:.08s}.hero-section .reveal:nth-child(3){transition-delay:.16s}.hero-section .reveal:nth-child(4){transition-delay:.24s}.modal{position:fixed;z-index:200;inset:0;display:none}.modal.open{display:block}.modal-backdrop{position:absolute;inset:0;background:rgba(28,26,23,.56);backdrop-filter:blur(4px);animation:fade .25s ease}.modal-panel{position:absolute;right:0;top:0;bottom:0;width:min(520px,100%);overflow:auto;background:var(--paper);padding:clamp(24px,4vw,44px);animation:panelIn .5s var(--ease)}@keyframes panelIn{from{transform:translateX(100%)}to{transform:none}}@keyframes fade{from{opacity:0}to{opacity:1}}.modal-head{display:flex;justify-content:space-between;gap:20px;margin-bottom:28px}.modal-head h2{font-size:clamp(34px,5vw,56px);letter-spacing:-.055em;margin:0}.modal-close{border:1px solid var(--line);background:transparent;border-radius:50%;width:40px;height:40px;font-size:24px}.modal label,.form-site label{display:block;font-size:10px;font-weight:850;color:#625d55;margin:14px 0}.modal input,.modal textarea,.form-site input,.form-site textarea,.form-site select{display:block;width:100%;margin-top:7px;border:1px solid #d7d0c4;background:#fffdf8;border-radius:7px;padding:12px 13px;color:var(--ink);outline:none}.modal textarea,.form-site textarea{min-height:110px;resize:vertical}.modal input:focus,.modal textarea:focus,.form-site input:focus,.form-site textarea:focus,.form-site select:focus{border-color:var(--deep);box-shadow:0 0 0 3px rgba(163,147,113,.12)}.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:16px 0}.slot{border:1px solid #d7d0c4;background:#fffdf8;border-radius:7px;padding:10px;font-size:10px}.slot.selected{background:var(--charcoal);color:var(--paper);border-color:var(--charcoal)}.form-status{font-size:11px;color:var(--muted);min-height:18px;margin:12px 0}.form-status.error{color:#934d45}.form-site{min-height:100dvh;background:var(--paper)}.form-hero{min-height:100dvh;display:flex;align-items:center;padding:clamp(36px,7vw,90px) 0}.form-shell{width:min(92vw,780px);margin:auto}.form-shell h1{font-size:clamp(44px,8vw,88px);letter-spacing:-.065em;line-height:.94;margin:12px 0}.form-shell>p{color:var(--muted);line-height:1.7}.back-link{font-size:10px;font-weight:900;display:inline-block;margin-bottom:45px}.field-group{margin:20px 0}.field-group>label{font-size:12px}.choice-list{display:grid;gap:7px;margin-top:8px}.choice{display:flex!important;align-items:center;gap:9px;border:1px solid #d7d0c4;border-radius:7px;padding:11px;background:#fffdf8;margin:0!important}.choice input{width:auto!important;margin:0!important}.rating{display:flex;gap:6px;margin-top:8px}.rating button{width:42px;height:42px;border:1px solid #d7d0c4;background:#fffdf8;border-radius:7px}.rating button.active{background:var(--charcoal);color:var(--paper)}.trap{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;opacity:0!important;pointer-events:none!important}.toast{position:fixed;z-index:300;left:50%;bottom:20px;transform:translate(-50%,20px);background:var(--charcoal);color:var(--paper);padding:11px 15px;border-radius:7px;font-size:10px;opacity:0;pointer-events:none;transition:.3s var(--ease)}.toast.show{opacity:1;transform:translate(-50%,0)}[dir=rtl] .desktop-nav{margin-left:0;margin-right:auto}[dir=rtl] .modal-panel{right:auto;left:0}[dir=rtl] .eyebrow{letter-spacing:.05em}@media(max-width:1000px){.desktop-nav,.signin{display:none}.menu-btn{display:block}.section-heading{grid-template-columns:1fr}.section-heading>p:not(.eyebrow){grid-column:1;grid-row:auto;justify-self:start;margin-top:14px}.impact-grid{grid-template-columns:repeat(2,1fr)}.contact-layout{grid-template-columns:1fr;gap:25px}.footer-layout{grid-template-columns:1fr}.footer-links{align-self:start}.footer-bottom{grid-column:1}.full-layout{gap:18px}.work-gallery{height:min(52vh,520px)}}@media(max-width:700px){:root{--header:64px;--shell:calc(100vw - 24px)}html{scroll-snap-type:y proximity}.site-header{padding:0 12px}.lang-btn{display:none}.page-section{min-height:100svh;min-height:100dvh;padding:calc(var(--header) + 16px) 0 20px}.hero-section{padding-top:var(--header)}.hero-shell{text-align:left}.hero-actions{justify-content:flex-start}.hero-actions .button{flex:1 1 100%}.scroll-cue{display:none}.client-carousel{margin-inline:-12px}.client-viewport{mask-image:linear-gradient(90deg,transparent 0,#000 2%,#000 98%,transparent 100%)}.client-card{flex-basis:min(78vw,340px);min-height:280px}.work-gallery{height:clamp(280px,46dvh,400px);display:grid;grid-auto-flow:column;grid-auto-columns:min(78vw,350px);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}.work-card{scroll-snap-align:center;filter:grayscale(0);min-width:auto}.work-card:hover,.work-card.active{flex:unset;transform:none}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card{min-height:clamp(120px,20vh,170px);padding:15px}.service-card h3{font-size:clamp(17px,5vw,23px);margin:22px 0 5px}.service-card p{font-size:10px;line-height:1.45}.impact-grid{grid-template-columns:1fr 1fr}.footer-mark{font-size:clamp(64px,21vw,110px)}.footer-bottom{flex-direction:column;gap:12px}.slots{grid-template-columns:repeat(2,1fr)}}@media(max-width:430px){.impact-grid{grid-template-columns:1fr 1fr}.impact-card{min-height:125px;padding:14px}.impact-value{font-size:clamp(34px,12vw,50px)}.section-heading h2{font-size:clamp(36px,13vw,58px)}.contact-action{padding:25px 20px}.modal-panel{padding:24px 16px}.client-card{flex-basis:84vw}.rating button{flex:1}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}.scroll-cue{display:none}}
/* V2 product polish: Concierge, bilingual forms and responsive safety */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.ltr-isolate{direction:ltr;unicode-bidi:isolate}.public-empty{width:100%;min-height:190px;display:grid;place-items:center;padding:30px;text-align:center;border:1px dashed var(--line);border-radius:8px;color:var(--muted);font-size:12px}.work-info p{margin:7px 0 0;font-size:10px;line-height:1.55;max-width:460px;color:rgba(255,255,255,.76);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.form-topline{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.form-topline .lang-btn{display:inline-flex;align-items:center;justify-content:center}.form-topline .back-link{margin-bottom:45px}.required-mark{display:inline-block;margin-inline-start:6px;color:#934d45;font-size:9px}.field-group small{display:block;margin-top:7px;color:var(--muted);font-size:10px;line-height:1.5}.public-form-section{margin:42px 0 20px;padding-top:24px;border-top:1px solid var(--line)}.public-form-section h2{font-size:clamp(24px,4vw,38px);letter-spacing:-.045em;margin:0 0 8px}.public-form-section p{color:var(--muted);line-height:1.6;margin:0}.form-complete{border:1px solid var(--line);background:#fffdf8;border-radius:10px;padding:clamp(28px,5vw,52px);margin-top:25px}.form-complete .completion-mark{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--charcoal);color:var(--paper);font-size:24px}.form-complete h2{font-size:clamp(30px,5vw,50px);letter-spacing:-.05em;margin:22px 0 8px}.form-complete p{color:var(--muted);line-height:1.6;margin:0 0 26px}.mobile-language{border:0;background:transparent;text-align:start;padding:15px 0;font-weight:850;color:var(--deep)}
.concierge-modal{z-index:240}.concierge-panel{width:min(620px,100%);display:flex;flex-direction:column;padding:0;overflow:hidden}.concierge-head{padding:clamp(22px,3vw,34px);margin:0;border-bottom:1px solid var(--line);background:#faf7ef;align-items:flex-start}.concierge-head h2{font-size:clamp(32px,4vw,48px)}.concierge-security{margin:9px 0 0;color:var(--muted);font-size:10px;line-height:1.5;max-width:430px}.concierge-messages{flex:1;min-height:0;overflow-y:auto;padding:24px clamp(16px,3vw,30px);display:flex;flex-direction:column;gap:13px;background:var(--paper);overscroll-behavior:contain}.concierge-message{display:flex;max-width:90%}.concierge-message.user{align-self:flex-end}.concierge-message.assistant{align-self:flex-start}.concierge-bubble{padding:12px 14px;border-radius:14px 14px 14px 4px;background:#fffdf8;border:1px solid var(--line);font-size:13px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.concierge-message.user .concierge-bubble{background:var(--charcoal);color:var(--paper);border-color:var(--charcoal);border-radius:14px 14px 4px 14px}.concierge-summary,.booking-receipt{width:min(100%,470px);background:#fffdf8;border:1px solid var(--line);border-radius:12px;padding:14px 16px}.concierge-summary>div,.booking-receipt>div{display:grid;grid-template-columns:minmax(90px,.38fr) minmax(0,1fr);gap:12px;padding:9px 0;border-bottom:1px solid var(--line);align-items:start}.concierge-summary>div:last-child,.booking-receipt>div:last-child{border-bottom:0}.concierge-summary span,.booking-receipt span{font-size:9px;font-weight:850;color:var(--muted)}.concierge-summary strong,.booking-receipt strong{font-size:11px;font-weight:750;overflow-wrap:anywhere}.receipt-wrap{max-width:100%}.receipt-kicker{margin:0 0 10px;color:var(--deep);font-size:9px;font-weight:950;letter-spacing:.1em}.concierge-actions{display:flex;gap:7px;flex-wrap:wrap;padding:0 clamp(16px,3vw,30px) 12px;background:var(--paper)}.concierge-action{border:1px solid var(--line);background:#fffdf8;border-radius:999px;padding:9px 13px;font-size:10px;font-weight:800;color:var(--ink)}.concierge-action:hover,.concierge-action:focus-visible{border-color:var(--deep);outline:none}.concierge-action.primary-action{background:var(--charcoal);color:var(--paper);border-color:var(--charcoal)}.concierge-typing{align-self:flex-start;margin:0 30px 12px;display:flex;gap:4px;padding:11px 13px;border:1px solid var(--line);border-radius:14px 14px 14px 4px;background:#fffdf8}.concierge-typing[hidden]{display:none}.concierge-typing span{width:6px;height:6px;border-radius:50%;background:var(--deep);animation:typingDot 1s ease-in-out infinite}.concierge-typing span:nth-child(2){animation-delay:.12s}.concierge-typing span:nth-child(3){animation-delay:.24s}@keyframes typingDot{0%,70%,100%{transform:translateY(0);opacity:.45}35%{transform:translateY(-4px);opacity:1}}.concierge-composer{display:grid;grid-template-columns:minmax(0,1fr) 46px;gap:8px;align-items:end;padding:13px clamp(16px,3vw,30px);border-top:1px solid var(--line);background:#faf7ef}.concierge-composer textarea{min-height:46px;max-height:130px;resize:none;border:1px solid #d7d0c4;border-radius:12px;padding:12px 13px;background:#fffdf8;outline:none;line-height:1.45}.concierge-composer textarea:focus{border-color:var(--deep);box-shadow:0 0 0 3px rgba(163,147,113,.12)}.concierge-send{width:46px;height:46px;border:0;border-radius:12px;background:var(--charcoal);color:var(--paper);font-size:20px}.concierge-send:disabled{opacity:.5}.concierge-restart{border:0;border-top:1px solid var(--line);background:#faf7ef;color:var(--muted);min-height:38px;font-size:9px;font-weight:850}.concierge-restart:hover{color:var(--ink)}
html[dir="rtl"] .hero-shell{text-align:center}html[dir="rtl"] .work-info{text-align:right}html[dir="rtl"] .concierge-message.user{align-self:flex-end}html[dir="rtl"] .concierge-bubble{border-radius:14px 14px 4px 14px}html[dir="rtl"] .concierge-message.user .concierge-bubble{border-radius:14px 14px 14px 4px}html[dir="rtl"] .concierge-send{transform:scaleX(-1)}html[dir="rtl"] .back-link{direction:ltr;unicode-bidi:isolate}
@media(max-width:700px){.site-header .lang-btn{display:inline-flex}.header-actions{gap:5px}.signin{display:none}.concierge-panel{top:auto;height:min(92dvh,820px);border-radius:20px 20px 0 0}.modal.concierge-modal .modal-panel{bottom:0;left:0;right:0;animation:conciergeUp .4s var(--ease)}@keyframes conciergeUp{from{transform:translateY(100%)}to{transform:none}}.concierge-head{padding:19px 16px}.concierge-messages{padding:16px}.concierge-actions{padding-inline:16px}.concierge-typing{margin-inline:16px}.concierge-composer{padding-inline:12px}.concierge-message{max-width:94%}.concierge-summary>div,.booking-receipt>div{grid-template-columns:90px minmax(0,1fr)}.form-shell{width:calc(100vw - 28px)}html[dir="rtl"] .hero-shell{text-align:right}}
@media(max-width:390px){.brand{font-size:19px}.lang-btn,.menu-btn{padding:7px 10px}.concierge-summary>div,.booking-receipt>div{grid-template-columns:1fr;gap:3px}.concierge-action{flex:1 1 auto;text-align:center}.form-topline{align-items:center}}


/* Public form validation and touch/accessibility polish */
.field-group.field-error>label,.field-group.field-error>.field-label{color:#7b3029}
.field-group.field-error input,.field-group.field-error textarea,.field-group.field-error select,.field-group.field-error .choice,.field-group.field-error .rating button{border-color:#9a4a42}
.field-group.field-error input:focus,.field-group.field-error textarea:focus,.field-group.field-error select:focus{box-shadow:0 0 0 3px rgba(154,74,66,.12)}
.field-group [aria-invalid="true"]{border-color:#9a4a42}
.choice input{min-width:18px;min-height:18px}
button,.button,a.button,input,select,textarea{touch-action:manipulation}
@media(max-width:700px){
  .field-group input,.field-group select,.field-group textarea,.choice,.rating button{min-height:44px}
}

/* Public refinement v13 — complete theme, impact and mobile */
:root{--surface:#fffdf8;--surface-2:#efebe1;--surface-dark:#151310;--theme-shadow:0 22px 70px rgba(28,26,23,.1)}
html[data-theme="dark"]{--paper:#12110f;--ink:#f6f1e7;--charcoal:#080807;--line:#34302a;--khaki:#d0c39f;--khaki-deep:#bba77a;--soft:#1a1815;--muted:#a9a196;--deep:#d0c39f;--surface:#1a1815;--surface-2:#211e1a;--surface-dark:#080807;--theme-shadow:0 24px 80px rgba(0,0,0,.34)}
html[data-theme="dark"] body{background:var(--paper);color:var(--ink)}
.theme-btn{min-width:40px;height:38px;border:1px solid currentColor;border-radius:999px;background:transparent;color:inherit;display:inline-grid;place-items:center;font-size:14px;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}
.theme-btn:hover{transform:translateY(-1px);background:rgba(201,189,158,.12)}
html[data-theme="dark"] .site-header{background:rgba(18,17,15,.82);border-color:rgba(246,241,231,.12);color:var(--ink)}
html[data-theme="dark"] .site-header .brand,html[data-theme="dark"] .desktop-nav a,html[data-theme="dark"] .signin,html[data-theme="dark"] .menu-btn,html[data-theme="dark"] .lang-btn{color:var(--ink)}
html[data-theme="dark"] .paper-section,html[data-theme="dark"] .soft-section,html[data-theme="dark"] .form-hero{background:var(--paper);color:var(--ink)}
html[data-theme="dark"] .soft-section{background:#171512}
html[data-theme="dark"] .client-card,html[data-theme="dark"] .service-card,html[data-theme="dark"] .form-shell,html[data-theme="dark"] .form-complete,html[data-theme="dark"] .choice,html[data-theme="dark"] .concierge-bubble,html[data-theme="dark"] .concierge-summary,html[data-theme="dark"] .booking-receipt{background:var(--surface);border-color:var(--line);color:var(--ink)}
html[data-theme="dark"] .concierge-head,html[data-theme="dark"] .concierge-composer,html[data-theme="dark"] .concierge-restart{background:#171512;border-color:var(--line)}
html[data-theme="dark"] .concierge-messages,html[data-theme="dark"] .concierge-actions{background:var(--paper)}
html[data-theme="dark"] .concierge-composer textarea,html[data-theme="dark"] .form-site input,html[data-theme="dark"] .form-site textarea,html[data-theme="dark"] .form-site select{background:var(--surface);border-color:var(--line);color:var(--ink)}
html[data-theme="dark"] .concierge-message.user .concierge-bubble,html[data-theme="dark"] .concierge-send{background:var(--khaki);border-color:var(--khaki);color:#171512}
html[data-theme="dark"] .public-empty{background:rgba(255,255,255,.015)}
html[data-theme="dark"] .mobile-menu{background:#12110f;color:var(--ink)}
html[data-theme="dark"] .mobile-menu a,html[data-theme="dark"] .mobile-language{color:var(--ink);border-color:var(--line)}
html[data-theme="dark"] .button.ghost{color:var(--ink);border-color:rgba(246,241,231,.3)}
html[data-theme="dark"] .footer-section{background:#080807;color:#f6f1e7}
.form-preferences,.footer-preferences{display:flex;align-items:center;gap:7px}.footer-preferences button{border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}

/* Work cards support fully custom, image-optional content */
.work-no-image{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(145deg,#211f1b,#0d0c0a);color:#d7c8a4}.work-no-image span{font-size:clamp(22px,4vw,48px);font-weight:900;letter-spacing:-.06em;opacity:.75}.work-link{display:inline-flex;margin-top:10px;color:#fff;font-size:9px;font-weight:900;letter-spacing:.09em;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.45);padding-bottom:3px;position:relative;z-index:3}.work-link:focus-visible{outline:2px solid var(--khaki);outline-offset:4px}

/* Impact — compact performance board inspired by the reference, in Alawal khaki */
#impact{position:relative;overflow:hidden;background:#090807;color:#f6f1e7}
#impact::before{content:"";position:absolute;width:min(70vw,850px);height:min(70vw,850px);right:-18vw;top:-30vw;border-radius:50%;background:radial-gradient(circle,rgba(201,189,158,.19),rgba(201,189,158,.05) 34%,transparent 70%);filter:blur(10px);pointer-events:none}
#impact .section-shell{position:relative;z-index:1}
.impact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0;border:1px solid rgba(246,241,231,.16);border-radius:2px;overflow:visible;background:rgba(255,255,255,.015);align-self:end}
.impact-card{position:relative;min-height:180px;padding:20px 16px 18px;display:flex;flex-direction:column;justify-content:flex-end;border:0;border-inline-end:1px solid rgba(246,241,231,.14);background:transparent;color:#f6f1e7;overflow:visible;transition:transform .28s var(--ease),background .28s,border-color .28s}
.impact-card:last-child{border-inline-end:0}.impact-index{position:absolute;top:15px;inset-inline-start:15px;font-size:8px;font-weight:900;letter-spacing:.12em;color:rgba(246,241,231,.38)}.impact-value{font-size:clamp(34px,4.6vw,66px);line-height:.92;letter-spacing:-.065em;font-weight:620;white-space:nowrap}.impact-label{margin-top:12px;max-width:150px;font-size:9px;line-height:1.45;color:rgba(246,241,231,.62)}
.impact-card.featured{z-index:2;background:linear-gradient(180deg,rgba(201,189,158,.22),rgba(201,189,158,.07));border:1px solid rgba(226,211,172,.6);margin:-1px;box-shadow:0 0 22px rgba(201,189,158,.3),0 0 70px rgba(201,189,158,.16),inset 0 0 30px rgba(201,189,158,.08);transform:translateY(-7px)}.impact-card.featured::before{content:"";position:absolute;inset:-12px;background:radial-gradient(circle at 50% 48%,rgba(225,209,164,.18),transparent 65%);filter:blur(12px);z-index:-1;pointer-events:none}.impact-card.featured .impact-value{color:#f5e8c1}.impact-card.featured .impact-index{color:#d8c493}

/* Public mobile and touch hardening */
@media(max-width:900px){.section-shell{width:min(var(--shell),100%)}.impact-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.impact-card:nth-child(3n){border-inline-end:0}.impact-card:nth-child(n+4){border-top:1px solid rgba(246,241,231,.14)}.work-gallery{min-width:0}}
@media(max-width:700px){:root{--shell:calc(100vw - 28px)}.site-header{height:var(--header);padding-inline:14px}.header-actions{margin-inline-start:auto}.theme-btn,.lang-btn,.menu-btn{min-width:42px;min-height:42px}.site-header .theme-btn{display:inline-grid}.page-section{padding-inline:0}.section-shell{width:var(--shell)}.hero-shell{padding-bottom:max(26px,env(safe-area-inset-bottom))}.hero-title{font-size:clamp(48px,15vw,84px);max-width:100%;overflow-wrap:normal}.hero-copy{max-width:92%;font-size:12px}.mobile-menu{padding:calc(var(--header) + 22px) 20px max(28px,env(safe-area-inset-bottom));overflow:auto}.mobile-menu nav{min-height:calc(100dvh - var(--header) - 50px);display:flex;flex-direction:column}.mobile-menu a{font-size:clamp(30px,9vw,54px)}.mobile-language{min-height:48px;margin-top:3px;border-top:1px solid var(--line)}.client-card{flex-basis:min(84vw,360px)}.work-gallery{grid-auto-columns:min(84vw,360px);height:clamp(340px,58dvh,520px);scroll-padding-inline:8vw}.work-card{border-radius:8px}.services-grid{gap:8px}.impact-grid{display:grid;grid-auto-flow:column;grid-auto-columns:min(76vw,300px);grid-template-columns:none;overflow-x:auto;overflow-y:visible;scroll-snap-type:x mandatory;border:0;background:transparent;gap:9px;padding:18px 8vw 24px;margin-inline:calc(-1 * (100vw - var(--shell))/2);scrollbar-width:none}.impact-grid::-webkit-scrollbar{display:none}.impact-card,.impact-card:last-child,.impact-card:nth-child(3n),.impact-card:nth-child(n+4){scroll-snap-align:center;min-height:210px;border:1px solid rgba(246,241,231,.16);border-radius:4px;background:rgba(255,255,255,.025)}.impact-card.featured{transform:none;margin:0}.impact-value{font-size:clamp(44px,14vw,64px)}.contact-action{padding:22px}.footer-bottom{align-items:flex-start}.footer-preferences{width:100%;justify-content:space-between;border-top:1px solid rgba(246,241,231,.12);padding-top:12px}.form-topline{align-items:center}.form-preferences{margin-inline-start:auto}.form-shell{padding-bottom:max(36px,env(safe-area-inset-bottom))}.concierge-panel{width:100%;max-width:none}.concierge-messages{overscroll-behavior-y:contain}.concierge-composer{padding-bottom:max(12px,env(safe-area-inset-bottom))}}
@media(max-width:480px){.site-header .brand{font-size:20px}.site-header .lang-btn{display:inline-grid}.header-actions{gap:4px}.theme-btn,.lang-btn,.menu-btn{min-width:38px;height:38px;padding-inline:8px}.menu-btn{font-size:9px}.hero-title{font-size:clamp(46px,16vw,68px)}.services-grid{grid-template-columns:1fr 1fr}.service-card{min-height:145px}.contact-layout{gap:16px}.form-shell{width:calc(100vw - 20px)}.form-hero{padding-inline:10px}.concierge-panel{height:min(94dvh,840px)}.concierge-summary,.booking-receipt{padding-inline:12px}}
@media(max-width:360px){.site-header{padding-inline:9px}.site-header .brand{font-size:18px}.header-actions{gap:3px}.theme-btn,.lang-btn,.menu-btn{min-width:36px;height:36px;padding-inline:6px}.hero-title{font-size:44px}.services-grid{grid-template-columns:1fr}.service-card{min-height:125px}.impact-grid{grid-auto-columns:82vw}.client-card{flex-basis:88vw}.work-gallery{grid-auto-columns:88vw}.concierge-message{max-width:97%}}
@media(max-height:520px) and (orientation:landscape){.concierge-panel{height:100dvh;border-radius:0}.concierge-head{padding-block:10px}.concierge-head h2{font-size:26px}.concierge-security{display:none}.concierge-messages{padding-block:10px}.page-section{min-height:100dvh;padding-top:calc(var(--header) + 10px)}}
@media(prefers-reduced-motion:reduce){.impact-card,.theme-btn{transition:none!important}.impact-card.featured{transform:none}}

/* Dark sections keep true light foreground even when --paper becomes the dark page canvas. */
html[data-theme="dark"] .dark-section{background:#080807;color:#f6f1e7}
html[data-theme="dark"] .dark-section .hero-title,html[data-theme="dark"] .dark-section .section-heading h2{color:#f6f1e7}
html[data-theme="dark"] .button.primary{background:var(--khaki);color:#171512}


/* Looping carousel + contact/theme completion v14 */
.loop-carousel{width:100%;min-width:0;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:15px;align-self:center}
.loop-viewport,.client-viewport{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:50%;overscroll-behavior-inline:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;mask-image:none!important;cursor:auto}
.loop-viewport::-webkit-scrollbar,.client-viewport::-webkit-scrollbar{display:none}
.loop-track,.client-track{display:flex;align-items:stretch;gap:clamp(10px,1.35vw,18px);width:max-content;min-width:100%;padding:8px clamp(4px,1vw,12px);will-change:auto}
.loop-controls,.carousel-controls{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:0}
.loop-controls button,.carousel-controls>button{width:40px;height:40px;flex:0 0 40px;border-radius:50%;border:1px solid currentColor;background:transparent;color:inherit;display:grid;place-items:center;transition:background .2s var(--ease),color .2s var(--ease),transform .2s var(--ease)}
.loop-controls button:hover,.carousel-controls>button:hover{background:var(--ink);color:var(--paper);transform:translateY(-1px)}
.dark-section .loop-controls button{border-color:rgba(246,241,231,.35);color:#f6f1e7}.dark-section .loop-controls button:hover{background:#f6f1e7;color:#171512}
.loop-counter{min-width:60px;text-align:center;font-size:9px;font-weight:900;letter-spacing:.12em;color:var(--muted)}
.dark-section .loop-counter{color:rgba(246,241,231,.6)}

/* Clients stay compact and centered instead of filling the entire section. */
.client-carousel{width:100%;min-width:0;align-self:center}
.client-card{flex:0 0 clamp(250px,29vw,380px);min-height:clamp(235px,25vw,320px);opacity:.64;transform:scale(.97);scroll-snap-align:center;scroll-snap-stop:always}
.client-card.active{opacity:1;transform:scale(1)}
.client-inner{padding:clamp(18px,2.1vw,28px)}
.client-bottom h3{font-size:clamp(22px,2.25vw,32px)}
.client-bottom p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

/* Work is a real looping card carousel; no accordion expansion/crowding. */
.work-gallery{height:auto!important;min-height:0!important;display:block!important;overflow:visible!important;align-self:center}
.work-loop-track .work-card{position:relative;flex:0 0 clamp(260px,29vw,390px)!important;width:auto;min-width:0;height:clamp(310px,33vw,440px);border-radius:10px;filter:none!important;transform:none!important;scroll-snap-align:center;scroll-snap-stop:always;transition:transform .28s var(--ease),border-color .28s,box-shadow .28s;opacity:.78}
.work-loop-track .work-card:hover,.work-loop-track .work-card.active{flex-basis:clamp(260px,29vw,390px)!important;transform:translateY(-3px)!important;opacity:1;border-color:var(--deep);box-shadow:0 18px 42px rgba(28,26,23,.12)}
.work-loop-track .work-info{opacity:1;transform:none!important;inset-inline:18px;left:auto;right:auto;bottom:18px;max-width:calc(100% - 36px)}
.work-loop-track .work-info h3{font-size:clamp(20px,2vw,28px);white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.work-loop-track .work-info p{font-size:10px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:7px 0 0;color:rgba(255,255,255,.74)}
.work-loop-track .work-link{display:inline-flex;margin-top:10px;font-size:8px;font-weight:900;letter-spacing:.1em;border-bottom:1px solid rgba(255,255,255,.35);padding-bottom:4px}
.work-no-image{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(135deg,#1d1b18,#0d0c0b);color:rgba(246,241,231,.46);font-size:clamp(24px,3vw,42px);font-weight:950;letter-spacing:-.06em}

/* Impact: title first, then value; one focused metric with every value guaranteed to fit. */
.impact-grid{display:block!important;border:0!important;background:transparent!important;overflow:visible!important;align-self:center}
.impact-loop-track{align-items:stretch}
.impact-loop-track .impact-card,.impact-loop-track .impact-card:last-child,.impact-loop-track .impact-card:nth-child(3n),.impact-loop-track .impact-card:nth-child(n+4){flex:0 0 clamp(225px,27vw,330px);min-height:clamp(190px,22vw,245px);padding:22px 20px;border:1px solid rgba(246,241,231,.16);border-radius:7px;background:rgba(255,255,255,.02);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;scroll-snap-align:center;scroll-snap-stop:always;transform:none;margin:0;overflow:hidden;transition:background .28s var(--ease),border-color .28s var(--ease),box-shadow .28s var(--ease),transform .28s var(--ease);opacity:.74}
.impact-loop-track .impact-card.active,.impact-loop-track .impact-card.featured{opacity:1;transform:translateY(-3px);background:linear-gradient(180deg,rgba(201,189,158,.18),rgba(201,189,158,.055));border-color:rgba(226,211,172,.52);box-shadow:0 14px 45px rgba(0,0,0,.18),0 0 44px rgba(201,189,158,.12)}
.impact-loop-track .impact-card.featured::before{display:none}
.impact-index{top:14px;inset-inline-start:16px}
.impact-label{order:1;margin:0 0 18px;max-width:92%;font-size:clamp(13px,1.2vw,16px);line-height:1.35;font-weight:850;color:#f6f1e7;letter-spacing:-.015em}
.impact-value{order:2;width:100%;max-width:100%;margin:0;font-size:clamp(32px,4.2vw,56px);line-height:.96;font-weight:850;letter-spacing:-.055em;white-space:nowrap;overflow:hidden;color:var(--khaki)}
.impact-card.featured .impact-value{color:#f1dfad}

/* The Contact concierge card must stay legible when the whole site is dark. */
html[data-theme="dark"] #contact .contact-action{background:#070706;border-color:#2e2b26;color:#f6f1e7}
html[data-theme="dark"] #contact .contact-action h3{color:#f6f1e7!important}
html[data-theme="dark"] #contact .contact-action>p:not(.mini-label){color:#c7beb1}
html[data-theme="dark"] #contact .contact-action .mini-label{color:var(--khaki)}
html[data-theme="dark"] #contact .contact-action .button.primary{background:var(--khaki);color:#171512}

@media(max-width:1000px){
 .client-card{flex-basis:clamp(245px,42vw,350px)}
 .work-loop-track .work-card,.work-loop-track .work-card:hover,.work-loop-track .work-card.active{flex-basis:clamp(255px,42vw,360px)!important;height:clamp(300px,47vw,410px)}
 .impact-loop-track .impact-card,.impact-loop-track .impact-card:last-child,.impact-loop-track .impact-card:nth-child(3n),.impact-loop-track .impact-card:nth-child(n+4){flex-basis:clamp(220px,38vw,300px)}
}
@media(max-width:700px){
 .full-layout{gap:22px}
 .loop-track,.client-track{gap:10px;padding-inline:7vw}
 .client-carousel{margin-inline:0}
 .client-card{flex-basis:min(84vw,330px);min-height:260px}
 .work-loop-track .work-card,.work-loop-track .work-card:hover,.work-loop-track .work-card.active{flex-basis:min(84vw,340px)!important;height:min(54dvh,420px);min-height:315px}
 .impact-loop-track .impact-card,.impact-loop-track .impact-card:last-child,.impact-loop-track .impact-card:nth-child(3n),.impact-loop-track .impact-card:nth-child(n+4){flex-basis:min(82vw,300px);min-height:205px;padding:21px 18px}
 .impact-loop-track .impact-card.active,.impact-loop-track .impact-card.featured{transform:none}
 .impact-label{font-size:15px;margin-bottom:16px}
 .impact-value{font-size:clamp(30px,11vw,50px)}
 .loop-controls,.carousel-controls{margin-top:2px}
}
@media(max-width:390px){
 .loop-track,.client-track{padding-inline:5vw}
 .client-card{flex-basis:88vw;min-height:250px}
 .work-loop-track .work-card,.work-loop-track .work-card:hover,.work-loop-track .work-card.active{flex-basis:88vw!important;height:390px}
 .impact-loop-track .impact-card,.impact-loop-track .impact-card:last-child,.impact-loop-track .impact-card:nth-child(3n),.impact-loop-track .impact-card:nth-child(n+4){flex-basis:86vw;min-height:195px}
 .impact-value{font-size:clamp(28px,10.5vw,44px)}
}
@media(prefers-reduced-motion:reduce){
 .client-card,.work-loop-track .work-card,.impact-loop-track .impact-card,.loop-controls button{transition:none!important}
}

/* Global typography v15 — Outfit English / Cairo Arabic */
html,body,button,input,select,textarea{font-family:"Outfit",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
html[lang="ar"],html[lang="ar"] body,html[lang="ar"] button,html[lang="ar"] input,html[lang="ar"] select,html[lang="ar"] textarea{font-family:"Cairo",Tahoma,Arial,sans-serif}
.footer-mark{display:block;width:max-content;max-width:100%;text-decoration:none;color:inherit;font-weight:850}
.footer-mark:focus-visible{outline:3px solid rgba(201,189,158,.55);outline-offset:8px;border-radius:4px}


/* Public mobile navigation + responsive QA v16 */
html.mobile-menu-open,body.mobile-menu-open{overflow:hidden!important;overscroll-behavior:none}
@media(max-width:1000px){
  .mobile-menu{
    top:var(--header);bottom:0;left:0;right:0;inset:auto 0 0;
    height:calc(100dvh - var(--header));
    padding:20px max(20px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));
    transform:translate3d(0,-16px,0);
    opacity:0;visibility:hidden;pointer-events:none;
    overflow-y:auto;overscroll-behavior:contain;
    z-index:95;
  }
  .mobile-menu.open{transform:translate3d(0,0,0);opacity:1;visibility:visible;pointer-events:auto}
  .mobile-menu nav{min-height:100%;justify-content:flex-start}
  .mobile-menu a,.mobile-language{min-height:48px;display:flex;align-items:center}
}
@media(max-width:700px){
  .mobile-menu{padding-top:18px}
  .mobile-menu nav{min-height:100%}
  .mobile-menu a{font-size:clamp(27px,8.6vw,46px);line-height:1.08;padding:13px 0}
  .page-section{scroll-margin-top:var(--header)}
  .section-heading{min-width:0}
  .section-heading h2,.section-heading p{max-width:100%;overflow-wrap:anywhere}
  .hero-actions{flex-wrap:wrap}
  .hero-actions .button{min-height:46px}
  .contact-action{min-width:0}
  .footer-layout{min-width:0}
  .footer-links a{min-height:44px;display:flex;align-items:center}
}
@media(max-width:390px){
  .header-actions{min-width:0}
  .site-header .brand{min-width:0;white-space:nowrap}
}


/* Public interaction system v17 — refined controls, skeleton, carousel semantics, lightbox */
:root{--public-focus:0 0 0 3px rgba(163,147,113,.28);--public-fast:160ms;--public-normal:260ms}
a,button,input,textarea,select,[tabindex]{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--khaki);outline-offset:4px;box-shadow:var(--public-focus)}
.button,.site-header a,.site-header button,.loop-controls button,.carousel-controls button,.client-card,.work-card,.impact-card{transition-duration:var(--public-normal);transition-timing-function:cubic-bezier(.2,.8,.2,1)}

/* Compact language segment */
.public-language-segment{display:inline-grid;grid-template-columns:1fr 1fr;gap:2px;padding:3px;border:1px solid currentColor;border-color:color-mix(in srgb,currentColor 22%,transparent);border-radius:999px}
.public-language-segment button{min-width:34px;height:30px;border:0;border-radius:999px;background:transparent;color:inherit;font:800 9px/1 inherit;letter-spacing:.08em;cursor:pointer;opacity:.62}
.public-language-segment button.active{background:currentColor;opacity:1}
.public-language-segment button.active::first-line{color:var(--paper)}
.site-header:not(.light) .public-language-segment button.active{color:#171512;background:var(--khaki)}
.site-header.light .public-language-segment button.active{background:var(--deep);color:var(--paper)}

/* First-load skeleton — no extra API request */
.site-skeleton{position:fixed;inset:0;z-index:30;background:var(--paper);overflow:hidden}
html[data-theme="dark"] .site-skeleton{background:#12110f}
.site-skeleton section{min-height:100dvh;padding:var(--header) clamp(20px,6vw,86px) 40px;display:grid;align-items:center}
.site-skeleton section>div{width:min(1180px,100%);margin:auto}
.site-skeleton .sk{display:block;position:relative;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--deep) 9%,transparent);margin:14px 0}
.site-skeleton .sk::after,.skeleton-cards i::after{content:"";position:absolute;inset:0;translate:-110% 0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);animation:publicSkeleton 1.5s infinite}
html[data-theme="dark"] .site-skeleton .sk::after,html[data-theme="dark"] .skeleton-cards i::after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.05),transparent)}
.sk-small{width:105px;height:10px}.sk-title{width:min(760px,86%);height:clamp(56px,8vw,115px);border-radius:18px!important}.sk-copy{width:min(620px,78%);height:18px}.sk-button{width:170px;height:48px}
.skeleton-section{background:var(--soft)}.sk-heading{width:min(520px,80%);height:52px;border-radius:12px!important}.skeleton-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:34px}.skeleton-cards i{position:relative;overflow:hidden;display:block;height:290px;border-radius:12px;background:color-mix(in srgb,var(--deep) 8%,transparent)}
@keyframes publicSkeleton{to{translate:110% 0}}

/* Carousel accessibility and interaction */
.loop-carousel,.client-carousel{outline:none}
.client-card[aria-current="true"],.work-card[aria-current="true"],.impact-card[aria-current="true"]{border-color:color-mix(in srgb,var(--khaki) 72%,transparent)}
.loop-counter{min-width:68px;text-align:center;font-variant-numeric:tabular-nums}
.loop-controls button,.carousel-controls button{min-width:44px;min-height:44px}
.work-lightbox-btn{position:absolute;z-index:4;top:14px;inset-inline-end:14px;width:42px;height:42px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(18,17,15,.68);color:#fff;backdrop-filter:blur(8px);display:grid;place-items:center;cursor:pointer;opacity:.82}
.work-lightbox-btn:hover,.work-lightbox-btn:focus-visible{opacity:1;background:rgba(18,17,15,.88)}

/* Work lightbox */
.work-lightbox{width:100vw;height:100dvh;max-width:none;max-height:none;border:0;padding:0;background:transparent;color:#fff}
.work-lightbox::backdrop{background:rgba(5,5,4,.88);backdrop-filter:blur(8px)}
.work-lightbox-shell{position:relative;width:100%;height:100%;display:grid;grid-template-rows:minmax(0,1fr) auto;place-items:center;padding:max(22px,env(safe-area-inset-top)) max(22px,env(safe-area-inset-right)) max(22px,env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left))}
.work-lightbox img{max-width:min(1320px,94vw);max-height:82dvh;object-fit:contain;border-radius:8px;box-shadow:0 30px 100px rgba(0,0,0,.45)}
.work-lightbox p{margin:12px 0 0;max-width:760px;text-align:center;color:rgba(255,255,255,.76)}
.work-lightbox-close{position:absolute;z-index:2;top:max(18px,env(safe-area-inset-top));inset-inline-end:max(18px,env(safe-area-inset-right));width:48px;height:48px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(0,0,0,.35);color:#fff;font-size:26px;cursor:pointer}

/* Cleaner empty states */
.public-empty,.impact-empty{border:1px dashed color-mix(in srgb,var(--deep) 18%,transparent);border-radius:14px;padding:28px;min-height:150px;display:grid;place-items:center;text-align:center;color:var(--muted);background:color-mix(in srgb,var(--paper) 44%,transparent)}

/* Touch and responsive polish */
@media(max-width:1000px){
 .public-language-segment{display:none}
 .header-actions .theme-btn,.menu-btn{min-width:44px;min-height:44px}
}
@media(max-width:700px){
 .site-skeleton section{padding-inline:20px}.skeleton-cards{grid-template-columns:1fr 1fr}.skeleton-cards i{height:220px}.skeleton-cards i:last-child{display:none}
 .loop-controls,.carousel-controls{min-height:50px}
 .loop-controls button,.carousel-controls button{width:46px;height:46px}
 .work-lightbox-btn{width:44px;height:44px;opacity:1}
 .contact-action .button,.hero-actions .button{width:auto;min-width:min(100%,180px)}
}
@media(max-width:390px){
 .skeleton-cards{grid-template-columns:1fr}.skeleton-cards i{height:190px}.skeleton-cards i:nth-child(n+2){display:none}
 .work-lightbox-shell{padding-inline:12px}.work-lightbox img{max-width:100%}
}
@media(prefers-reduced-motion:reduce){
 .site-skeleton .sk::after,.skeleton-cards i::after{animation:none!important}
 .button,.site-header a,.site-header button,.loop-controls button,.carousel-controls button,.client-card,.work-card,.impact-card{transition:none!important}
}


/* Public form skeleton loading v18 */
.public-form-skeleton{padding-top:clamp(16px,4vw,42px);min-height:620px}
.public-form-skeleton .sk{display:block;position:relative;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--deep) 9%,transparent);margin:14px 0}
.public-form-skeleton .sk-small{width:110px;height:13px}.public-form-skeleton .sk-title{width:min(590px,86%);height:52px;border-radius:12px}.public-form-skeleton .sk-copy{width:min(680px,94%);height:18px}
.public-form-skeleton-fields{display:grid;gap:16px;margin-top:38px}.public-form-skeleton-fields i{position:relative;overflow:hidden;display:block;height:72px;border-radius:12px;background:color-mix(in srgb,var(--deep) 8%,transparent)}
.public-form-skeleton .sk::after,.public-form-skeleton-fields i::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--paper) 78%,transparent),transparent);animation:site-shimmer 1.25s infinite}
html[data-theme="dark"] .public-form-skeleton .sk,html[data-theme="dark"] .public-form-skeleton-fields i{background:color-mix(in srgb,var(--paper) 9%,transparent)}
@media(prefers-reduced-motion:reduce){.public-form-skeleton .sk::after,.public-form-skeleton-fields i::after{animation:none}}
