:root { --ink:#11110f; --paper:#f2f0ea; --acid:#c6f04a; --muted:#817f77; --line:rgba(17,17,15,.18); --mono:"DM Mono", monospace; --sans:"Manrope", Arial, sans-serif; --serif:"Playfair Display", Georgia, serif; }
* { box-sizing:border-box; } html { background:var(--ink); } body { margin:0; color:var(--ink); background:var(--paper); font-family:var(--sans); font-size:14px; } body.menu-open { overflow:hidden; } a { color:inherit; text-decoration:none; } button,input,textarea { font:inherit; } button { cursor:pointer; } .container { padding-inline:clamp(20px,4vw,65px); } .cursor-dot { position:fixed; z-index:100; width:10px; height:10px; top:-5px; left:-5px; pointer-events:none; border-radius:50%; background:var(--acid); mix-blend-mode:difference; transition:width .2s,height .2s; }
.header { position:relative; z-index:10; height:85px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; border-bottom:1px solid var(--line); }.logo { position:relative; display:inline-block; width:max-content; font-size:20px; font-weight:800; line-height:1; letter-spacing:-.085em; }.logo span { color:#9ebf3b; }.logo sup { position:absolute; top:-6px; right:-12px; color:var(--muted); font:7px var(--mono); letter-spacing:0; }.header__middle { display:flex; gap:24px; color:var(--muted); font:9px var(--mono); letter-spacing:.04em; text-transform:uppercase; }.menu-button { justify-self:end; display:flex; gap:12px; align-items:center; padding:0; border:0; color:var(--ink); background:none; font:10px var(--mono); text-transform:uppercase; }.menu-button b { display:grid; gap:5px; width:22px; }.menu-button i { display:block; height:1px; background:currentColor; transition:.25s; }.menu-open .menu-button i:first-child { transform:translateY(3px) rotate(45deg); }.menu-open .menu-button i:last-child { transform:translateY(-3px) rotate(-45deg); }.menu-panel { position:fixed; z-index:9; inset:0; display:flex; flex-direction:column; padding:113px clamp(20px,4vw,65px) 34px; color:var(--paper); background:var(--ink); clip-path:inset(0 0 100% 0); transition:clip-path .55s cubic-bezier(.75,0,.2,1); }.menu-open .menu-panel { clip-path:inset(0); }.menu-panel__top { display:flex; justify-content:space-between; color:#777770; font:10px var(--mono); }.menu-panel nav { display:flex; flex-direction:column; margin-top:auto; }.menu-panel nav a { display:flex; align-items:baseline; justify-content:space-between; padding:9px 0; border-top:1px solid rgba(242,240,234,.22); font:500 clamp(46px,7.5vw,100px)/.9 var(--serif); letter-spacing:-.075em; transition:color .2s,padding .25s; }.menu-panel nav a:hover { padding-left:13px; color:var(--acid); }.menu-panel nav i { font:11px var(--mono); }.menu-email { margin-top:36px; color:var(--acid); font:11px var(--mono); }
.hero { position:relative; z-index:1; min-height:calc(100vh - 85px); display:flex; flex-direction:column; padding-top:24px; padding-bottom:28px; background:var(--paper); }.hero__meta,.section-kicker { display:grid; grid-template-columns:1fr 1fr 1fr; color:var(--muted); font:9px var(--mono); letter-spacing:.06em; text-transform:uppercase; }.hero__meta span:last-child,.section-kicker span:last-child { text-align:right; }.hero__title-wrap { position:relative; flex:1; display:flex; align-items:center; }.hero__title { position:relative; z-index:2; margin:0; font:500 clamp(68px,11.6vw,182px)/.79 var(--serif); letter-spacing:-.094em; }.hero__title em,.page-intro h1 em,.statement-row h2 em,.about-band h2 em,.cta h2 em,.service-detail h2 em,.process h2 em { color:#8ba624; font-weight:500; }.hero__object { position:absolute; z-index:1; width:min(44vw,575px); aspect-ratio:1; right:3%; top:50%; transform:translateY(-50%); }.hero__core { position:absolute; width:48%; aspect-ratio:1; top:26%; left:26%; border-radius:50%; background:radial-gradient(circle at 32% 27%,#fbfff0 0 3%,#d9ff6b 12%,#9ac340 39%,#405012 65%,#1c210d 100%); box-shadow:inset -26px -32px 42px rgba(18,29,0,.45),13px 25px 31px rgba(53,66,12,.34); animation:levitate 6s ease-in-out infinite; }.hero__sphere { position:absolute; border-radius:50%; background:radial-gradient(circle at 32% 27%,#fbfff0 0 4%,#c8f155 16%,#78972d 51%,#283008); box-shadow:inset -12px -13px 17px rgba(0,0,0,.3),8px 12px 15px rgba(58,72,22,.27); }.hero__sphere.one { width:18%; aspect-ratio:1; left:16%; top:49%; animation:levitate 5s ease-in-out infinite reverse; }.hero__sphere.two { width:11%; aspect-ratio:1; right:12%; top:35%; animation:levitate 7s ease-in-out infinite; }.hero__orbit { position:absolute; border:1px solid rgba(59,72,7,.52); border-radius:50%; }.orbit-a { width:97%; height:38%; top:34%; transform:rotate(-34deg); }.orbit-b { width:76%; height:30%; top:48%; left:12%; transform:rotate(38deg); }.hero__glass { position:absolute; width:22%; aspect-ratio:.68; right:17%; bottom:12%; border:1px solid rgba(255,255,255,.75); background:linear-gradient(135deg,rgba(255,255,255,.48),rgba(189,228,102,.1)); box-shadow:13px 16px 24px rgba(61,75,17,.18); transform:rotate(17deg); backdrop-filter:blur(5px); }.hero__object > span { position:absolute; right:4%; bottom:3%; color:#66702c; font:9px/1.25 var(--mono); text-align:right; }.hero__bottom { display:grid; grid-template-columns:1fr auto 1fr; align-items:end; }.hero__bottom p { max-width:317px; margin:0; color:#4d4d46; font-size:13px; line-height:1.62; }.round-action { position:relative; display:grid; place-items:center; width:79px; height:79px; border:1px solid var(--ink); border-radius:50%; font:9px/1.1 var(--mono); text-align:center; transition:.25s; }.round-action i { position:absolute; right:8px; top:8px; font-style:normal; font-size:15px; }.round-action:hover { color:var(--paper); background:var(--ink); transform:rotate(-15deg); }.scroll-mark { justify-self:end; display:flex; align-items:center; gap:8px; color:var(--muted); font:8px var(--mono); letter-spacing:.07em; }.scroll-mark b { display:block; width:33px; height:1px; background:var(--muted); }
.ticker { position:relative; z-index:0; overflow:hidden; padding:17px 0; color:var(--ink); background:var(--acid); white-space:nowrap; }.ticker__track { display:inline-flex; align-items:center; gap:27px; padding-left:20px; font:500 clamp(20px,2.4vw,34px) var(--serif); letter-spacing:-.055em; animation:slide 42s linear infinite; }.ticker__track b { font-size:13px; }
.section-pad { padding-top:clamp(88px,11vw,157px); padding-bottom:clamp(88px,11vw,157px); }.statement-row { display:grid; grid-template-columns:1fr .47fr; gap:11vw; align-items:end; margin:51px 0 52px; }.statement-row h2,.about-band h2,.process h2 { margin:0; font:500 clamp(43px,6vw,85px)/.92 var(--serif); letter-spacing:-.078em; }.statement-row p { max-width:288px; margin:0 0 4px; color:#5e5d56; font-size:14px; line-height:1.65; }.feature-grid { display:grid; grid-template-columns:1.28fr .72fr; gap:20px; }.project { display:block; }.project:nth-child(3) { grid-column:2; }.project__visual { position:relative; overflow:hidden; height:clamp(235px,28vw,410px); }.project--hero .project__visual { height:clamp(340px,42vw,620px); }.project__caption { position:relative; display:grid; grid-template-columns:1fr auto; padding:14px 0 2px; }.project__caption span,.index-project__meta > span { color:var(--muted); font:9px var(--mono); text-transform:uppercase; }.project__caption h3 { grid-column:1; margin:6px 0 0; font:500 23px var(--serif); letter-spacing:-.055em; }.project__caption i,.index-project__meta i { grid-row:span 2; align-self:center; display:grid; place-items:center; width:33px; height:33px; border:1px solid var(--ink); border-radius:50%; font-style:normal; transition:.25s; }.project:hover .project__caption i,.index-project:hover .index-project__meta i { color:var(--paper); background:var(--ink); transform:rotate(45deg); }.anant { color:#f4f2e7; background:linear-gradient(130deg,#283930 0%,#6f896e 47%,#dec36e 100%); }.visual-label { position:absolute; z-index:3; left:7%; bottom:7%; font:500 clamp(31px,4.8vw,70px)/.76 var(--serif); letter-spacing:-.08em; }.anant-disc { position:absolute; width:42%; aspect-ratio:1; right:11%; top:7%; border-radius:50%; background:radial-gradient(circle at 36% 31%,#fff9ce,#e7b34f 55%,#bd6c25); }.anant-building { position:absolute; bottom:-8%; background:linear-gradient(90deg,#315e58,#91af89 46%,#315d57); box-shadow:12px 0 20px rgba(0,0,0,.18); }.anant-building::before { position:absolute; content:""; inset:5% 13%; background:repeating-linear-gradient(to bottom,rgba(227,237,201,.68) 0 3px,transparent 3px 14px); }.anant-building.b-one { left:29%; width:19%; height:62%; }.anant-building.b-two { left:49%; width:24%; height:88%; }.anant-lines { position:absolute; inset:auto 0 0; height:47%; background:linear-gradient(transparent,rgba(19,33,25,.43)); }.visual-stamp { position:absolute; z-index:3; right:17px; bottom:17px; width:67px; height:67px; display:grid; place-items:center; border-radius:50%; color:var(--ink); background:var(--acid); font:7px/1.2 var(--mono); text-align:center; }.elan { background:radial-gradient(circle at 53% 46%,#f8d2a4 0,#9b6547 31%,#3d292c 70%); }.elan-ring { position:absolute; width:42%; aspect-ratio:1; top:43%; left:48%; transform:translate(-50%,-50%) rotateX(68deg); border:17px solid #e2b95f; border-radius:50%; box-shadow:inset 0 0 9px #7b5217,0 17px 22px rgba(0,0,0,.5); }.elan-gem { position:absolute; width:24%; aspect-ratio:1; top:24%; left:37%; background:radial-gradient(circle at 30% 27%,white 0 5%,#cff6f1 6%,#80c6c9 37%,#2a555d); clip-path:polygon(50% 0,100% 31%,84% 85%,50% 100%,16% 85%,0 31%); filter:drop-shadow(0 0 11px #b2f5f2); }.elan-word { position:absolute; right:7%; bottom:8%; color:#f9ecda; font:500 clamp(36px,4vw,58px)/1 var(--serif); letter-spacing:-.08em; }.vanta { color:#e3eadc; background:#1e2c2b; }.vanta-grid { position:absolute; inset:0; background:linear-gradient(rgba(220,239,211,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(220,239,211,.16) 1px,transparent 1px); background-size:25px 25px; mask-image:linear-gradient(to bottom,transparent,black 35%,black 100%); }.vanta-orb { position:absolute; width:49%; aspect-ratio:1; left:51%; top:45%; transform:translate(-50%,-50%); border:1px solid rgba(235,250,220,.58); border-radius:50%; background:radial-gradient(circle at 35% 30%,#def1d9,#87ac94 33%,#315952 64%,#153031); box-shadow:inset -25px -25px 34px rgba(0,0,0,.45); }.vanta-word { position:absolute; left:8%; bottom:9%; font:500 clamp(27px,3.3vw,47px)/.83 var(--serif); letter-spacing:-.08em; }.section-footer { display:flex; justify-content:space-between; margin-top:56px; color:var(--muted); font:10px var(--mono); }.section-footer p { margin:0; }.inline-link { display:inline-flex; gap:11px; align-items:center; padding-bottom:5px; color:var(--ink); border-bottom:1px solid var(--ink); font:11px var(--sans); font-weight:700; }.inline-link i { font-size:16px; font-style:normal; transition:transform .2s; }.inline-link:hover i { transform:translateX(5px); }
.services-strip { padding:clamp(60px,7vw,110px) 0; color:var(--paper); background:var(--ink); }.services-strip .section-kicker { color:#87877f; }.services-strip__grid { display:grid; grid-template-columns:1fr 1fr; gap:19px; margin-top:40px; }.service-card__media { position:relative; height:clamp(285px,33vw,485px); overflow:hidden; }.service-card__media::after { position:absolute; inset:0; content:""; background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.52)); }.service-card__media img { display:block; width:100%; height:100%; object-fit:cover; filter:grayscale(100%) contrast(1.06); transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .4s; }.service-card:hover img { transform:scale(1.05); filter:grayscale(25%) contrast(1); }.media-tag { position:absolute; z-index:2; top:13px; left:13px; padding:6px 7px; color:var(--ink); background:var(--acid); font:8px var(--mono); }.service-card__line { display:grid; grid-template-columns:1fr auto; padding-top:16px; }.service-card__line h3 { margin:0; color:var(--paper); font:500 clamp(27px,3.5vw,49px)/.91 var(--serif); letter-spacing:-.07em; }.service-card__line h3 em { color:var(--acid); font-weight:500; }.service-card__line i { display:grid; width:37px; height:37px; place-items:center; border:1px solid var(--paper); border-radius:50%; font-style:normal; transition:.2s; }.service-card:hover .service-card__line i { color:var(--ink); background:var(--acid); transform:rotate(45deg); }
.about-band { display:grid; grid-template-columns:.42fr 1.58fr; gap:10vw; }.about-band__rail { display:flex; align-items:center; justify-content:space-between; min-height:430px; padding:20px 0; color:#727168; border-right:1px solid var(--line); font:9px/1.4 var(--mono); letter-spacing:.05em; }.about-band__rail i { align-self:flex-start; margin-right:15%; color:#9ebf3b; font-style:normal; font-size:25px; }.about-band__content .section-kicker { display:block; }.about-band__content .section-kicker span:first-child { margin-right:46px; }.about-band__content h2 { margin-top:55px; }.about-band__details { display:grid; grid-template-columns:1fr 1fr; gap:32px; max-width:605px; margin:49px 0 0 auto; }.about-band__details p { margin:0; color:#5d5c55; font-size:13px; line-height:1.73; }
.cta { padding-bottom:90px; }.cta__inner { position:relative; overflow:hidden; min-height:510px; padding:clamp(36px,6.3vw,92px); color:var(--paper); background:#293125; }.cta__inner > p { position:relative; z-index:2; margin:0; color:#acb69c; font:10px var(--mono); text-transform:uppercase; }.cta h2 { position:relative; z-index:2; margin:30px 0 42px; font:500 clamp(48px,6.5vw,92px)/.86 var(--serif); letter-spacing:-.08em; }.cta h2 em { color:var(--acid); }.cta__link { position:relative; z-index:3; display:inline-flex; gap:31px; align-items:center; padding:15px 18px; color:var(--ink); background:var(--acid); font-weight:800; font-size:11px; }.cta__link i { font-size:18px; font-style:normal; }.cta__link:hover { background:var(--paper); }.cta__shape { position:absolute; border-radius:50%; }.shape-a { width:62%; aspect-ratio:1; right:-8%; top:-45%; border:1px solid rgba(198,240,74,.55); box-shadow:inset 0 0 58px rgba(198,240,74,.14); }.shape-b { width:50%; aspect-ratio:1; right:11%; bottom:-58%; background:radial-gradient(circle at 35% 28%,#fbffce,#c6f04a 20%,#7a9b25 47%,#36451a 71%); box-shadow:inset -40px -35px 50px rgba(13,20,8,.7); }
.footer { padding-top:50px; padding-bottom:22px; color:var(--paper); background:var(--ink); }.footer .logo span { color:var(--acid); }.footer__top { display:flex; justify-content:space-between; }.footer__top p { margin:0; color:#d2d1c7; font:500 24px/.98 var(--serif); letter-spacing:-.05em; }.footer__links { display:grid; grid-template-columns:160px 160px; justify-content:end; gap:32px; margin-top:73px; }.footer__links div { display:flex; flex-direction:column; align-items:flex-start; gap:8px; }.footer__links span { margin-bottom:7px; color:#74756d; font:9px var(--mono); }.footer__links a { color:#d2d1c7; font-size:11px; }.footer__links a:hover { color:var(--acid); }.footer__bottom { display:flex; justify-content:space-between; margin-top:76px; padding-top:13px; border-top:1px solid rgba(242,240,234,.17); color:#77776f; font:8px var(--mono); letter-spacing:.04em; }
.inner-page { background:var(--paper); }.page-intro { padding-top:clamp(95px,12vw,164px); padding-bottom:clamp(75px,10vw,130px); }.page-intro h1,.contact-lead h1 { max-width:850px; margin:50px 0 28px; font:500 clamp(61px,10vw,145px)/.81 var(--serif); letter-spacing:-.094em; }.page-intro > p { max-width:334px; margin:0 0 0 auto; color:#5f5d56; font-size:14px; line-height:1.68; }.work-index { padding-bottom:clamp(90px,12vw,160px); }.filter-nav { display:flex; gap:29px; padding:17px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }.filter-nav button { padding:0; color:#89877f; border:0; background:none; font:10px var(--mono); text-transform:uppercase; }.filter-nav button sup { color:#aaa79c; }.filter-nav button.is-active { color:var(--ink); }.filter-nav button.is-active sup { color:#779412; }.work-index__grid { display:grid; grid-template-columns:1fr 1fr; gap:57px 20px; margin-top:38px; }.index-project { display:block; transition:opacity .25s,transform .35s; }.index-project.is-hidden { display:none; }.index-project--wide { grid-column:span 2; }.index-visual { position:relative; height:clamp(270px,32vw,475px); overflow:hidden; }.index-project--wide .index-visual { height:clamp(350px,44vw,640px); }.index-project__meta { display:grid; grid-template-columns:1fr minmax(120px,.74fr) 36px; gap:22px; align-items:end; padding-top:15px; }.index-project__meta h2 { margin:6px 0 0; font:500 clamp(22px,2.5vw,34px) var(--serif); letter-spacing:-.065em; }.index-project__meta p { margin:0; color:#69675f; font-size:12px; line-height:1.5; }.habitat { color:#e3d8c5; background:linear-gradient(150deg,#d7d1c3,#84957e); }.habitat-arch { position:absolute; left:31%; bottom:-8%; width:40%; height:94%; border:27px solid #d7bd90; border-bottom:0; border-radius:160px 160px 0 0; box-shadow:12px 0 22px rgba(48,57,42,.2); }.habitat-sun { position:absolute; top:15%; left:35%; width:32%; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle at 35% 32%,#fff9c7,#e2a843); }.habitat > span:last-child,.oro > span:last-child,.pooja > span:last-child { position:absolute; left:7%; bottom:8%; font:500 clamp(34px,4.8vw,66px)/.78 var(--serif); letter-spacing:-.08em; }.oro { color:#eee7d9; background:#aaa49a; }.oro-loop { position:absolute; width:43%; aspect-ratio:1; top:24%; left:30%; border:22px solid #d8b45e; border-radius:50%; box-shadow:inset 0 0 9px #805b1d,0 20px 27px rgba(30,27,18,.36); }.pooja { color:#dfe8d8; background:linear-gradient(148deg,#1b2325,#627c75); }.pooja-orb { position:absolute; width:53%; aspect-ratio:1; left:47%; top:32%; border-radius:50%; background:radial-gradient(circle at 34% 28%,#f0f5df,#86b8a8 18%,#284d4c 48%,#111d1e 73%); box-shadow:inset -20px -28px 30px rgba(0,0,0,.45),0 18px 25px rgba(0,0,0,.35); }
.service-intro { padding-bottom:100px; }.service-detail { display:grid; grid-template-columns:80px .94fr 1fr; gap:clamp(30px,5vw,80px); padding-top:clamp(80px,10vw,145px); padding-bottom:clamp(80px,10vw,145px); border-top:1px solid var(--line); }.service-detail__number { color:#829a28; font:13px var(--mono); }.service-detail__image { position:relative; min-height:440px; overflow:hidden; }.service-detail__image img { width:100%; height:100%; object-fit:cover; filter:grayscale(100%) contrast(1.05); }.service-detail__image::after { position:absolute; inset:0; content:""; background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.66)); }.service-detail__image span { position:absolute; z-index:1; left:16px; bottom:14px; color:white; font:9px var(--mono); }.service-detail__content { max-width:530px; align-self:center; }.service-detail__content .section-kicker { display:block; }.service-detail__content h2 { margin:26px 0 23px; font:500 clamp(41px,4.7vw,68px)/.9 var(--serif); letter-spacing:-.075em; }.service-detail__content > p:not(.section-kicker) { margin:0; color:#65635c; font-size:14px; line-height:1.72; }.service-detail__content ul { display:grid; grid-template-columns:1fr 1fr; gap:9px 20px; margin:34px 0; padding:0; list-style:none; }.service-detail__content li { padding-top:10px; border-top:1px solid var(--line); font-size:11px; font-weight:700; }.service-detail--dark { color:var(--paper); background:var(--ink); border-color:rgba(242,240,234,.18); }.service-detail--dark .service-detail__number,.service-detail--dark h2 em { color:var(--acid); }.service-detail--dark .section-kicker,.service-detail--dark .service-detail__content > p:not(.section-kicker) { color:#b3b4a8; }.service-detail--dark li { border-color:rgba(242,240,234,.18); }.service-detail--dark .inline-link { color:var(--paper); border-color:var(--paper); }.process { border-top:1px solid var(--line); }.process h2 { margin-top:51px; }.process__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:72px; }.process__grid article { padding-top:15px; border-top:1px solid var(--line); }.process__grid span { color:#829a28; font:10px var(--mono); }.process__grid h3 { margin:56px 0 12px; font:500 29px var(--serif); letter-spacing:-.06em; }.process__grid p { max-width:260px; margin:0; color:#626059; font-size:13px; line-height:1.68; }
.contact-main { padding-top:clamp(90px,11vw,155px); padding-bottom:110px; }.contact-lead { max-width:900px; }.contact-lead h1 { margin-top:50px; }.contact-lead p { max-width:337px; margin:0 0 0 auto; color:#605e57; font-size:14px; line-height:1.7; }.contact-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(52px,12vw,170px); margin-top:94px; }.contact-form { border-top:1px solid var(--ink); }.form-field { padding:20px 0; border-bottom:1px solid var(--line); }.form-field label,fieldset legend { display:block; margin-bottom:15px; font:10px var(--mono); text-transform:uppercase; }.form-field input,.form-field textarea { width:100%; border:0; outline:0; color:var(--ink); background:none; font:500 23px var(--serif); letter-spacing:-.045em; }.form-field input::placeholder,.form-field textarea::placeholder { color:#aaa79d; }.form-field textarea { height:118px; resize:vertical; line-height:1.2; } fieldset { display:flex; flex-wrap:wrap; gap:8px; margin:0; padding:20px 0; border:0; border-bottom:1px solid var(--line); }.check-label { position:relative; }.check-label input { position:absolute; opacity:0; }.check-label span { display:block; padding:8px 11px; border:1px solid #aaa79d; font-size:11px; font-weight:700; transition:.2s; }.check-label input:checked + span { color:var(--paper); border-color:var(--ink); background:var(--ink); }.submit-button { display:inline-flex; gap:34px; align-items:center; margin-top:29px; padding:15px 18px; border:0; color:var(--ink); background:var(--acid); font-size:11px; font-weight:800; }.submit-button i { font-size:17px; font-style:normal; }.submit-button:hover { background:#abc831; }.form-message { min-height:20px; color:#657c17; font-size:12px; font-weight:700; }.contact-aside { padding-top:3px; }.contact-orb { position:relative; width:min(100%,292px); aspect-ratio:1; overflow:hidden; margin-bottom:43px; border-radius:50%; background:radial-gradient(circle at 34% 29%,#fbffcb,#c6f04a 20%,#779525 48%,#273311 73%); box-shadow:inset -31px -32px 47px rgba(11,18,4,.58); }.contact-orb span { position:absolute; border:1px solid rgba(238,255,185,.66); border-radius:50%; }.contact-orb span:first-child { width:94%; height:31%; left:3%; top:38%; transform:rotate(-31deg); }.contact-orb span:nth-child(2) { width:65%; height:22%; top:41%; left:17%; transform:rotate(41deg); }.contact-orb span:last-child { width:28%; aspect-ratio:1; left:19%; top:17%; border:0; background:#fbffd8; filter:blur(8px); }.contact-aside > p { margin:0 0 15px; color:var(--muted); font:9px var(--mono); }.email-copy { padding:0 0 4px; border:0; border-bottom:1px solid var(--ink); color:var(--ink); background:none; font:500 clamp(20px,2.5vw,30px) var(--serif); letter-spacing:-.05em; }.email-copy i { font-size:15px; font-style:normal; }.contact-aside small { display:block; margin:34px 0; color:#737169; font:11px/1.55 var(--mono); }.contact-aside > div:last-child { display:flex; gap:17px; }.contact-aside > div:last-child a { font-size:11px; font-weight:800; }
.js .rise { opacity:0; transform:translateY(22px); transition:opacity .7s ease,transform .7s cubic-bezier(.2,.75,.25,1); }.js .rise.delay-1 { transition-delay:.15s; }.js .rise.delay-2 { transition-delay:.3s; }.js .rise.is-visible { opacity:1; transform:none; } @keyframes levitate { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-14px); } } @keyframes slide { to { transform:translateX(-43%); } }
@media (max-width:800px) { .cursor-dot { display:none; }.header { height:68px; }.header__middle { display:none; }.header { grid-template-columns:1fr auto; }.menu-panel { padding-top:91px; }.hero { min-height:calc(100svh - 68px); padding-top:20px; }.hero__meta { grid-template-columns:1fr auto; }.hero__meta span:last-child { grid-column:2; }.hero__title-wrap { align-items:flex-start; padding-top:19vw; }.hero__title { font-size:clamp(61px,16.2vw,98px); }.hero__object { width:min(75vw,430px); top:auto; right:-2%; bottom:0; transform:none; opacity:.91; }.hero__bottom { grid-template-columns:1fr auto; }.hero__bottom p { max-width:245px; font-size:12px; }.scroll-mark { display:none; }.statement-row { grid-template-columns:1fr; gap:28px; margin:37px 0; }.statement-row h2,.about-band h2,.process h2 { font-size:clamp(41px,12vw,62px); }.feature-grid { grid-template-columns:1fr; gap:35px; }.project:nth-child(3) { grid-column:auto; }.project--hero .project__visual,.project__visual { height:80vw; }.section-footer { margin-top:41px; }.services-strip__grid { grid-template-columns:1fr; gap:37px; }.service-card__media { height:77vw; }.about-band { grid-template-columns:1fr; gap:30px; }.about-band__rail { min-height:0; padding:0 0 18px; border-right:0; border-bottom:1px solid var(--line); }.about-band__rail br { display:none; }.about-band__rail i { margin:0; }.about-band__content h2 { margin-top:40px; }.about-band__details { grid-template-columns:1fr; margin:31px 0 0; }.cta { padding-bottom:53px; }.cta__inner { min-height:420px; }.cta h2 { font-size:clamp(45px,11.5vw,65px); }.footer__top { display:block; }.footer__top p { margin-top:30px; }.footer__links { justify-content:start; margin-top:54px; }.footer__bottom { flex-direction:column; gap:8px; margin-top:53px; }.page-intro h1,.contact-lead h1 { font-size:clamp(58px,15vw,83px); }.page-intro > p,.contact-lead p { margin-left:0; }.work-index__grid { grid-template-columns:1fr; gap:42px; }.index-project--wide { grid-column:auto; }.index-project--wide .index-visual,.index-visual { height:77vw; }.index-project__meta { grid-template-columns:1fr 36px; gap:12px; }.index-project__meta p { display:none; }.service-detail { grid-template-columns:1fr; gap:23px; }.service-detail__image { min-height:0; height:73vw; }.service-detail__number { margin-bottom:-4px; }.service-detail__content ul { grid-template-columns:1fr; }.process__grid { grid-template-columns:1fr; gap:12px; margin-top:44px; }.process__grid h3 { margin-top:33px; }.contact-grid { grid-template-columns:1fr; gap:72px; margin-top:65px; }.contact-aside { display:grid; grid-template-columns:135px 1fr; gap:0 23px; align-items:center; }.contact-orb { grid-row:span 4; width:135px; margin:0; }.contact-aside > p,.contact-aside small,.contact-aside > div:last-child { margin:0; }.contact-aside > p { align-self:end; }.contact-aside small,.contact-aside > div:last-child { align-self:start; }.contact-aside > div:last-child { flex-wrap:wrap; } }
@media (max-width:450px) { .hero__bottom p { max-width:185px; }.round-action { width:70px; height:70px; }.hero__object { width:86vw; }.section-footer { gap:20px; align-items:flex-end; }.section-footer p { font-size:9px; }.filter-nav { gap:19px; overflow:auto; }.filter-nav button { white-space:nowrap; }.contact-aside { grid-template-columns:105px 1fr; gap:0 18px; }.contact-orb { width:105px; }.check-label { display:block; width:100%; }.footer__links { grid-template-columns:1fr 1fr; gap:15px; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; scroll-behavior:auto!important; } }

/* Focused home-page refinements */
.hero__object { --parallax-y:0px; --parallax-rotate:0deg; top:43%; right:4%; transform:translate3d(0,calc(-50% + var(--parallax-y)),0) rotateZ(var(--parallax-rotate)); transform-style:preserve-3d; will-change:transform; }
.hero__object::before { content:none; }.hero__title-wrap { isolation:isolate; }.hero__title-wrap::before { position:absolute; z-index:0; top:3%; right:-4%; width:58%; height:94%; content:""; background:url("Images/background-image.webp") right center/contain no-repeat; }
.header__nav { display:flex; align-items:center; gap:20px; }.header__nav a { position:relative; padding:5px 0; color:#64625b; font:10px var(--mono); text-transform:uppercase; }.header__nav a::after { position:absolute; right:0; bottom:0; left:0; height:1px; content:""; background:var(--ink); transform:scaleX(0); transform-origin:right; transition:transform .25s; }.header__nav a:hover,.header__nav a.is-active { color:var(--ink); }.header__nav a:hover::after,.header__nav a.is-active::after { transform:scaleX(1); transform-origin:left; }
.work-preview { position:relative; z-index:3; overflow:visible; }.work-preview.section-pad { padding-top:72px; padding-bottom:82px; }
.work-preview .statement-row { margin:25px 0 31px; }
.project--wide-bottom { grid-column:1; }
.project:nth-child(3) { grid-column:2; grid-row:2; }.project--wide-bottom { grid-column:1; grid-row:2; }
.project--tall .project__visual { height:clamp(340px,42vw,620px); }
.project-preview { isolation:isolate; background:#d9d8d1; border:1px solid rgba(17,17,15,.24); }
.project-preview::after { position:absolute; z-index:3; content:""; inset:auto 0 0; height:19%; pointer-events:none; background:linear-gradient(transparent,rgba(13,13,11,.13)); }
.project-preview iframe { position:absolute; top:30px; left:0; width:160%; height:160%; border:0; pointer-events:none; transform:scale(.625); transform-origin:top left; background:#f2f0ea; }
.browser-bar { position:absolute; z-index:4; top:0; right:0; left:0; display:flex; align-items:center; gap:5px; height:30px; padding:0 10px; color:#76736b; background:#eeece5; border-bottom:1px solid rgba(17,17,15,.18); }
.browser-bar span { width:6px; height:6px; border-radius:50%; background:#a9a69b; }.browser-bar span:first-child { background:#949187; }.browser-bar b { margin-left:6px; font:8px var(--mono); font-weight:400; letter-spacing:.02em; }
.live-badge { position:absolute; z-index:5; right:11px; bottom:11px; padding:7px 8px; color:var(--ink); background:var(--acid); font:8px var(--mono); }
.project:hover .project-preview iframe,.index-project:hover .project-preview iframe { transform:scale(.65); transition:transform .5s cubic-bezier(.2,.7,.2,1); }.project .project-preview iframe,.index-project .project-preview iframe { transition:transform .5s cubic-bezier(.2,.7,.2,1); }
.about-band.section-pad { padding-top:76px; padding-bottom:78px; }
.about-band__rail { min-height:264px; }.about-band__content h2 { max-width:820px; margin-top:30px; font-size:clamp(39px,4.8vw,68px); }.about-band__details { margin-top:27px; }
.footer { position:relative; overflow:hidden; padding-top:36px; padding-bottom:20px; }.footer::before { position:absolute; right:clamp(20px,4vw,65px); top:31px; color:var(--acid); content:"✳"; font-size:30px; animation:spin-mark 15s linear infinite; }
.footer__top { display:grid; grid-template-columns:1fr auto; align-items:end; padding-bottom:33px; border-bottom:1px solid rgba(242,240,234,.18); }.footer__brand { display:flex; align-items:center; gap:15px; }.footer__mark { display:grid; width:29px; height:29px; place-items:center; color:var(--ink); background:var(--acid); border-radius:50%; font-size:14px; }.footer__top p { max-width:440px; margin:0 70px 0 0; font-size:clamp(23px,2.6vw,38px); }.footer__middle { display:grid; grid-template-columns:1fr auto; align-items:start; gap:44px; padding-top:30px; }.footer__email { width:max-content; padding-bottom:5px; color:var(--paper); border-bottom:1px solid var(--acid); font:500 clamp(20px,2.1vw,30px) var(--serif); letter-spacing:-.05em; }.footer__email i { color:var(--acid); font-size:16px; font-style:normal; }.footer__links { margin:0; grid-template-columns:126px 126px; gap:37px; }.footer__bottom { margin-top:48px; }
.services-strip { position:relative; overflow:hidden; }.services-strip .container { position:relative; z-index:2; }.portfolio-orbit { position:absolute; z-index:5; left:clamp(26px,4vw,77px); bottom:-150px; width:265px; aspect-ratio:1; pointer-events:none; }.portfolio-orbit__ring { position:absolute; width:100%; height:37%; top:31%; border:1px solid rgba(127,157,32,.72); border-radius:50%; transform:rotate(-31deg); }.portfolio-orbit__main { position:absolute; width:54%; aspect-ratio:1; top:22%; left:19%; border-radius:50%; background:radial-gradient(circle at 31% 27%,#f9ffcf 0 3%,#c6f04a 18%,#779626 50%,#24300d 76%); box-shadow:inset -17px -21px 26px rgba(7,13,2,.48),8px 14px 18px rgba(0,0,0,.42); animation:levitate 6.5s ease-in-out infinite; }.portfolio-orbit__satellite { position:absolute; width:18%; aspect-ratio:1; right:8%; top:27%; border-radius:50%; background:radial-gradient(circle at 31% 25%,#fcffd4,#b5dc43 33%,#496113 77%); box-shadow:inset -7px -8px 10px rgba(8,15,2,.48); animation:levitate 5s ease-in-out infinite reverse; }
@keyframes spin-mark { to { transform:rotate(360deg); } }
@media (max-width:800px) { .hero__object { top:auto; right:-2%; bottom:0; transform:translate3d(0,var(--parallax-y),0) rotateZ(var(--parallax-rotate)); }.work-preview.section-pad { padding-top:54px; padding-bottom:62px; }.work-preview .statement-row { margin:22px 0 27px; }.about-band.section-pad { padding-top:58px; padding-bottom:60px; }.about-band__rail { min-height:0; }.about-band__content h2 { margin-top:25px; font-size:clamp(37px,10vw,55px); }.about-band__details { margin-top:21px; }.footer::before { top:23px; font-size:25px; }.footer__top { grid-template-columns:1fr; gap:26px; padding-bottom:26px; }.footer__top p { margin:0; font-size:25px; }.footer__middle { grid-template-columns:1fr; gap:30px; padding-top:25px; }.footer__links { width:100%; grid-template-columns:1fr 1fr; gap:15px; }.footer__bottom { margin-top:42px; } }
@media (max-width:800px) { .header__nav { display:none; }.project:nth-child(3),.project--wide-bottom { grid-column:auto; grid-row:auto; }.project--tall .project__visual { height:80vw; }.portfolio-orbit { left:26px; bottom:-96px; width:174px; } }
@media (max-width:800px) { .hero__title-wrap::before { top:20%; right:-27%; width:115%; height:70%; opacity:.55; } }

@media (pointer:fine) { body,body * { cursor:none!important; } }
.cursor-dot { top:0; left:0; transition:width .22s cubic-bezier(.16,.76,.24,1),height .22s cubic-bezier(.16,.76,.24,1),background .22s ease,border-radius .22s ease; }.cursor-dot.is-text-hover { width:42px; height:42px; background:rgba(198,240,74,.86); border-radius:50%; }

/* Scroll-driven motion layer */
.scroll-progress { position:fixed; z-index:120; top:0; left:0; width:100%; height:3px; pointer-events:none; background:var(--acid); transform:scaleX(0); transform-origin:left; will-change:transform; }
.header { position:sticky; top:0; background:rgba(242,240,234,.86); backdrop-filter:blur(14px); transition:box-shadow .4s ease,background .4s ease; }.has-scrolled .header { box-shadow:0 8px 25px rgba(17,17,15,.07); background:rgba(242,240,234,.94); }
.js .rise { will-change:transform,opacity; }.js .rise.from-up:not(.is-visible) { transform:translate3d(0,-28px,0); }
.project__visual,.service-card__media { --scroll-shift:0px; --tilt-x:0deg; --tilt-y:0deg; --media-scale:1; transform:perspective(1200px) translate3d(0,var(--scroll-shift),0) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) scale(var(--media-scale)); transform-style:preserve-3d; transition:transform .55s cubic-bezier(.16,.76,.24,1),box-shadow .55s ease; will-change:transform; }.project:hover .project__visual,.service-card:hover .service-card__media { box-shadow:0 23px 40px rgba(0,0,0,.21); }
.portfolio-orbit { --scroll-shift:0px; transform:translate3d(0,var(--scroll-shift),0); transition:transform .5s cubic-bezier(.16,.76,.24,1); will-change:transform; }.cta__shape { --scroll-shift:0px; transform:translate3d(0,calc(var(--scroll-shift) * -.55),0); transition:transform .6s cubic-bezier(.16,.76,.24,1); will-change:transform; }
@media (prefers-reduced-motion:reduce) { .scroll-progress { display:none; }.header { position:relative; }.project__visual,.service-card__media,.portfolio-orbit,.cta__shape { transform:none!important; } }

/* Services: make the opening frame feel composed rather than empty. */
.service-intro { position:relative; min-height:calc(100svh - 85px); overflow:hidden; isolation:isolate; }
.service-intro > :not(.service-hero-art) { position:relative; z-index:2; }
.service-hero-art { --scroll-shift:0px; position:absolute; z-index:1; top:12%; right:clamp(32px,7.2vw,145px); width:min(31vw,470px); aspect-ratio:1; pointer-events:none; transform:translate3d(0,var(--scroll-shift),0); transition:transform .6s cubic-bezier(.16,.76,.24,1); will-change:transform; }
.service-hero-art__ring { position:absolute; border:1px solid rgba(101,126,28,.52); border-radius:50%; }.service-hero-art__ring--one { top:24%; left:0; width:100%; height:39%; transform:rotate(-28deg); }.service-hero-art__ring--two { top:41%; left:12%; width:75%; height:29%; border-color:rgba(101,126,28,.32); transform:rotate(42deg); }
.service-hero-art__sphere { position:absolute; top:24%; left:24%; width:53%; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle at 30% 24%,#ffffdf 0 2%,#dfff74 11%,#b1dc3e 31%,#66801e 58%,#1e290c 100%); box-shadow:inset -27px -30px 38px rgba(11,18,2,.52),16px 25px 35px rgba(58,70,18,.24); animation:levitate 6.8s ease-in-out infinite; }.service-hero-art__satellite { position:absolute; top:33%; right:9%; width:14%; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle at 31% 24%,#fffed7 0 5%,#ccef56 18%,#607b1e 60%,#17200a 100%); box-shadow:inset -7px -9px 12px rgba(8,13,2,.5),6px 9px 14px rgba(42,51,13,.2); animation:levitate 5s ease-in-out infinite reverse; }.service-hero-art__glass { position:absolute; right:13%; bottom:9%; width:23%; aspect-ratio:.68; border:1px solid rgba(255,255,255,.74); background:linear-gradient(135deg,rgba(255,255,255,.55),rgba(188,224,95,.08)); box-shadow:12px 16px 24px rgba(58,70,18,.16); transform:rotate(17deg); backdrop-filter:blur(5px); }.service-hero-art__caption { position:absolute; right:3%; bottom:0; color:#78852d; font:8px/1.35 var(--mono); letter-spacing:.05em; }
.service-detail__image { cursor:pointer; outline-offset:6px; }.service-detail__image img { display:block; transition:filter .55s cubic-bezier(.16,.76,.24,1),transform .65s cubic-bezier(.16,.76,.24,1); }.service-detail__image::after { transition:opacity .5s ease; }.service-detail__image:hover img,.service-detail__image.is-colour img { filter:grayscale(0) contrast(1); transform:scale(1.025); }.service-detail__image:hover::after,.service-detail__image.is-colour::after { opacity:.35; }.service-detail__image:focus-visible { outline:2px solid var(--acid); }.service-detail__image.is-colour span::after { margin-left:8px; content:"FULL COLOUR"; color:var(--acid); }
@media (max-width:800px) { .service-intro { min-height:calc(100svh - 68px); }.service-hero-art { top:35%; right:-33px; width:250px; opacity:.7; }.service-intro h1 { max-width:80%; }.service-hero-art__caption { display:none; } }
@media (prefers-reduced-motion:reduce) { .service-hero-art { transform:none!important; } }

/* Work gets a live artefact in its opening frame, so the title is not floating in a vacant field. */
.work-intro { position:relative; min-height:calc(100svh - 85px); overflow:hidden; isolation:isolate; }.work-intro > :not(.work-intro-art) { position:relative; z-index:2; }.work-intro > p { margin:42px 0 0; }.work-intro-art { --scroll-shift:0px; position:absolute; z-index:1; top:11%; right:clamp(28px,6.5vw,125px); width:min(38vw,575px); aspect-ratio:1.2; transform:translate3d(0,var(--scroll-shift),0); transition:transform .6s cubic-bezier(.16,.76,.24,1); will-change:transform; }.work-intro-art__frame { position:absolute; z-index:2; top:3%; right:0; width:84%; height:88%; overflow:hidden; border:1px solid rgba(17,17,15,.24); background:#dad8d1; box-shadow:18px 24px 39px rgba(34,38,23,.13); }.work-intro-art__frame .browser-bar { position:absolute; z-index:4; }.work-intro-art__frame iframe { position:absolute; top:30px; left:0; width:160%; height:160%; border:0; pointer-events:none; transform:scale(.625); transform-origin:top left; background:var(--paper); }.work-intro-art__frame > span { position:absolute; z-index:5; right:11px; bottom:11px; padding:7px 8px; color:var(--ink); background:var(--acid); font:8px var(--mono); }.work-intro-art__orb { position:absolute; z-index:3; bottom:-5%; left:1%; width:37%; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle at 30% 25%,#ffffd8 0 3%,#dfff74 14%,#9dc63b 38%,#526718 62%,#18200b 100%); box-shadow:inset -20px -22px 30px rgba(5,11,1,.48),11px 18px 25px rgba(38,49,10,.25); animation:levitate 6s ease-in-out infinite; }.work-intro-art__ring { position:absolute; z-index:3; bottom:11%; left:-7%; width:54%; height:23%; border:1px solid rgba(105,133,25,.57); border-radius:50%; transform:rotate(-31deg); }
@media (max-width:800px) { .work-intro { min-height:calc(100svh - 68px); }.work-intro > p { margin-top:27px; max-width:250px; }.work-intro-art { top:41%; right:-42px; width:320px; opacity:.7; }.work-intro-art__frame { height:82%; }.work-intro-art__orb { width:33%; } }
@media (prefers-reduced-motion:reduce) { .work-intro-art { transform:none!important; } }

/* Touch states mirror desktop image hover without forcing navigation on the first tap. */
.service-card__media.is-colour img,.service-card.is-colour .service-card__media img { filter:grayscale(0) contrast(1); transform:scale(1.05); }.service-card__media.is-colour::after { opacity:.3; }
@media (max-width:800px) { .menu-panel { padding:91px 26px 26px; }.menu-panel nav { margin-top:clamp(58px,10vh,88px); }.menu-panel nav a { padding:10px 0; font-size:clamp(47px,14vw,66px); }.menu-email { margin-top:auto; } }
