@font-face{font-family:Montserrat;src:url('/assets/Montserrat-Regular.ttf') format('truetype');font-display:swap;font-weight:400}
@font-face{font-family:Montserrat;src:url('/assets/Montserrat-SemiBold.ttf') format('truetype');font-display:swap;font-weight:600}
@font-face{font-family:Montserrat;src:url('/assets/Montserrat-Bold.ttf') format('truetype');font-display:swap;font-weight:700}
:root{--black:#080808;--ink:#0e1018;--navy:#171b3a;--warm:#f7f3ea;--gold:#f4b942;--gray:#aaa8a4;--line:rgba(247,243,234,.16);--max:1380px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--warm);font-family:Montserrat,Arial,sans-serif;font-size:16px;line-height:1.6;overflow-x:hidden}body::before{content:"";position:fixed;inset:0;background:linear-gradient(100deg,transparent 0 55%,rgba(244,185,66,.035) 65%,transparent 76%),url('/assets/grain.png');background-size:auto,420px;opacity:.35;pointer-events:none;z-index:20;mix-blend-mode:screen}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}.skip{position:absolute;left:-999px;top:10px;background:var(--gold);color:var(--black);padding:.7rem 1rem;z-index:100}.skip:focus{left:10px}.shell{width:min(calc(100% - 40px),var(--max));margin:auto}.nav{position:fixed;z-index:50;top:0;left:0;right:0;border-bottom:1px solid transparent;transition:.35s;background:linear-gradient(to bottom,rgba(8,8,8,.8),transparent)}.nav.scrolled{background:rgba(8,8,8,.9);backdrop-filter:blur(18px);border-color:var(--line)}.nav-inner{height:88px;display:flex;align-items:center;justify-content:space-between}.brand img{height:34px;width:auto}.nav-links{display:flex;align-items:center;gap:2rem;font-size:.78rem;font-weight:600;letter-spacing:.12em}.nav-links a{position:relative}.nav-links a:not(.button)::after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:1px;background:var(--gold);transition:.3s}.nav-links a:hover::after,.nav-links a[aria-current="page"]::after{width:100%}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.75rem 1.2rem;border:1px solid var(--gold);background:var(--gold);color:var(--black);font-weight:700;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:.25s}.button:hover{background:var(--warm);border-color:var(--warm);transform:translateY(-2px)}.button.ghost{background:transparent;color:var(--warm);border-color:var(--line)}.button.ghost:hover{border-color:var(--warm)}.menu-toggle{display:none;background:none;border:0;color:var(--warm);font-size:1.6rem;padding:.5rem}.hero{min-height:100svh;display:grid;align-items:end;position:relative;isolation:isolate;padding:140px 0 64px}.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 76% 42%,rgba(244,185,66,.16),transparent 13%),radial-gradient(circle at 76% 42%,rgba(23,27,58,.9),transparent 36%),linear-gradient(100deg,var(--black) 20%,#0d0f19 65%,var(--black));z-index:-2}.hero::after{content:"";position:absolute;width:1px;height:70%;right:24%;top:12%;background:linear-gradient(transparent,var(--gold),transparent);box-shadow:0 0 50px 12px rgba(244,185,66,.12);transform:rotate(12deg);z-index:-1}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:4rem;align-items:end}.eyebrow{font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:700;margin:0 0 1.4rem}.hero h1,.display{font-size:clamp(3.3rem,8vw,8.4rem);font-weight:600;letter-spacing:-.065em;line-height:.86;text-transform:uppercase;margin:0;max-width:1000px}.hero h1 span{display:block;color:transparent;-webkit-text-stroke:1px rgba(247,243,234,.5)}.lead{font-size:clamp(1.05rem,1.5vw,1.35rem);max-width:650px;color:#cbc8c1;margin:2rem 0}.actions{display:flex;gap:.8rem;flex-wrap:wrap}.showreel{aspect-ratio:16/10;border:1px solid var(--line);position:relative;overflow:hidden;background:linear-gradient(135deg,#0b0c11,#171b3a 60%,#332818);display:flex;align-items:center;justify-content:center}.showreel::before{content:"";position:absolute;inset:-25%;background:conic-gradient(from 180deg,transparent,rgba(244,185,66,.18),transparent 30%);animation:turn 12s linear infinite}.showreel-logo{width:54%;position:relative;filter:drop-shadow(0 0 30px rgba(244,185,66,.2))}.media-note{position:absolute;bottom:18px;left:18px;right:18px;display:flex;justify-content:space-between;font-size:.7rem;letter-spacing:.12em;color:var(--gray);text-transform:uppercase}.scroll-mark{position:absolute;left:50%;bottom:22px;font-size:.68rem;letter-spacing:.15em;color:var(--gray);writing-mode:vertical-rl}@keyframes turn{to{transform:rotate(360deg)}}section{padding:120px 0;border-top:1px solid var(--line)}.section-head{display:flex;justify-content:space-between;gap:2rem;align-items:end;margin-bottom:3.2rem}.kicker{color:var(--gold);font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700}.section-title{font-size:clamp(2.4rem,5vw,5.5rem);line-height:.95;letter-spacing:-.055em;text-transform:uppercase;margin:.7rem 0 0}.section-copy{max-width:520px;color:var(--gray);margin:0}.work-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem}.work-card{grid-column:span 5;min-height:520px;position:relative;overflow:hidden;border:1px solid var(--line);background:linear-gradient(145deg,#11131f,#080808)}.work-card.wide{grid-column:span 7}.work-card:nth-child(3){grid-column:span 7}.work-card:nth-child(4){grid-column:span 5}.work-card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 60% 35%,rgba(244,185,66,.15),transparent 25%),url('/assets/isologo-gold.png') center/45% no-repeat;opacity:.55;transition:.5s}.work-card:hover::before{transform:scale(1.05);opacity:.85}.work-card .placeholder{position:absolute;top:18px;right:18px;font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gray);border:1px solid var(--line);padding:.45rem .65rem}.work-meta{position:absolute;inset:auto 0 0;padding:1.6rem;background:linear-gradient(transparent,rgba(8,8,8,.92) 30%);padding-top:5rem}.work-meta h3{font-size:1.65rem;margin:0 0 .25rem;letter-spacing:-.03em}.work-meta p{margin:0;color:var(--gray);font-size:.85rem}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service{padding:2rem;min-height:270px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;transition:.3s}.service:hover{background:var(--navy);transform:translateY(-4px)}.service-num{color:var(--gold);font-size:.75rem}.service h3{font-size:1.4rem;margin:4.5rem 0 .8rem}.service p{color:var(--gray);margin:0;font-size:.9rem}.split{display:grid;grid-template-columns:1fr 1fr;gap:7rem;align-items:center}.statement{font-size:clamp(2rem,4vw,4.3rem);line-height:1.05;letter-spacing:-.045em;margin:0}.statement em{font-style:normal;color:var(--gold)}.process{display:grid;grid-template-columns:repeat(5,1fr);counter-reset:step}.process-step{border-left:1px solid var(--line);padding:1.2rem;min-height:230px;counter-increment:step}.process-step::before{content:"0"counter(step);color:var(--gold);font-size:.75rem}.process-step h3{font-size:1.05rem;margin:5rem 0 .5rem}.process-step p{font-size:.82rem;color:var(--gray)}.clients-strip{display:flex;flex-wrap:wrap;gap:.8rem}.client-pill{border:1px solid var(--line);padding:.75rem 1rem;color:#d8d5ce;font-size:.8rem}.cta{background:var(--warm);color:var(--black);position:relative;overflow:hidden}.cta::after{content:"";position:absolute;width:480px;height:480px;right:-100px;top:-170px;background:url('/assets/isologo-gold.png') center/contain no-repeat;opacity:.22}.cta .section-title{max-width:900px;position:relative;z-index:1}.cta .button.ghost{color:var(--black);border-color:rgba(8,8,8,.3)}.page-hero{padding:190px 0 90px;min-height:55vh;display:flex;align-items:end;background:radial-gradient(circle at 75% 20%,rgba(244,185,66,.13),transparent 22%),linear-gradient(120deg,#080808,#12152d)}.page-hero h1{font-size:clamp(3.5rem,9vw,8rem);line-height:.9;letter-spacing:-.065em;text-transform:uppercase;margin:0}.filter-bar{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:2.5rem}.filter{border:1px solid var(--line);background:transparent;color:var(--gray);padding:.7rem 1rem;cursor:pointer;font-size:.72rem;letter-spacing:.1em}.filter.active,.filter:hover{color:var(--black);background:var(--gold);border-color:var(--gold)}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.portfolio-grid .work-card{grid-column:auto;min-height:420px}.detail-card{border:1px solid var(--line);padding:2rem}.detail-card h3{font-size:1.4rem;margin:.4rem 0}.detail-card ul{padding:0;list-style:none;color:var(--gray)}.detail-card li{margin:.4rem 0}.form-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:6rem;align-items:start}.form{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.field{display:flex;flex-direction:column;gap:.45rem}.field.full{grid-column:1/-1}.field label{font-size:.78rem;letter-spacing:.06em;color:#d9d6d0}.field input,.field select,.field textarea{width:100%;background:#0c0d13;color:var(--warm);border:1px solid var(--line);border-radius:0;padding:1rem;min-height:52px}.field textarea{min-height:140px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:1px solid var(--gold);border-color:var(--gold)}.honeypot{position:absolute;left:-9999px}.form-success{display:none;padding:1.5rem;border:1px solid var(--gold);color:var(--warm)}.form-success.show{display:block}.legal-note{font-size:.75rem;color:var(--gray)}.payment-card{max-width:760px;margin:auto;border:1px solid var(--line);background:#0c0d14;padding:clamp(1.5rem,4vw,4rem)}.payment-row{display:flex;justify-content:space-between;gap:2rem;padding:1rem 0;border-bottom:1px solid var(--line)}.payment-row span:first-child{color:var(--gray)}.status-badge{display:inline-block;border:1px solid var(--gold);color:var(--gold);padding:.4rem .7rem;font-size:.7rem;letter-spacing:.12em}.footer{padding:70px 0 30px;border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2rem}.footer-logo{width:180px}.footer h4{font-size:.75rem;color:var(--gold);text-transform:uppercase;letter-spacing:.12em;margin:0 0 1rem}.footer a,.footer p{display:block;color:var(--gray);font-size:.85rem;margin:.45rem 0}.footer-bottom{border-top:1px solid var(--line);margin-top:3rem;padding-top:1.2rem;display:flex;justify-content:space-between;color:#777;font-size:.7rem}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.nav-inner{height:72px}.nav-links{display:none;position:absolute;top:72px;left:0;right:0;background:rgba(8,8,8,.98);padding:2rem;flex-direction:column;align-items:flex-start}.nav-links.open{display:flex}.menu-toggle{display:block}.hero{padding-top:110px}.hero-grid,.split,.form-layout{grid-template-columns:1fr;gap:3rem}.hero h1{font-size:clamp(3.4rem,15vw,6rem)}.showreel{order:-1}.section-head{display:block}.section-copy{margin-top:1.5rem}.work-card,.work-card.wide,.work-card:nth-child(3),.work-card:nth-child(4){grid-column:1/-1;min-height:440px}.services-grid{grid-template-columns:1fr 1fr}.process{grid-template-columns:1fr 1fr}.portfolio-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.page-hero{min-height:45vh}}
@media(max-width:580px){.shell{width:min(calc(100% - 28px),var(--max))}.hero{min-height:auto;padding-bottom:84px}.hero-grid{gap:2rem}.showreel{margin-top:1rem}.actions .button{width:100%}section{padding:80px 0}.services-grid,.process,.portfolio-grid,.form,.footer-grid{grid-template-columns:1fr}.process-step{min-height:180px}.form-layout{gap:2.5rem}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:.5rem}.page-hero{padding-top:140px}.work-card{min-height:390px}}

/* Provisional real-project media */
.showreel-image,.work-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.showreel-image{transition:transform .7s ease,filter .7s ease}
.visual-preview::after,.case-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,8,8,.05),rgba(8,8,8,.18) 55%,rgba(8,8,8,.82))}
.visual-preview:hover .showreel-image{transform:scale(1.025);filter:saturate(1.08)}
.visual-preview::before,.case-media::before{display:none}
.preview-mark{position:absolute;z-index:2;top:22px;left:22px;width:52px;filter:drop-shadow(0 2px 12px rgba(0,0,0,.7))}
.visual-preview .media-note,.case-media .media-note{z-index:3;color:var(--warm)}
.work-image{transition:transform .6s ease,filter .6s ease;filter:saturate(.92) brightness(.88)}
.work-card::before{display:none}
.work-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(8,8,8,.88));pointer-events:none}
.work-card:hover .work-image{transform:scale(1.035);filter:saturate(1.08) brightness(1)}
.work-card .placeholder,.work-meta{z-index:2}
.project-hero{position:relative;isolation:isolate;min-height:88vh;overflow:hidden;background:#080808}
.project-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 38%;z-index:-2}
.project-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,8,8,.82) 0%,rgba(8,8,8,.28) 60%),linear-gradient(0deg,rgba(8,8,8,.9),transparent 55%);z-index:-1}
.project-hero-copy{align-self:end}
.case-media{aspect-ratio:16/9}
.project-gallery{display:grid;grid-template-columns:1.35fr .72fr .72fr;gap:1rem;align-items:stretch}
.project-gallery figure{position:relative;margin:0;min-height:620px;overflow:hidden;background:#111;border:1px solid var(--line)}
.project-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.project-gallery figure:hover img{transform:scale(1.025)}
.project-gallery figcaption{position:absolute;left:16px;bottom:16px;background:rgba(8,8,8,.78);padding:.5rem .7rem;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase}
@media(max-width:900px){.project-hero{min-height:70vh}.project-gallery{grid-template-columns:1fr 1fr}.project-gallery .gallery-cover{grid-column:1/-1}.project-gallery figure{min-height:520px}}
@media(max-width:580px){.project-hero{min-height:72vh}.project-hero>img{object-position:56% center}.project-gallery{grid-template-columns:1fr}.project-gallery .gallery-cover{grid-column:auto}.project-gallery figure{min-height:500px}.project-gallery .gallery-cover{min-height:390px}.preview-mark{width:42px}}

/* Homepage emblem and expanded featured work */
.hero-emblem{isolation:isolate;background:radial-gradient(circle at center,rgba(244,185,66,.14),rgba(23,27,58,.9) 43%,#0b0c11 78%)}
.hero-emblem::before{z-index:-1;opacity:.9}
.emblem-halo{position:absolute;width:58%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,207,98,.58) 0%,rgba(244,185,66,.22) 28%,rgba(244,185,66,.07) 52%,transparent 72%);filter:blur(14px);animation:pulse-halo 4.5s ease-in-out infinite}
.hero-emblem .showreel-logo{z-index:1;width:58%;filter:drop-shadow(0 0 22px rgba(244,185,66,.58)) drop-shadow(0 0 60px rgba(244,185,66,.22))}
.hero-emblem .media-note{z-index:2}
.work-grid .work-card:nth-child(5){grid-column:span 7}
.work-grid .work-card:nth-child(6){grid-column:span 5}
@keyframes pulse-halo{0%,100%{transform:scale(.94);opacity:.72}50%{transform:scale(1.08);opacity:1}}
@media(prefers-reduced-motion:reduce){.emblem-halo{animation:none}}
@media(max-width:900px){.work-grid .work-card:nth-child(5),.work-grid .work-card:nth-child(6){grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
