:root,[data-theme=dark]{color-scheme:dark;--paper:#101211;--ink:#ecebe5;--muted:#a4a79e;--soft:#1a1d1b;--line:#ffffff24;--surface:#171a18;--accent:#c8b690;--frame-line:#ffffff24}
[data-theme=light]{color-scheme:light;--paper:#f7f6f2;--ink:#242823;--muted:#70766d;--soft:#efeee8;--line:#24282326;--surface:#eeede7;--accent:#79684a;--frame-line:#24282326}
body,.header,.mobile-menu,.home-page.header-solid .header,.home-page.menu-open .header{background:var(--paper);color:var(--ink)}
body{transition:background-color .35s,color .35s}
main p,.intro h2 span,.section-heading .kicker,.gallery-item figcaption{color:var(--muted)}
main h1,main h2,main h3,main a{color:var(--ink)}
.home-hero,.sub-hero,.home-hero p,.home-hero h1,.home-hero a,.sub-hero p,.sub-hero h1{color:#fff}
.home-page .header{background:transparent;color:#fff}
[data-theme=dark] .brand img,[data-theme=dark] .home-page.header-solid .header .brand img,[data-theme=dark] .home-page.menu-open .header .brand img,[data-theme=dark] .intro-brand-frame img{filter:invert(1)}
[data-theme=light] .header .brand img{filter:none}
[data-theme=light] .home-page:not(.header-solid):not(.menu-open) .header .brand img{filter:invert(1)}
.brand-intro{background:var(--paper)!important}.intro-brand-frame{color:var(--ink)}
.team-note,.archive-toolbar,.filter-links a,.contact-form,.process-steps article{border-color:var(--line)}
.card-image,.gallery-trigger,.project-cover .cover-trigger,.service-card>div:first-child{background:var(--surface)}
.project-card .card-image>img,.editorial-grid .project-card:nth-child(n) .card-image>img,.project-cover .cover-trigger img,.gallery-item img,.gallery-item.full img{object-fit:contain!important;object-position:center!important;transform:none!important}
.card-image{padding:0}.team-grid article>img{background:var(--surface)}
.card-open{background:var(--paper);color:var(--ink);border:1px solid var(--line)}
.filter-links a{background:transparent;color:var(--ink)}.filter-links a[aria-current]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.filter-links a[aria-current] small{color:inherit;opacity:.7}
.search,.contact-form{background:var(--surface);color:var(--ink)}
.contact-form input,.contact-form textarea,.contact-form select{color:var(--ink);background:transparent;border-color:var(--line)}
.contact-form button[type=submit]{background:var(--ink);color:var(--paper)}
.footer{background:var(--paper);color:var(--ink);border-top:1px solid var(--line)}
.footer p,.footer small,.footer a,.footer h3{color:inherit}
.cta,.team-note,.process-teaser-copy{background:var(--paper);color:var(--ink)}
.desktop-nav{align-items:center}.desktop-nav .theme-switch{margin-left:14px}
.theme-switch{display:inline-flex;align-items:center;gap:14px;border:0;background:none;color:inherit;padding:8px 0;min-height:44px;cursor:pointer;font:inherit}
.desktop-nav .theme-label{display:none}.theme-label{font-size:.8rem;letter-spacing:.06em}
.theme-track{position:relative;width:64px;height:32px;border:1px solid currentColor;border-radius:40px;display:flex;justify-content:space-around;align-items:center;font-size:16px}
.theme-track>span{z-index:1;line-height:1}.theme-track i{position:absolute;left:3px;top:3px;width:24px;height:24px;border-radius:50%;background:currentColor;opacity:.22;transform:translateX(31px);transition:transform .3s ease}
[data-theme=light] .theme-track i{transform:translateX(0)}
.mobile-menu{overflow:auto;overscroll-behavior:contain;gap:0}
.mobile-menu>.theme-switch{margin-top:24px;padding:18px 0;border-top:1px solid var(--line);justify-content:space-between;width:100%;flex-shrink:0}
.mobile-projects{border-bottom:1px solid var(--line)}
.mobile-projects summary{display:flex;align-items:center;gap:18px;list-style:none;cursor:pointer;font-size:clamp(1.5rem,5vw,2.1rem);padding:14px 0;min-height:54px}
.mobile-projects summary::-webkit-details-marker{display:none}.mobile-projects summary small{font-size:.7rem;color:var(--muted)}
.mobile-projects summary>span{margin-left:auto;font-size:1.3rem;transition:transform .3s}.mobile-projects[open] summary>span{transform:rotate(45deg)}
.mobile-projects>div{padding:4px 0 12px 34px}.mobile-projects a{display:flex;justify-content:space-between;gap:12px;min-height:44px;align-items:center;font-size:.92rem;color:var(--muted)}
.mobile-projects a:hover{color:var(--ink)}.mobile-projects a span{font-size:.72rem}
.home-services{display:block;padding-block:80px}
.expertise-heading{display:flex;justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:34px}.expertise-heading h2{font-size:clamp(1.8rem,3vw,3rem);font-weight:400;letter-spacing:-.04em}
.expertise-deck{display:flex;gap:12px}
.expertise-card{flex:1;min-width:0;border:1px solid var(--line);border-radius:16px;background:var(--surface);padding:28px;min-height:350px;transition:flex .6s cubic-bezier(.2,.7,.2,1),border-color .3s;overflow:hidden}
.expertise-card.is-open{flex:1.65;border-color:var(--accent)}
.expertise-toggle{display:flex;flex-direction:column;align-items:flex-start;width:100%;text-align:left;color:var(--ink);background:none;border:0;padding:0;cursor:pointer;position:relative;min-height:125px}
.expertise-number{font-size:.72rem;letter-spacing:.12em;color:var(--accent);margin-bottom:32px}.expertise-title{font-size:clamp(1.1rem,1.8vw,1.7rem);font-weight:400;letter-spacing:-.025em;line-height:1.3}
.expertise-plus{position:absolute;right:0;top:0;font-size:20px;font-weight:300;transition:transform .4s}.is-open .expertise-plus{transform:rotate(45deg)}
.expertise-content{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .5s,opacity .4s}.expertise-content>div{overflow:hidden}.is-open .expertise-content{grid-template-rows:1fr;opacity:1}
.expertise-content h3{font-size:1rem;font-weight:400;margin:24px 0 12px}.expertise-content p{font-size:.85rem;line-height:1.8;max-width:35ch}.expertise-content a{display:inline-flex;gap:24px;align-items:center;min-height:44px;font-size:.75rem;margin-top:14px;color:var(--accent)}
.social-links{display:flex;gap:12px;padding-block:30px;border-bottom:1px solid var(--line)}
.social-links a{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--line);border-radius:30px;min-height:44px;font-size:.75rem}
.social-links svg{width:18px;height:18px;flex:none}
.whatsapp-float{position:fixed;right:24px;bottom:max(24px,env(safe-area-inset-bottom));z-index:55;display:flex;align-items:center;gap:0;border:1px solid #c8b69080;border-radius:50%;width:56px;height:56px;justify-content:center;background:#171c19;color:#e9e6dc;box-shadow:0 5px 25px #0003;transition:transform .25s}
.whatsapp-float svg{width:26px;height:26px}.whatsapp-float>span{position:absolute;right:66px;background:var(--surface);color:var(--ink);padding:10px 14px;border:1px solid var(--line);white-space:nowrap;font-size:.75rem;border-radius:8px;opacity:0;pointer-events:none;transition:opacity .2s}
.whatsapp-float:hover{transform:translateY(-3px)}.whatsapp-float:hover>span,.whatsapp-float:focus-visible>span{opacity:1}.menu-open .whatsapp-float{display:none}
.ai-discovery{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding-block:65px;border-top:1px solid var(--line)}
.ai-discovery h2{font-size:clamp(1.7rem,3vw,2.8rem);font-weight:400;letter-spacing:-.035em;margin:16px 0}.ai-discovery p{font-size:.9rem;color:var(--muted)}
.ai-copy{display:flex;justify-content:space-between;gap:20px;width:100%;padding:18px 0;border:0;border-bottom:1px solid var(--line);background:none;color:var(--ink);font:inherit;cursor:pointer;font-size:.95rem}
.ai-providers{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.ai-providers a{border:1px solid var(--line);border-radius:30px;padding:12px 16px;font-size:.75rem;min-height:44px}
.ai-actions small{display:block;max-width:50ch;line-height:1.7;color:var(--muted);font-size:.7rem}
.studio-map{display:grid;grid-template-columns:1fr 1.5fr;gap:40px;align-items:center;margin-block:60px 90px}
.map-copy h2{font-size:clamp(1.8rem,3vw,3rem);font-weight:400;letter-spacing:-.035em;margin:20px 0}.map-copy p{max-width:35ch}.map-copy a{display:inline-block;margin-top:25px;min-height:44px;color:var(--accent)}
.map-canvas{position:relative;height:390px;border:1px solid var(--line);border-radius:18px;overflow:hidden;background-color:var(--surface);background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:38px 38px}
.map-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse,var(--surface),transparent);gap:14px}.map-pin{font-size:52px;color:var(--accent)}
.map-placeholder p{color:var(--ink);letter-spacing:.08em}.map-placeholder button{padding:12px 22px;border:1px solid var(--accent);border-radius:30px;color:var(--ink);background:var(--paper);cursor:pointer}.map-placeholder small{font-size:.65rem;color:var(--muted)}
.map-canvas iframe{width:100%;height:100%;border:0}
.map-placeholder[hidden],.map-canvas iframe[hidden]{display:none!important}
.studio-motion .curtain-target{position:relative;isolation:isolate}.studio-motion .curtain-target:after{content:'';position:absolute;inset:0;background:var(--paper);z-index:2;transform-origin:bottom;transition:transform 1s cubic-bezier(.76,0,.24,1);pointer-events:none}
.studio-motion .curtain-target.is-revealed:after{transform:scaleY(0)}
.studio-motion .copy-target{opacity:0;transform:translateY(22px);transition:opacity .8s,transform .8s cubic-bezier(.2,.7,.2,1)}.studio-motion .copy-target.is-revealed{opacity:1;transform:none}
:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
@media(max-width:850px){.expertise-deck{flex-direction:column}.expertise-card{min-height:0;padding:22px}.expertise-toggle{min-height:44px;display:grid;grid-template-columns:32px 1fr 22px;align-items:center;gap:12px}.expertise-number{margin:0}.expertise-plus{position:static}.expertise-title{font-size:1.2rem}.expertise-content h3{margin-top:25px}.expertise-heading{display:block}.expertise-heading h2{margin-top:18px}.home-services{padding-block:44px}.ai-discovery{grid-template-columns:1fr;gap:20px;padding-block:42px}.studio-map{grid-template-columns:1fr;gap:24px;margin-block:35px 50px}.map-canvas{height:300px}.social-links{flex-wrap:wrap}.whatsapp-float{right:18px;bottom:max(18px,env(safe-area-inset-bottom));width:50px;height:50px}}
@media(prefers-reduced-motion:reduce){.studio-motion .curtain-target:after{display:none}.studio-motion .copy-target{opacity:1;transform:none}*,*::before,*::after{transition:none!important;animation:none!important}}

.language-switch{display:flex;align-items:center;gap:9px;font-size:11px;letter-spacing:.08em;margin-left:18px;flex-shrink:0}.language-switch a{opacity:.5;padding:12px 2px;min-height:44px;display:inline-flex;align-items:center}.language-switch a[aria-current]{opacity:1}.language-switch span{opacity:.25}.mobile-menu>.language-switch{justify-content:center;margin:0;padding:10px 0 24px}.mobile-menu>.language-switch a{padding:12px;min-width:44px}.gallery-trigger img,.lightbox-image{image-orientation:from-image}

/* Gold accents; icon-only discovery and social links. */
:root,[data-theme=dark]{--accent:#FFD700;--gold-line:#FFD70066}
[data-theme=light]{--accent:#806000;--gold-line:#FFD700}
.expertise-heading .kicker,.ai-heading .kicker,.map-copy .kicker,.project-story aside>.kicker{color:var(--accent)}
.expertise-card.is-open{border-color:var(--gold-line)}
.expertise-number,.language-switch a[aria-current]{color:var(--accent)}
.project-story dl>div{border-color:var(--gold-line)}
.ai-discovery{grid-template-columns:1fr auto;align-items:center;gap:32px;padding-block:42px;border-top:1px solid var(--gold-line)}
.ai-heading{position:relative;padding-left:22px}.ai-heading:before{content:'';position:absolute;left:0;top:4px;height:28px;width:1px;background:var(--accent);opacity:.65}
.ai-heading .kicker{font-size:.61rem;letter-spacing:.19em;margin:0 0 12px}
.ai-discovery .ai-heading h2{font-size:clamp(1.05rem,1.7vw,1.5rem);letter-spacing:-.025em;font-weight:400;line-height:1.45;margin:0;color:var(--ink)}
.ai-icon-row,.ai-providers{display:flex;align-items:center;gap:10px}.ai-providers{margin:0;flex-wrap:nowrap}.ai-divider{height:20px;width:1px;background:var(--gold-line);margin:0 8px}
.ai-copy,.ai-providers a,.social-links a,.social-icon-link{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none;width:48px;height:48px;min-height:48px;padding:0;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);transition:color .25s,border-color .25s,background-color .25s,transform .25s;text-decoration:none}
.ai-copy{width:44px;height:44px;min-height:44px;border-color:transparent;color:var(--muted)}
.ai-copy svg{width:19px;height:19px}.ai-providers svg{width:21px;height:21px}.social-links svg,.social-icon-link svg{width:20px;height:20px}
.ai-copy:hover,.ai-providers a:hover,.social-links a:hover,.social-icon-link:hover{border-color:var(--accent);color:var(--accent);background:var(--surface);transform:translateY(-2px)}
[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%,4px);border:1px solid var(--gold-line);background:var(--paper);color:var(--ink);padding:7px 11px;border-radius:5px;white-space:nowrap;font-size:11px;letter-spacing:.02em;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s,transform .2s;z-index:5}
[data-tooltip]:hover:after,[data-tooltip]:focus-visible:after{opacity:1;visibility:visible;transform:translate(-50%,0)}
.ai-actions>small{margin-top:12px;font-size:.65rem;letter-spacing:.02em;text-align:right;max-width:none}
.ai-status:empty{display:none}.ai-discovery .ai-status{max-width:34ch;font-size:.72rem;line-height:1.6;margin:12px 0 0;color:var(--accent)}
.social-links{justify-content:flex-end;gap:10px;padding-block:22px;border-bottom:1px solid var(--gold-line)}
.footer .social-links a{color:var(--ink)}.footer .social-links a:hover{color:var(--accent)}
@media(max-width:850px){.ai-discovery{grid-template-columns:1fr;gap:25px;padding-block:32px}.ai-heading{padding-left:16px}.ai-actions{justify-self:start}.ai-actions>small{text-align:left}.social-links{justify-content:flex-start}.ai-icon-row,.ai-providers{gap:10px}.ai-divider{margin-inline:4px}.ai-copy[data-tooltip]:after{left:0;transform:translate(0,4px)}.ai-copy[data-tooltip]:hover:after,.ai-copy[data-tooltip]:focus-visible:after{transform:translate(0,0)}}
@media(prefers-reduced-motion:reduce){.ai-copy,.ai-providers a,.social-links a,.social-icon-link,[data-tooltip]:after{transition:none}}
[data-theme=light] .footer .brand img{filter:none}

/* Prominent signature gold, with dark backing for readable light-theme headings. */
:root{--signature-gold:#FFD700}
.page-title h1,.section-heading h2{color:var(--signature-gold)}
.page-title h1 sup{color:var(--signature-gold);opacity:.8}
.section-heading{border-bottom:1px solid var(--gold-line);padding-bottom:24px}
.section-heading .kicker,main .kicker{color:var(--accent)}
.expertise-card.is-open{border-color:var(--signature-gold)}
.expertise-card.is-open .expertise-title,.expertise-plus{color:var(--accent)}
.filter-links a[aria-current]{background:var(--signature-gold);border-color:var(--signature-gold);color:#101211}
.filter-links a:hover{border-color:var(--signature-gold)}
.ai-providers a,.social-links a,.footer .social-links a,.social-icon-link{border-color:var(--gold-line);color:var(--accent)}
.whatsapp-float{border-color:var(--signature-gold);color:var(--signature-gold)}
.desktop-nav>a:hover,.mobile-projects[open] summary{color:var(--accent)}
.ai-heading:before{width:2px;opacity:1;background:var(--signature-gold)}
[data-theme=light] .page-title h1,[data-theme=light] .section-heading h2{display:table;background:#101211;border-left:3px solid var(--signature-gold);padding:.14em .28em;border-radius:4px;color:var(--signature-gold)}
