/* Phocal / immersive direction */
:root{--phocal-acid:#ffd43d;--phocal-ink:#080907;--phocal-paper:#f4f2e9;--phocal-line:#ffffff24}
body{background:var(--phocal-ink)!important;color:var(--phocal-paper)}main{overflow:clip}body .hero-bg{background:none!important}body .hero{position:relative;isolation:isolate}body.phocal-home .hero{min-height:100svh!important;padding:140px 5vw 70px!important;background:#080907!important;display:flex;align-items:center}body.phocal-home .hero-inner{width:100%!important;max-width:1440px!important;margin:auto!important;display:block!important;position:relative!important;z-index:2;pointer-events:none}body.phocal-home .hero-copy{max-width:900px!important;pointer-events:auto}body.phocal-home .hero-copy h1{font-size:clamp(48px,6.4vw,106px)!important;line-height:.97!important;letter-spacing:-.065em!important;font-weight:550!important;max-width:11ch!important;margin:30px 0!important;text-wrap:balance}body.phocal-home .hero-copy>p:not(.kicker){max-width:41ch!important;font-size:18px!important;line-height:1.6!important;color:#dddcd0!important}body.phocal-home .hero-stage{position:absolute!important;right:0!important;bottom:0!important;width:220px!important;height:280px!important;transform:none!important;opacity:.92;pointer-events:auto}.phocal-home .hero-stage .floating-badge{display:none!important}.phocal-home .motion-wordmark{display:none!important}.phocal-home .hero-copy .kicker{font:500 11px/1.6 monospace!important;letter-spacing:.16em!important;color:#ffd43d!important}.phocal-home .hero-actions{margin-top:32px!important}.phocal-home .hero-copy.reveal{opacity:1!important;transform:none!important}
.phocal-scene{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 76% 48%,#ffd43d1a,transparent 60%)}.phocal-scene canvas{width:100%;height:100%;display:block}.phocal-scene:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#08090799,transparent 65%),linear-gradient(0deg,#080907,transparent 25%)}.phocal-scene-label{position:absolute;right:5vw;top:120px;font:10px/1.7 monospace;letter-spacing:.16em;color:#ffd43daa;z-index:2;pointer-events:none}.phocal-scene-toggle{position:absolute;right:5vw;top:160px;z-index:3;color:#eee;background:#ffffff08;border:1px solid #ffffff24;border-radius:50%;width:44px;height:44px;font-size:16px;cursor:pointer}.phocal-scroll{position:absolute;bottom:30px;left:5vw;display:flex;align-items:center;gap:18px;font:10px/1.6 monospace;letter-spacing:.15em;color:#ffd43d}.phocal-scroll:before{content:'↓';display:grid;place-items:center;border:1px solid #ffd43d55;border-radius:50%;width:42px;height:42px;font-size:20px;animation:phocal-breathe 2s ease-in-out infinite}@keyframes phocal-breathe{50%{transform:translateY(5px)}}
body .button,body .btn{border-radius:999px!important;box-shadow:none!important;padding:17px 26px!important;min-height:52px!important}body .button-primary{background:#ffd43d!important;color:#080907!important}body .button-ghost{background:#ffffff08!important;border:1px solid #ffffff40!important}.section,.bs-section,.pm-story,.custom-tech,.drone-home,.menu-home{position:relative}body .section{padding-block:clamp(80px,10vw,170px)!important}body main h2{font-weight:500!important;letter-spacing:-.045em!important;line-height:1.08!important;font-size:clamp(32px,4.8vw,76px)!important;max-width:22ch}body main h3{letter-spacing:-.025em}body main .kicker,body main .eyebrow,body .pm-eyebrow{font:500 11px/1.7 monospace!important;letter-spacing:.14em!important;text-transform:uppercase}body .service-hub-card,body .bs-card,body .ads-card,body .custom-route{border-radius:20px!important;background:linear-gradient(135deg,#ffffff0a,transparent 60%),#11130f!important;overflow:hidden}body .service-hub-card:hover,body .bs-card:hover{border-color:#ffd43d!important}body .process-panel,body .google-review-card{border-radius:24px!important;border:1px solid #ffffff20!important;background:#11130f!important}.phocal-home .drone-home,.phocal-home .menu-home{border-top:1px solid #ffffff20!important}body main .reveal,body main .reveal-left,body main .reveal-right,body main .reveal-zoom{opacity:1!important;visibility:visible!important}body .motion-ready .motion-story:not(.is-visible){opacity:1!important;transform:translateY(8px)}body .motion-ready .motion-image{clip-path:none!important}body .pm-ready .pm-enter{opacity:1!important}
/* Selected work: large, consistent editorial cards. */
body .pm-project-index{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:34px!important}body .pm-project-row{border:0!important;min-width:0!important;background:#11130f;border-radius:18px;overflow:hidden!important}body .pm-project-link{display:grid!important;grid-template-columns:40px 1fr 30px!important;gap:18px!important;padding:0 24px 25px!important;min-height:0!important;color:inherit!important}body .pm-row-preview{grid-column:1/-1!important;grid-row:1!important;width:100%!important;height:350px!important;position:relative!important;left:auto!important;right:auto!important;top:auto!important;opacity:1!important;visibility:visible!important;transform:none!important;margin:0 -24px 10px!important;width:calc(100% + 48px)!important;background:radial-gradient(ellipse at 50% 35%,#ffd43d18,transparent 70%),#141610;display:grid!important;place-items:center;overflow:hidden!important}body .pm-row-preview img{width:100%!important;height:100%!important;object-fit:cover!important;transition:transform .8s cubic-bezier(.16,1,.3,1)}body .pm-row-preview img.pm-client-logo{object-fit:contain!important;padding:60px!important;box-sizing:border-box}body .pm-project-link:hover .pm-row-preview img{transform:scale(1.06)}body .pm-client-name{color:#ffd43d;font-size:clamp(24px,3vw,44px);letter-spacing:-.05em;text-align:center}body .pm-row-copy h3{font-size:clamp(20px,2vw,29px)!important;font-weight:500!important;line-height:1.2!important}body .pm-row-copy>span{display:block!important;margin-top:10px;color:#aaa;font-size:12px}body .pm-row-number{color:#ffd43d!important}body .pm-portfolio .pm-hero{min-height:65svh!important;padding-top:160px!important}body .pm-case-hero h1{font-size:clamp(44px,7vw,110px)!important;line-height:1!important;letter-spacing:-.055em!important}body .pm-case-page .pm-browser-proof{border-radius:18px!important}body .pm-case-sections{top:78px!important;border-radius:999px!important}
.phocal-loader{position:fixed;inset:0;z-index:100000;background:#ffd43d;color:#080907;display:flex;flex-direction:column;justify-content:space-between;padding:32px 5vw;box-sizing:border-box;pointer-events:none;animation:phocal-loader-away .85s cubic-bezier(.76,0,.24,1) 1.1s forwards}.phocal-loader-top,.phocal-loader-bottom{display:flex;justify-content:space-between;font:11px/1.6 monospace;letter-spacing:.12em}.phocal-loader-mark{font-size:clamp(70px,18vw,300px);font-weight:800;letter-spacing:-.075em;line-height:1;align-self:center}.phocal-loader-orbit{width:80px;height:80px;border:1px solid #08090755;border-radius:50%;position:absolute;top:50%;left:50%;animation:phocal-orbit 1.1s linear infinite}.phocal-loader-orbit:after{content:'';width:12px;height:12px;background:#080907;border-radius:50%;position:absolute;top:0;left:15px}@keyframes phocal-orbit{to{transform:rotate(360deg)}}@keyframes phocal-loader-away{to{transform:translateY(-105%);visibility:hidden}}.phocal-page-exit:before{content:'';position:fixed;inset:0;background:#ffd43d;z-index:99999;animation:phocal-wipe .25s ease-in forwards}@keyframes phocal-wipe{from{transform:translateY(100%)}to{transform:translateY(0)}}
@media(max-width:980px){body.phocal-home .hero{padding:125px 24px 100px!important;min-height:850px!important}.phocal-home .hero-stage{display:none!important}body.phocal-home .hero-copy h1{font-size:clamp(52px,10vw,84px)!important;max-width:12ch!important}.phocal-scene:after{background:linear-gradient(90deg,#08090788,transparent),linear-gradient(0deg,#080907,transparent 35%)}.phocal-scene-label{right:24px;top:95px;font-size:9px}.phocal-scene-toggle{right:24px;top:125px}.phocal-scroll{left:24px}body .pm-row-preview{height:270px!important}body .pm-project-index{gap:20px!important}body main h2{max-width:100%!important}}
@media(max-width:600px){body.phocal-home .hero{min-height:790px!important;align-items:flex-start;padding-top:180px!important}body.phocal-home .hero-copy h1{font-size:54px!important;line-height:1.01!important}body.phocal-home .hero-copy>p:not(.kicker){font-size:16px!important;max-width:30ch!important}.phocal-home .hero-actions{display:flex!important;flex-direction:row!important;flex-wrap:wrap}.phocal-home .hero-actions .button{width:auto!important;font-size:12px!important;padding:16px 20px!important}.phocal-scene{opacity:.75}body .pm-project-index{grid-template-columns:1fr!important}body .pm-row-preview{height:290px!important}body .section{padding-block:70px!important}.phocal-loader{padding:24px}.phocal-loader-mark{font-size:24vw}.phocal-loader-top,.phocal-loader-bottom{font-size:9px}}
@media(prefers-reduced-motion:reduce){.phocal-loader{display:none!important}.phocal-scroll:before,.phocal-page-exit:before{animation:none!important}.phocal-scene canvas{opacity:.65}.pm-row-preview img{transition:none!important}.motion-word{animation:none!important;opacity:1!important;filter:none!important;clip-path:none!important;transform:none!important}}


body.phocal-home .hero-stage{display:none!important}body.phocal-home .hero-copy{max-width:760px!important}.phocal-scene canvas{filter:saturate(1.15)}
@media(max-width:600px){.phocal-scene:after{background:linear-gradient(90deg,#080907c9,#08090760),linear-gradient(0deg,#080907,transparent 60%)}body.phocal-home .hero-copy .kicker{font-size:9px!important}}
/* Inner worlds / the same visual direction throughout the site. */
.phocal-immersive-hero{position:relative!important;isolation:isolate!important;overflow:hidden!important}.phocal-immersive-hero>.phocal-scene{z-index:-1!important}.phocal-immersive-hero:not(.hero){border-radius:24px;min-height:500px!important;padding:85px 48px!important;margin-top:28px!important;background:#10130c!important}.phocal-immersive-hero:not(.hero)>.phocal-scene{opacity:.5}.phocal-immersive-hero:not(.hero)>.phocal-scene:after{background:linear-gradient(90deg,#080907e6,#08090770)}.phocal-immersive-hero:not(.hero) h1{font-size:clamp(42px,5.8vw,90px)!important;line-height:1.02!important;letter-spacing:-.055em!important;font-weight:500!important;max-width:16ch!important}.phocal-immersive-hero:not(.hero) .phocal-scene-label{top:25px;right:30px}.phocal-immersive-hero:not(.hero) .phocal-scene-toggle{top:55px;right:30px}.phocal-immersive-hero>p,.phocal-immersive-hero>div:not(.phocal-scene){position:relative;z-index:1}.phocal-immersive-hero:not(.hero)>p{max-width:55ch!important;font-size:16px!important;line-height:1.7!important;color:#dddcd0!important}
body .pm-case-page .pm-case-hero{padding-top:95px!important;margin-bottom:45px!important}body .pm-story-grid{gap:7vw!important}body .pm-story{padding-block:90px!important}body .pm-content-proof{border-radius:18px;overflow:hidden}body .pm-next{padding-block:40px!important}body .pm-next a{font-size:clamp(15px,2vw,25px)!important}.pm-filters button[aria-pressed=true]{background:#ffd43d!important;color:#080907!important;border-color:#ffd43d!important}.pm-filters button{border-radius:999px!important;padding:14px 22px!important;min-height:48px}.pm-manifesto{white-space:normal!important;overflow:visible!important;flex-wrap:wrap!important;gap:20px!important}.pm-manifesto span{font-size:clamp(18px,3vw,42px)!important}
body .contact-section,body .page-cta,body .pm-cta{border-top:1px solid #ffffff30!important;position:relative;isolation:isolate;background:radial-gradient(ellipse at 90% 50%,#ffd43d19,transparent 65%),#080907!important;border-radius:24px!important;padding:clamp(35px,6vw,85px)!important}body .contact-section h2,body .page-cta h2,body .pm-cta h2{font-size:clamp(38px,5.8vw,94px)!important;line-height:1.02!important;font-weight:500!important;letter-spacing:-.055em!important}body .contact-form,body .bs-form{background:#12150e!important;border-radius:22px!important;box-shadow:none!important;border:1px solid #ffffff30!important}body :is(.contact-form,.bs-form) :is(input,textarea,select){border-radius:10px!important;background:#080907!important;border-color:#ffffff35!important}body .team-showcase{border-radius:24px!important;overflow:hidden}.team-showcase img{filter:contrast(1.04)}body .team-name{letter-spacing:-.055em!important}body .service-page-grid{gap:24px!important}body .service-hub-card img,body .bs-card img{border-radius:14px!important}.custom-gallery{border-radius:20px}.custom-preview{border-radius:20px!important}.custom-choice,.custom-route{transition:border-color .25s,background-color .25s,transform .25s!important}.custom-choice:hover{border-color:#ffd43d!important;transform:translateY(-3px)}
@media(max-width:980px){.phocal-immersive-hero:not(.hero){padding:100px 30px 55px!important;min-height:470px!important}.phocal-immersive-hero:not(.hero) h1{font-size:clamp(42px,7vw,66px)!important}body .pm-case-page .pm-case-hero{padding-top:100px!important}body .pm-case-sections{border-radius:15px!important}}
@media(max-width:600px){.phocal-immersive-hero:not(.hero){border-radius:16px;padding:100px 22px 40px!important;min-height:450px!important}.phocal-immersive-hero:not(.hero) h1{font-size:42px!important;max-width:100%!important}.phocal-immersive-hero:not(.hero) .phocal-scene-label{font-size:8px;right:22px;top:22px}.phocal-immersive-hero:not(.hero) .phocal-scene-toggle{right:22px;top:48px}body .contact-section,body .page-cta,body .pm-cta{padding:38px 24px!important}body .pm-story{padding-block:55px!important}}
/* Scroll motion remains progressive: the content is always visible. */
@supports(animation-timeline:view()){ @media(prefers-reduced-motion:no-preference){body main :is(.bs-card,.service-hub-card,.pm-content-proof,.custom-route){animation:phocal-card-depth linear both;animation-timeline:view();animation-range:entry 0% entry 100%}@keyframes phocal-card-depth{from{transform:perspective(1200px) translateY(30px) rotateX(5deg)}to{transform:none}}}}
body.menu-open .phocal-header .nav-links{animation:phocal-menu-arrive .4s cubic-bezier(.16,1,.3,1)!important;counter-reset:phocal-nav;background:radial-gradient(ellipse at 85% 20%,#ffd43d14,transparent 60%),#080907!important}body.menu-open .phocal-header .nav-links a{counter-increment:phocal-nav}body.menu-open .phocal-header .nav-links a:before{content:counter(phocal-nav,decimal-leading-zero);display:inline-block;width:34px;color:#ffd43d;font:10px/1 monospace;vertical-align:middle;opacity:.75}body.menu-open .phocal-header .nav-links a:hover{color:#ffd43d!important}@keyframes phocal-menu-arrive{from{transform:translateY(-25px)}to{transform:none}}
@media(min-width:981px){body.menu-open .phocal-header .nav-links{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;align-content:center!important;gap:0 7vw!important;padding:5vh 10vw!important}body.menu-open .phocal-header .nav-links a{font-size:clamp(28px,3.8vw,56px)!important;line-height:1.12!important;font-weight:500!important;letter-spacing:-.045em!important;min-height:80px!important;display:flex!important;align-items:center!important}body.menu-open .phocal-header .nav-links a:before{width:45px;flex:0 0 45px}body .phocal-header .nav-cta{margin-left:auto!important}body .phocal-header .menu-toggle{margin-left:0!important}}
@media(prefers-reduced-motion:reduce){body.menu-open .phocal-header .nav-links{animation:none!important}}
.phocal-section-animated{position:relative!important;isolation:isolate}.phocal-section-world{position:absolute;right:-30px;top:15px;width:min(44vw,540px);height:480px;pointer-events:none;z-index:-1;opacity:.65;overflow:hidden}.phocal-section-world canvas{display:block;width:100%;height:100%;object-fit:contain}.phocal-section-animated>h2,.phocal-section-animated>.section-heading{position:relative}.phocal-section-animated:before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 80% 25%,#ffd43d05,transparent 60%);z-index:-2}
@media(max-width:600px){.phocal-section-world{width:340px;height:310px;right:-50px;top:15px;opacity:.3}.phocal-immersive-hero:not(.hero) .phocal-scene{opacity:.45}}
.phocal-drone-dock{position:relative;min-height:230px;max-width:500px;display:grid;place-items:center;isolation:isolate}.phocal-flying-drone{display:block;width:330px!important;height:330px!important;max-width:85vw!important;object-fit:contain!important;pointer-events:none!important;filter:drop-shadow(0 30px 14px #0008);will-change:transform;z-index:5}.phocal-drone-follow{position:fixed!important;top:0!important;left:0!important;margin:0!important;width:260px!important;height:260px!important;z-index:60!important;pointer-events:none!important}.phocal-drone-trail{position:absolute;width:90px;height:25px;filter:blur(18px);border-radius:50%;background:#ffd43d30;pointer-events:none}.phocal-drone-trail.phocal-drone-follow{width:80px!important;height:20px!important;opacity:.5}.phocal-drone-control{position:relative;z-index:4;display:block;margin:10px 0 20px auto;min-height:44px;padding:12px 18px;border:1px solid #ffd43d50;border-radius:30px;background:#090b08;color:#ffd43d;font:500 12px/1.5 sans-serif;cursor:pointer}.menu-open .phocal-drone-follow{visibility:hidden!important}
@media(min-width:981px){body:has(.phocal-drone-follow) .phocal-drone-dock{min-height:0;height:0}.drone-home .phocal-drone-dock{position:absolute;right:10%;bottom:0;width:300px;height:280px}.drone-home .phocal-drone-control{position:absolute;right:24px;bottom:10px}.phocal-drone-control{max-width:190px}}
@media(prefers-reduced-motion:reduce){.phocal-flying-drone{will-change:auto;transform:none!important}}
/* Content leads; decorative enumeration is removed. */
body .phocal-no-number,body [data-film-index]{display:none!important}body .phocal-header .nav-links a:before,body .bs-system li:before,body .bs-steps li:before{content:none!important;display:none!important}body .bs-system li{padding-left:0!important}body .pm-row-copy{grid-column:1/3!important;grid-row:2!important}body .pm-row-arrow{grid-column:3!important;grid-row:2!important}.custom-product-section .custom-route-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:22px!important;margin:40px 0!important}.custom-page .custom-product-card{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:12px!important;padding:24px!important;min-height:350px!important;border:1px solid #ffffff25!important;text-decoration:none!important;font-size:23px!important;font-weight:600!important;line-height:1.25!important;color:#f4f2e9!important;background:linear-gradient(145deg,#ffffff08,transparent 60%),#11150e!important;transition:transform .3s,border-color .3s!important}.custom-product-card .custom-route-art{order:-1;display:block!important;width:100%!important;height:195px!important;max-height:none!important;background:radial-gradient(ellipse at 50% 45%,#ffd43d0d,transparent 70%);transition:transform .6s cubic-bezier(.16,1,.3,1)}.custom-page .custom-product-card .custom-route-description{display:block!important;font-size:14px!important;font-weight:400!important;line-height:1.6!important;color:#b6bdae!important;margin:0!important}.custom-page .custom-product-card .custom-route-action{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:12px!important;color:#ffd43d!important;font-size:12px!important;font-weight:600!important;line-height:1.5!important;border-top:1px solid #ffffff20;padding-top:18px;margin-top:auto!important}.custom-product-card .custom-route-action b{font-size:23px;font-weight:400}.custom-page .custom-product-card:hover,.custom-page .custom-product-card:focus-visible{border-color:#ffd43d!important;transform:translateY(-5px)!important;color:#f4f2e9!important}.custom-product-card:hover .custom-route-art{transform:rotate(-4deg) scale(1.04)}.custom-page .custom-route-grid:has(button){gap:16px!important}.custom-page button.custom-route{border-radius:16px!important;min-height:125px!important;font-size:19px!important;padding:26px!important;line-height:1.3!important}.custom-page button.custom-route:hover,.custom-page button.custom-route:focus-visible{border-color:#ffd43d!important;color:#ffd43d!important}.custom-page button.custom-route span{color:#b6bdae!important;font-size:13px!important}.custom-page .custom-product-section>h2{max-width:16ch!important}.custom-page .custom-hero{margin-bottom:45px!important}.custom-page .custom-photo img{object-position:center;max-height:540px!important}.custom-page .custom-crosslinks a{border:1px solid #ffffff24;border-radius:999px;padding:12px 18px!important;text-decoration:none;color:#ffd43d;font-size:13px}
@media(max-width:1050px){.custom-product-section .custom-route-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.custom-page .custom-product-card{font-size:21px!important}}@media(max-width:600px){.custom-product-section .custom-route-grid{grid-template-columns:1fr!important;gap:18px!important;margin-top:28px!important}.custom-page .custom-product-card{min-height:340px!important;padding:24px!important}.custom-product-card .custom-route-art{height:185px!important}.custom-page button.custom-route{padding:20px!important;font-size:17px!important}.custom-page .custom-photo img{height:320px!important}}
@media(prefers-reduced-motion:reduce){.custom-product-card,.custom-product-card .custom-route-art{transition:none!important;animation:none!important;transform:none!important}}
body .custom-page :is(h1,h2,h3),body .custom-dialog :is(h2,h3){color:#f4f2e9!important}body .custom-page :is(h1,h2,h3) em{color:#ffd43d!important}
/* One type family and readable text throughout Phocal. */
@font-face{font-family:"Phocal Sans";src:url("fonts/inter-latin.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Phocal Sans";src:url("fonts/inter-latin-ext.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020-202F,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
:root{--phocal-sans:"Phocal Sans",Arial,sans-serif;--pm-sans:var(--phocal-sans);--pm-serif:var(--phocal-sans)}
html body,html body :is(*,#phocal-typography),html body :is(*,#phocal-typography)::before,html body :is(*,#phocal-typography)::after{font-family:var(--phocal-sans)!important}
/* Animated word spans must not inherit transparent gradient text fill. */
html body .gold,html body .gold *{color:#ffd43d!important;-webkit-text-fill-color:currentColor!important;background-image:none!important;background-clip:border-box!important;-webkit-background-clip:border-box!important}
html body .custom-page :is(summary,li),html body .custom-page .button:not(.button-primary),html body .custom-page a[href^="tel:"]{color:#f4f2e9!important;-webkit-text-fill-color:currentColor!important}
html body .button-ghost,html body .button-outline{color:#f4f2e9!important}
html body :is(.button-ghost,.button-outline):hover{color:#ffd43d!important}


.reel-source-caption{text-align:center;margin:28px auto 0;padding:0 20px}.reel-source-caption a{display:inline-flex;min-height:44px;align-items:center;color:#ffd43d;font-size:14px;line-height:1.6;text-decoration:none;border-bottom:1px solid #ffd43d55}.reel-source-caption a:hover{color:#f4f2e9}
