
/* Unified preview palette. Brass for surfaces; deeper gold for readable text. */
:root{--pearl:#f6f0e5;--paper:#fffaf1;--sand:#eee4d1;--sand-deep:#e6d6b7;--ink:#28261f;--ink-soft:#625b4d;--gold-text:#795c29;--brass:#d5b779;--brass-light:#e8d29d;--stroke:#d7c6a5;--bg:var(--pearl);--surface:var(--paper);--white:var(--ink);--muted:var(--ink-soft);--gold:var(--gold-text);--line:var(--stroke)}
body{background:var(--pearl);color:var(--ink)}main{background:var(--pearl)}.topbar{background:rgba(246,240,229,.96);border-bottom-color:#d7c6a566}.brand>span,.desktop-nav,.contact-head{color:var(--ink-soft)}.desktop-nav a.active,.desktop-nav a:hover{color:var(--gold-text)}
.hero{background:transparent}.hero h1 .tech-word-light{color:var(--ink)!important}.hero .gold,.fc-testimonials__title span{color:var(--gold-text)}.hero-description{color:var(--ink)}.hero-support,.hero .eyebrow,.visual-label{color:var(--ink-soft)}.hero .shader-background{background:radial-gradient(ellipse at 83% 32%,#d5b77928,transparent 55%),radial-gradient(ellipse at 22% 76%,#fffaf18c,transparent 60%)}.hero .shader-background:after{border-color:#b6955b33}
.fc-testimonials{background:linear-gradient(180deg,var(--pearl),var(--sand) 28%,var(--sand) 70%,var(--pearl));border:none}.fc-testimonials__title,.fc-testimonials__name{color:var(--ink)}.fc-testimonials__description,.fc-testimonials__duration,.fc-testimonials__video-note,.fc-testimonials__transcript div{color:var(--ink-soft)}.fc-testimonials__eyebrow,.fc-testimonials__transcript summary{color:var(--gold-text)}.fc-testimonials__transcript{border-color:var(--stroke)}
.button-gold,.fc-testimonials__cta{background:linear-gradient(110deg,var(--brass-light),var(--brass));color:var(--ink);border:1px solid #bd9e61}.button-gold:hover,.fc-testimonials__cta:hover{background:linear-gradient(110deg,#eddcb6,#dfc58e);color:var(--ink)}.contact-icon{background:var(--brass);color:var(--ink)}.text-link{color:var(--ink);border-color:#9d804766}.text-link:hover{color:var(--gold-text)}
.services,.projects,.perspective,.about{background:transparent}.section-intro>p:not(.eyebrow),.service-content-inner>p,.projects-aside>p,.project-meta p,.perspective-copy>p:not(.eyebrow),.about-story>p,.about-brand>span{color:var(--ink-soft)}.section-intro .eyebrow,.section-heading .eyebrow,.about-top .eyebrow,.perspective-copy .eyebrow{color:var(--gold-text)}.muted{color:#766b57}.service{border-color:var(--stroke)}.tags span{background:#eae0ce;color:#675331;border-color:#d0ba91}.service-number{color:var(--gold-text)}.expertise-strip{background:var(--pearl);color:var(--ink-soft);border-color:#d7c6a566}
.fc-workflow{background:linear-gradient(180deg,var(--pearl),#f1e8d6 12%,#f1e8d6 87%,var(--pearl));border:0}.workflow-stage{background:radial-gradient(ellipse at 92% 45%,#d5b77918,transparent 60%)}.workflow-head>p,.workflow-card>p:not(.workflow-tag){color:var(--ink-soft)}.workflow-head .eyebrow,.workflow-tag,.workflow-count,.workflow-outcome,.workflow-bottom>p{color:var(--gold-text)}.workflow-card{background:linear-gradient(145deg,var(--paper),#f4ecdd);border-color:var(--stroke);box-shadow:0 10px 24px #7d612606}.workflow-card.is-current{background:linear-gradient(145deg,#fffaf0,#e9dbc2);border-color:#ac8849;box-shadow:0 14px 32px #7d612610}.workflow-card h3{color:var(--ink)}.workflow-number{color:#b4a07a}.workflow-card.is-current .workflow-number{color:var(--gold-text)}.workflow-outcome{border-color:var(--stroke)}.workflow-nav button{color:var(--gold-text);border-color:#ae9158}.workflow-line span{background:#ab8643}
.contact{background:linear-gradient(180deg,var(--pearl),#e6d3a8 24%,#e6d3a8 76%,var(--pearl));color:var(--ink)}.contact .eyebrow,.contact h2 span,.contact p,.contact-number{color:#55452d}.contact .button-dark{background:var(--ink);color:var(--paper)}.contact-mark{opacity:.3}.footer{background:var(--pearl);color:var(--ink-soft);border-color:#d7c6a566}.mobile-whatsapp{background:#f6f0e5f5;color:var(--gold-text);border-color:#ac8849}
/* Light dialog shell; image/video captions retain light text over dark media. */
dialog{background:var(--paper);color:var(--ink);border:1px solid var(--stroke)}.dialog-top h2,.dialog-top .eyebrow,.dialog-close{color:var(--ink)}.dialog-close{background:var(--sand)}.dialog-description{color:var(--ink-soft)}.project-media-nav button{color:var(--ink-soft);border-color:var(--stroke);background:transparent}.project-media-nav button[aria-selected=true]{color:var(--ink);background:var(--sand)}.dialog-content{background:#1e1e1b}.hero-slide,.hero-slide .slide-title,.project-image-bottom,.project-top-label,.project-open,.slide-kicker,.slide-view,.perspective-image .image-note{color:#fffaf0}.hero-visual .window-bar,.hero-visual .reel-dot{color:#d5c59e}.hero-visual .reel-dot.is-active{color:#ead39e}.hero-visual .motion-toggle{color:#ead39e}
:focus-visible,.fc-testimonials__cta:focus-visible,.fc-testimonials__transcript:focus-visible{outline:2px solid #75561f;outline-offset:5px}
@media(max-width:800px){.hero .shader-background{background:radial-gradient(ellipse at 92% 36%,#d5b77928,transparent 58%)}.mobile-nav{background:var(--pearl);color:var(--ink)}}

/* Softer, unified surfaces across navigation, cards and conversation controls. */
:root{--pearl:#f5efe3;--paper:#f9f4ea;--sand:#f0e7d6;--stroke:#d8cbb366}
.brand img,.brand-window img,.about-brand img,.contact-mark img,.intro-logo img{filter:grayscale(1) brightness(0)}
.topbar{background:#f5efe3f2;border-bottom-color:#d8cbb34d}.mobile-nav{background:var(--paper);border-color:var(--stroke)}.desktop-nav a{transition:color .45s ease}.desktop-nav a:after{transition:transform .6s var(--ease)}
.camera-window{background:var(--paper);border:1px solid var(--stroke);box-shadow:0 18px 50px #5b482712;border-radius:12px}.window-bar,.reel-controls{background:var(--paper);border-color:var(--stroke)}.hero-visual .window-bar,.hero-visual .reel-dot,.reel-status{color:var(--ink-soft)}.hero-visual .reel-dot.is-active{color:var(--gold-text);background:#e8dcc355;border-color:#cdb88e55}.hero-visual .motion-toggle{color:var(--gold-text);background:#f0e7d688;border-color:#cdb88e66}.visual-label{color:var(--ink-soft)}
.workflow-card,.workflow-card.is-current{background:linear-gradient(145deg,#faf5eb,#f2e9d8);border-color:#cebb9455;box-shadow:0 9px 28px #7d612606;border-radius:12px}.workflow-card.is-current{border-color:#a78b565c}.workflow-number{color:#a99976}.workflow-card.is-current .workflow-number{color:#816736}.workflow-card{transition:border-color .65s ease,box-shadow .7s ease}
.button-gold,.fc-testimonials__cta,.contact-icon{background:#e2cd9e;color:var(--ink);border-color:#bfa77366}.button-gold:hover,.fc-testimonials__cta:hover{background:#ead9b5}.mobile-whatsapp{background:#f9f4eaf5;color:var(--ink);border-color:var(--stroke);box-shadow:0 8px 28px #6c54260e}.tags span{background:#eee5d5;color:var(--ink-soft);border-color:var(--stroke)}.workflow-nav button{background:#f9f4ea66;border-color:var(--stroke);color:var(--gold-text)}
/* Full-width blends prevent abrupt side boundaries on wide screens. */
.fc-testimonials{max-width:none;padding-inline:0;background:linear-gradient(180deg,var(--pearl),#f0e7d6 38%,#f0e7d6 64%,var(--pearl))}.fc-testimonials__layout{max-width:1440px;margin-inline:auto;padding-inline:5.2%}
.fc-workflow{background:linear-gradient(180deg,var(--pearl),#f1e9d9 22%,#f1e9d9 75%,var(--pearl))}.workflow-stage{background:radial-gradient(ellipse at 50% 50%,#d5b7790e,transparent 72%)}.contact{background:linear-gradient(180deg,var(--pearl),#e9dab9 36%,#e9dab9 62%,var(--pearl))}.contact-mark{opacity:.12}
.hero .shader-background{mask-image:radial-gradient(ellipse at 50% 45%,#000 25%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse at 50% 45%,#000 25%,transparent 75%);mask-composite:add;-webkit-mask-composite:source-over;background:radial-gradient(ellipse at 70% 45%,#d5b77920,transparent 70%)}.hero .shader-background:after{border-color:#b6955b20}.hero .shader-background:before{opacity:.3}.orbit{opacity:.45}
/* Motion settles gently, with smaller offsets and no abrupt lifts. */
.js .reveal{transform:translateY(14px);transition:opacity .7s ease,transform .85s var(--ease)}.js .reveal.is-visible{transform:none}.hero-copy{transition:opacity .8s ease,transform .95s var(--ease)}.intro-playing .hero-copy{transform:translateY(14px)}.hero-visual{transition:opacity .85s .1s ease,translate 1s .1s var(--ease)}.intro-playing .hero-visual{translate:0 18px}.hero-slide{transition:opacity .85s ease}.hero-slide .slide-title{transition:transform .85s var(--ease),opacity .85s ease}.hero h1 .tech-letter{transform:translate(calc(var(--hover-x,0px) * .45),calc(var(--hover-y,0px) * .45));transition:transform .8s var(--ease),text-shadow .8s ease}.hero h1.is-pointer-active .tech-letter{transition-duration:.5s,.55s}.button{transition:background .4s ease,color .4s ease,transform .5s var(--ease)}.button:hover{transform:translateY(-1px)}.camera-window,.brand-window{transition:transform .85s var(--ease),box-shadow .85s ease}.workflow-line span{transition:width .22s linear}.site-intro{transition:opacity .85s ease,visibility .85s,transform .95s var(--ease)}.intro-playing .intro-logo{animation:pearl-logo-arrive .9s var(--ease) both}.service::details-content{transition-duration:.65s,.65s,.5s}
@keyframes pearl-logo-arrive{from{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.js .reveal{transform:none}.hero h1 .tech-letter{transform:none!important}.button:hover{transform:none}.workflow-line span{transition:none}}

.hero-visual .window-glyph,.hero-visual .reel-count,.hero-visual .reel-dot>span,.hero-visual .visual-index,.hero-visual .reel-dot.is-active>span{color:var(--gold-text)}.hero-visual .reel-status{color:var(--ink-soft)}

/* Hero calls to action react clearly to pointer and keyboard focus. */
.hero-actions .button-gold{position:relative;isolation:isolate;overflow:hidden;box-shadow:0 4px 12px #80602b12;transition:transform .32s cubic-bezier(.2,.75,.25,1),box-shadow .32s ease,background-position .4s ease}
.hero-actions .button-gold::after{content:"";position:absolute;z-index:-1;inset:-40% auto -40% -35%;width:24%;transform:translateX(-180%) skewX(-18deg);background:linear-gradient(90deg,transparent,#fff9e899,transparent);transition:transform .68s cubic-bezier(.2,.75,.25,1)}
.hero-actions .button-gold:hover,.hero-actions .button-gold:focus-visible{transform:translateY(-4px) scale(1.025);box-shadow:0 12px 25px #80602b2b,0 0 0 3px #d5b77936;background:linear-gradient(110deg,#f0dfb8,#dfc58e)}
.hero-actions .button-gold:hover::after,.hero-actions .button-gold:focus-visible::after{transform:translateX(620%) skewX(-18deg)}
.hero-actions .text-link{display:inline-flex;align-items:center;transition:color .28s ease,transform .32s cubic-bezier(.2,.75,.25,1),border-color .28s ease}
.hero-actions .text-link:hover,.hero-actions .text-link:focus-visible{transform:translateX(5px);color:var(--gold-text);border-color:var(--gold-text)}
.hero-actions .button-gold:active,.hero-actions .text-link:active{transform:translateY(-1px) scale(.99)}
@media(prefers-reduced-motion:reduce){.hero-actions .button-gold,.hero-actions .button-gold::after,.hero-actions .text-link{transition:none}.hero-actions .button-gold:hover,.hero-actions .button-gold:focus-visible,.hero-actions .text-link:hover,.hero-actions .text-link:focus-visible{transform:none}}

/* One consistent, visible interaction for every WhatsApp entry point. */
a[href^="https://wa.me/"]{transition:transform .32s cubic-bezier(.2,.75,.25,1),box-shadow .32s ease,color .28s ease,filter .32s ease}
a[href^="https://wa.me/"]:hover,a[href^="https://wa.me/"]:focus-visible{transform:translateY(-3px) scale(1.025);filter:drop-shadow(0 7px 9px #80602b28)}
a[href^="https://wa.me/"]:active{transform:translateY(-1px) scale(.99)}
.hero-actions a[href^="https://wa.me/"]:hover,.fc-testimonials__cta[href^="https://wa.me/"]:hover,.contact a.button[href^="https://wa.me/"]:hover,.header-actions a[href^="https://wa.me/"]:hover,.mobile-whatsapp[href^="https://wa.me/"]:hover{box-shadow:0 11px 24px #80602b30,0 0 0 3px #d5b77936}
.fc-post-actions a[href^="https://wa.me/"]:hover{color:var(--gold-text);filter:drop-shadow(0 4px 7px #80602b45)}
@media(prefers-reduced-motion:reduce){a[href^="https://wa.me/"]{transition:none}a[href^="https://wa.me/"]:hover,a[href^="https://wa.me/"]:focus-visible,a[href^="https://wa.me/"]:active{transform:none;filter:none}}

/* Complete the light treatment for expanded services, photo captions and contact mark. */
.service[open]{background:linear-gradient(135deg,#faf5eb,#eee3cf);border:1px solid #c8b58b66;box-shadow:0 8px 22px #76572105;border-radius:10px}.service[open] .service-name,.service[open] summary{color:var(--ink)}.service[open] .service-content-inner>p{color:var(--ink-soft)}.service[open] .service-number{background:#e2cd9e;color:var(--ink);border-color:#c5ad7b}.service[open] .service-symbol{color:var(--gold-text)}.service .tags span{background:#f9f3e8;color:#5e523d;border-color:#cbb99077}.service{transition:background .6s ease,border-color .6s ease,box-shadow .6s ease}
.service-shot strong{color:#fffaf0;text-shadow:0 1px 8px #0008}.service-shot small{color:#ead9b5;text-shadow:0 1px 6px #0009}.service-shot:after{background:linear-gradient(180deg,transparent 40%,#11120d70 68%,#11120de8 100%)}.service-shot b{color:#f1dfb7}.service-shot{border-color:#c8b58b66}.service-shot:hover img,.service-shot:focus-visible img{transform:scale(1.035)}
.contact-mark{opacity:1}.contact-mark img{filter:grayscale(1) brightness(0);opacity:.85}.contact-mark:after{border-color:#88704720;border-style:solid}.contact-inner:hover .contact-mark img{transform:scale(1.015)}

/* Clearer mouse response, gentle settling. Only runs while the pointer moves. */
.hero h1 .tech-letter{transform:translate(var(--hover-x,0px),var(--hover-y,0px)) scale(calc(1 + var(--hover-glow,0) * .025));text-shadow:0 4px 15px rgba(130,94,32,var(--hover-glow,0));transition:transform .8s cubic-bezier(.2,.75,.25,1),text-shadow .8s ease}
.hero h1.is-pointer-active .tech-letter{transition-duration:.28s,.4s}.hero h1 .gold .tech-letter{text-shadow:0 4px 16px rgba(157,112,35,var(--hover-glow,0))}
.project-image img,.project-preview,.perspective-loop{transition:transform 1.15s var(--ease),filter .8s ease}.project-image:hover .project-image-bottom{translate:0 -3px}.service-shot img{transition:transform 1.2s var(--ease),filter 1s ease}.motion-toggle:hover{transform:scale(1.025)}.contact-head:hover .contact-icon{transform:rotate(-3deg)}
@media(prefers-reduced-motion:reduce){.hero h1 .tech-letter{transform:none!important;text-shadow:none!important}.project-image:hover .project-image-bottom{translate:none}.contact-head:hover .contact-icon{transform:none}}

/* Simplified project selection: imagery first, only useful playback controls. */
.hero-visual .visual-label,.hero-visual .window-bar,.hero-visual .brand-window,.hero-visual .orbit,.hero-visual .reel-status{display:none}
.hero-visual{height:460px;display:flex;align-items:center}.hero-visual .camera-window{position:relative;inset:auto;width:100%;background:transparent;border:0;border-radius:9px;box-shadow:0 12px 32px #5b48270b;overflow:hidden}.hero-visual .project-slides{height:355px;border-radius:9px;overflow:hidden}.hero-visual .reel-controls{padding:14px 0 0;background:transparent;border:0;min-height:58px;justify-content:space-between}.hero-visual .reel-dot>span{display:none}.hero-visual .reel-dot{background:transparent;border:0;border-radius:0;padding:8px 4px;min-height:40px;margin-right:17px;color:var(--ink-soft);font-size:12px}.hero-visual .reel-dot.is-active{background:transparent;border:0;border-bottom:1px solid #9d804b88;color:var(--gold-text)}.hero-visual .motion-toggle{width:36px;height:36px;border-color:#cdb88e55;background:transparent}.hero-visual .slide-kicker{display:none}.hero-visual .slide-title{font-size:clamp(28px,2.8vw,40px);left:25px;bottom:73px}.hero-visual .slide-view{left:25px;bottom:25px;font-size:12px}.hero-visual .slide-view>span{display:none}.hero-visual .hero-slide:after{background:linear-gradient(180deg,transparent 30%,#12120fb8 100%)}
@media(max-width:1200px){.hero-visual{height:420px}.hero-visual .project-slides{height:320px}}
@media(max-width:800px){.hero-visual{height:auto;display:block;margin-top:12px}.hero-visual .camera-window{width:100%}.hero-visual .project-slides{height:330px}.hero-visual .slide-title{font-size:32px}}
@media(max-width:560px){.hero-visual .project-slides{height:280px}.hero-visual .slide-title{font-size:29px;left:20px}.hero-visual .slide-view{left:20px}.hero-visual .reel-controls{padding-top:10px}.hero-visual .reel-dot{font-size:12px}}

/* FC editorial post, inspired by a social feed, without fabricated engagement. */
.hero-visual{height:auto;min-height:660px;justify-content:center;align-items:center}.hero-visual .camera-window{width:min(100%,380px);border:1px solid #d8cbb388;background:#faf6ee;border-radius:13px;box-shadow:0 16px 42px #5b482712}.fc-post-header{display:flex;align-items:center;gap:11px;padding:14px 16px;color:var(--ink)}.fc-post-avatar{display:grid;place-items:center;width:38px;height:38px;border:1px solid #d4c2a066;border-radius:50%;background:#f1e7d5}.fc-post-avatar img{width:29px;height:auto;filter:grayscale(1) brightness(0)}.fc-post-header>div{display:flex;flex-direction:column;gap:2px}.fc-post-header strong{font-size:13px;font-weight:600;letter-spacing:-.02em}.fc-post-header>div>span{font-size:10px;color:var(--ink-soft)}.fc-post-menu{margin-left:auto;font-size:12px;letter-spacing:2px}
.hero-visual .project-slides{height:auto;aspect-ratio:4/5;border-radius:0}.hero-visual .slide-title,.hero-visual .slide-view{display:none}.hero-visual .hero-slide:after{background:linear-gradient(180deg,transparent 70%,#00000018)}.hero-visual .hero-slide video{filter:saturate(.94) brightness(.98);transform:none}.hero-visual .reel-controls{padding:8px 14px 0;min-height:36px;position:relative;justify-content:center}.hero-visual .reel-dots{gap:7px}.hero-visual .reel-dot{font-size:0;padding:5px;margin:0;min-height:24px;min-width:24px;border:0;background:none}.hero-visual .reel-dot:before{content:'';display:block;width:5px;height:5px;border-radius:50%;background:#c9bfac;margin:auto}.hero-visual .reel-dot.is-active{border:0;background:none}.hero-visual .reel-dot.is-active:before{background:#937440}.hero-visual .motion-toggle{position:absolute;right:12px;top:7px;width:28px;height:28px;border:0}.hero-visual .motion-toggle svg{width:14px;height:14px}
.fc-post-footer{padding:0 16px 18px;color:var(--ink)}.fc-post-actions{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:12px}.fc-post-actions button,.fc-post-actions a{background:none;color:var(--ink);display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:4px 0}.fc-post-actions svg{width:22px;height:22px}.fc-post-actions button span{font-size:12px}.fc-post-caption{font-size:12px;line-height:1.65;color:var(--ink-soft)}.fc-post-caption strong{color:var(--ink);font-weight:600;margin-right:4px}.hero .camera-window{transform:none!important}
@media(max-width:800px){.hero-visual{min-height:0;margin-top:22px;display:flex}.hero-visual .camera-window{width:min(100%,380px)}.hero-visual .project-slides{height:auto;aspect-ratio:4/5}.fc-post-header{padding:12px 14px}}
