/* CONTRA HUELLA — editorial refresh / visual layer only */
:root{
  --frame:#171211;
  --accent:#d34432;
  --accent-deep:#9f241f;
  --paper:#f4f0e9;
  --ink:#171514;
  --copy:#68615c;
  --muted:#a9a19a;
  --line:rgba(23,21,20,.18);
  --panel:#211b19;
  --gutter:clamp(9px,1.5vw,22px);
  --radius:4px;
}
:root[data-theme="dark"]{
  --paper:#201a18;
  --ink:#f4efe8;
  --copy:#c2b9b2;
  --muted:#958a82;
  --line:rgba(244,239,232,.2);
  --panel:#2a211f;
}
html{background:var(--frame);scroll-behavior:smooth;scroll-padding-top:92px}
body{margin:0;padding:0 0 1px;background:var(--frame);color:var(--ink);font-family:Manrope,Arial,sans-serif}
body,button,input,select{font-family:Manrope,Arial,sans-serif}
::selection{background:var(--accent);color:#fff}
.page-wrap{width:min(calc(100% - var(--gutter) - var(--gutter)),1680px);max-width:none}
.site-header{position:sticky;top:0;z-index:80;margin:0 var(--gutter);background:rgba(23,18,17,.96);color:#f8f3ed;border:0;border-bottom:1px solid rgba(255,255,255,.16);backdrop-filter:blur(16px);transition:transform .35s ease,background .3s ease}
.site-header .header-inner{width:min(100% - 32px,1680px);height:72px;margin:auto;color:#f8f3ed}
.site-header .brand{display:flex;align-items:center;min-width:44px}
.site-header .brand-mark{width:42px;height:42px;object-fit:contain;transform:none}
.site-header .desktop-nav{gap:clamp(18px,2.4vw,38px)}
.site-header .desktop-nav>a:not(.nav-talk){font-size:12px;letter-spacing:.01em;color:rgba(255,255,255,.76);transition:color .2s ease}
.site-header .desktop-nav>a:not(.nav-talk):hover{color:#fff}
.site-header .nav-talk{min-height:38px;padding:0 15px;border:1px solid rgba(255,255,255,.24);border-radius:99px;background:#f7f1e8;color:#1a1513;font-size:11px}
.site-header .nav-talk-arrow{color:var(--accent)}
.site-header .header-tools,.site-header .header-tools button,.site-header .header-tools a{color:#f8f3ed}
.site-header .language-switch{font-size:10px;color:rgba(255,255,255,.55)}
.site-header .language-switch button{color:rgba(255,255,255,.56)}
.site-header .language-switch button[aria-pressed="true"]{color:#fff}
.site-header .theme-toggle{width:34px;height:34px;border:1px solid #f7f1e8;background:#f7f1e8;color:#15110f}
.site-header .theme-toggle svg{width:15px;height:15px}
.site-header .header-divider{color:rgba(255,255,255,.25)}
.site-header .nav-socials a{color:#f8f3ed}
.menu-toggle{border-color:rgba(255,255,255,.32);background:transparent;color:#fff}
.menu-toggle span{color:var(--accent)}

/* Intro: one bold red welcome panel, consistent with the identity. */
.intro-screen{background:radial-gradient(ellipse at 70% 80%,rgba(255,104,66,.4),transparent 38%),linear-gradient(135deg,#9c2721,#d34432 55%,#a92722);color:#fff}
.intro-screen::before{opacity:.18}
.intro-inner{max-width:1100px}
.intro-overline{color:rgba(255,255,255,.72)}
.intro-footprint{color:#fff}
.intro-title{font-size:clamp(52px,9vw,128px);letter-spacing:-.075em;line-height:.86}
.intro-description{color:rgba(255,255,255,.78)}
.intro-enter{background:#f7f1e8;color:#191513;border-color:#f7f1e8}
.intro-enter-arrow{color:var(--accent)}

/* Homepage hero: red editorial stage with the real Sanity imagery as the focal point. */
#view-home>.page-wrap{width:min(calc(100% - var(--gutter) - var(--gutter)),1680px)}
.hero-home{position:relative;isolation:isolate;display:flex;align-items:center;min-height:min(820px,calc(100svh - 98px));margin:12px 0 0;padding:clamp(70px,9vh,112px) clamp(24px,5vw,76px) clamp(250px,30vh,330px);overflow:hidden;border-radius:var(--radius);background:linear-gradient(115deg,#a92722 0%,#d34332 51%,#a52a24 100%);color:#fff;text-align:left}
.hero-home::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 76% 28%,rgba(255,139,90,.32),transparent 30%),radial-gradient(ellipse at 17% 82%,rgba(70,10,8,.3),transparent 42%),linear-gradient(90deg,rgba(86,15,13,.18),transparent 65%);pointer-events:none}
.hero-home::after{content:"ESTUDIO INDEPENDIENTE · BOGOTÁ, COLOMBIA";position:absolute;top:28px;right:clamp(24px,5vw,76px);color:rgba(255,255,255,.72);font:10px "DM Mono",monospace;letter-spacing:.12em}
.hero-home .hero-footsteps{z-index:0;opacity:.23;mix-blend-mode:screen}
.hero-home .hero-main{position:relative;z-index:4;width:52%;max-width:760px;margin:0;pointer-events:auto}
.hero-home .hero-signal{display:grid;place-items:center;width:35px;height:35px;margin-bottom:24px;border:1px solid rgba(255,255,255,.65);border-radius:50%;color:#fff;font-size:20px}
.hero-home .hero-title{display:flex;align-items:flex-start;max-width:760px;margin:0;text-align:left;font-size:clamp(62px,8vw,124px);line-height:.88;letter-spacing:-.085em}
.hero-title-greeting{margin:0 0 .3em;font-size:.3em;line-height:1;letter-spacing:-.05em;color:rgba(255,255,255,.88)}
.hero-title-name{max-width:100%;color:#fff;font-size:1em;line-height:.84;letter-spacing:-.09em;text-wrap:balance}
.hero-title-lead{max-width:650px;margin-top:.38em;color:rgba(255,255,255,.88);font-size:clamp(18px,2.2vw,30px);font-weight:500;line-height:1.12;letter-spacing:-.05em}
.hero-title-service{display:flex;align-items:center;width:max-content;max-width:100%;height:auto;min-height:0;margin-top:12px;padding:7px 13px 9px;border:1px solid rgba(255,255,255,.82);border-radius:2px;background:#f7f1e8;color:#a32924;font-size:clamp(19px,2.15vw,29px);font-weight:700;line-height:1.04;letter-spacing:-.055em}
.hero-title-service.is-emphasis{background:#191514;color:#fff;border-color:#191514}
.hero-title-service.is-emphasis .service-current{padding:0;background:transparent;color:inherit}
.hero-home .hero-lower{max-width:560px;margin:23px 0 0}
.hero-home .hero-lower>p{max-width:540px;margin:0;color:rgba(255,255,255,.8);font-size:13px;line-height:1.65}
.hero-home .hero-actions{justify-content:flex-start;gap:24px;margin-top:20px}
.hero-home .button-dark{background:#171514;color:#fff;border-color:#171514}
.hero-home .button-dark:hover{background:#fff;color:#171514;border-color:#fff}
.hero-home .text-link{color:#fff;border-color:rgba(255,255,255,.48)}
.hero-project-scatter{position:absolute;z-index:2;inset:0 0 0 auto;width:54%;overflow:hidden;pointer-events:none}
.hero-project-tile{position:absolute;display:block;width:clamp(95px,14vw,210px);height:clamp(120px,18vw,260px);padding:0;overflow:hidden;border:1px solid rgba(255,255,255,.66);border-radius:2px;background:#1b1715;box-shadow:0 20px 60px rgba(40,8,5,.32);pointer-events:auto;transform:rotate(var(--tile-rotation,0deg));transition:transform .6s cubic-bezier(.2,.75,.2,1),box-shadow .3s;cursor:pointer}
.hero-project-tile img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.75,.2,1),filter .5s}
.hero-project-tile:nth-child(1){top:7%;right:3%;width:82%;height:70%;--tile-rotation:0deg;z-index:1}
.hero-project-tile:nth-child(2){top:auto;bottom:6%;right:62%;width:22%;height:23%;--tile-rotation:-2deg;z-index:3}
.hero-project-tile:nth-child(3){top:auto;bottom:6%;right:38%;width:22%;height:23%;--tile-rotation:1deg;z-index:3}
.hero-project-tile:nth-child(4){top:auto;bottom:6%;right:14%;width:22%;height:23%;--tile-rotation:-1deg;z-index:3}
.hero-project-tile:nth-child(5){top:20%;right:0;width:16%;height:23%;--tile-rotation:2deg;z-index:2}
.hero-project-tile:nth-child(n+6){display:none}
.hero-project-tile:hover{z-index:6;transform:translateY(-7px) rotate(0) scale(1.025);box-shadow:0 28px 74px rgba(36,5,4,.46)}
.hero-project-tile:nth-child(1):hover{transform:scale(1.012)}
.hero-project-tile:hover img{transform:scale(1.045);filter:saturate(1.1)}

/* Project-led homepage: image scale and varied composition make the work lead. */
.home-work,.personal-work,.client-voices{position:relative;width:min(calc(100% - var(--gutter) - var(--gutter)),1680px);margin:12px auto 0;padding:clamp(42px,6vw,88px) clamp(20px,4vw,64px);border-radius:var(--radius)}
.home-work .section-head{align-items:end;margin-bottom:clamp(24px,3.4vw,48px);padding-bottom:18px;border-bottom:1px solid var(--line)}
.section-head h2,.page-title{font-size:clamp(42px,6.4vw,92px);line-height:.9;letter-spacing:-.08em}
.section-head h2{max-width:800px}
.section-head .text-link{font-size:12px}
.accent-dot{color:var(--accent)}
.home-featured{background:#171413;color:#f6f0e9}
.home-featured .section-head{border-color:rgba(255,255,255,.26)}
.home-featured .section-head h2{font-size:clamp(48px,7.4vw,104px)}
.home-featured .project-meta{color:#f6f0e9}
.home-featured .project-description{color:rgba(246,240,233,.62)}
.home-featured .text-link{color:#f6f0e9;border-color:rgba(255,255,255,.3)}
.project-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(14px,2vw,28px)}
.project-grid>.project-card{grid-column:span 4;min-width:0}
.project-grid>.project-card:nth-child(3n+1){grid-column:span 7}
.project-grid>.project-card:nth-child(3n+2){grid-column:span 5;margin-top:clamp(54px,8vw,118px)}
.project-grid>.project-card:nth-child(3n){grid-column:span 5;margin-top:clamp(-18px,-1.3vw,-8px)}
.project-grid>.project-card:nth-child(3n+1) .artboard{aspect-ratio:1.16/1}
.project-grid>.project-card:nth-child(3n+2) .artboard{aspect-ratio:1.12/1}
.project-grid>.project-card:nth-child(3n) .artboard{aspect-ratio:1.12/1}
#home-featured>.project-card:only-child,#projects-featured>.project-card:only-child{grid-column:1/-1}
#home-featured>.project-card:only-child .artboard,#projects-featured>.project-card:only-child .artboard{aspect-ratio:2.1/1}
#home-featured>.project-card:first-child:nth-last-child(2),#projects-featured>.project-card:first-child:nth-last-child(2){grid-column:span 8}
#home-featured>.project-card:last-child:nth-child(2),#projects-featured>.project-card:last-child:nth-child(2){grid-column:span 4;margin-top:clamp(40px,6vw,90px)}
.project-card{display:block;min-width:0;padding:0;border:0;background:transparent;text-align:left;color:inherit;cursor:pointer}
.project-card .artboard{position:relative;display:block;aspect-ratio:1.16/1;overflow:hidden;border-radius:2px;background:var(--soft);isolation:isolate}
.project-card .artboard::after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.38));opacity:.7;pointer-events:none;transition:opacity .4s}
.project-card .art-image{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.75,.2,1),filter .45s}
.project-card:hover .art-image{transform:scale(1.045);filter:saturate(1.1)}
.project-card:hover .artboard::after{opacity:.94}
.project-card .art-copy{z-index:2;left:20px;bottom:20px;max-width:80%;color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.28)}
.project-card .art-copy small{font-size:9px;letter-spacing:.12em}
.project-card .art-copy strong{font-size:clamp(20px,3vw,42px);line-height:.92;letter-spacing:-.065em}
.project-card .art-tag{top:14px;left:14px;padding:6px 9px;border-radius:1px;background:#f6f0e9;color:#171514;font-size:9px}
.project-meta{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-top:12px;color:var(--ink)}
.project-meta .project-title{font-size:16px;font-weight:700;letter-spacing:-.045em}
.project-meta .project-description{margin-top:3px;color:var(--copy);font-size:10px;line-height:1.5}
.project-number{font:10px "DM Mono",monospace;opacity:.7}
.home-recent{background:var(--paper);color:var(--ink)}
.home-recent .section-head{border-color:var(--line)}
.home-recent .project-meta{color:var(--ink)}
.home-recent .project-description{color:var(--copy)}
.home-recent .text-link{color:var(--ink);border-color:var(--line)}
.home-recent .project-card .artboard{aspect-ratio:1.35/1}
.home-recent .project-card:nth-child(3n+1){grid-column:span 6}
.home-recent .project-card:nth-child(3n+2){grid-column:span 6;margin-top:clamp(35px,5vw,68px)}
.home-recent .project-card:nth-child(3n){grid-column:span 8;margin-inline:auto}
.home-recent .project-card:only-child{grid-column:1/-1;width:82%;margin-inline:auto}
.personal-work{background:var(--accent);color:#fff}
.personal-work .personal-heading{align-items:end;margin-bottom:36px}
.personal-work .personal-heading h2{font-size:clamp(42px,6vw,84px);line-height:.9;letter-spacing:-.08em}
.personal-work .personal-heading p{max-width:440px;color:rgba(255,255,255,.76)}
.personal-work .accent-dot{color:#211311}
.personal-work .text-link{color:#fff;border-color:rgba(255,255,255,.46)}
.personal-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(14px,2vw,26px)}
.personal-grid>.project-card{grid-column:span 6}
.personal-grid>.project-card:nth-child(2n){margin-top:clamp(30px,5vw,72px)}
.personal-grid .project-meta{color:#fff}
.personal-grid .project-description{color:rgba(255,255,255,.72)}
.client-voices{background:#211210;color:#f6f0e9}
.client-voices-head{align-items:end;padding-bottom:26px;border-color:rgba(255,255,255,.24)}
.client-voices-head h2{max-width:940px;font-size:clamp(44px,6.8vw,96px);line-height:.9;letter-spacing:-.085em}
.client-voices-head .mono{color:#ee806d}
.client-voices-head>p{color:rgba(255,255,255,.68)}
.review-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}
.review-card{grid-column:span 4;min-height:260px;padding:clamp(20px,2.5vw,34px);border:1px solid rgba(255,255,255,.23);border-radius:3px;background:rgba(255,255,255,.035);color:#fff}
.review-card:nth-child(2){margin-top:42px;background:var(--accent);border-color:var(--accent)}
.review-mark{color:#f07864}
.review-card:nth-child(2) .review-mark{color:rgba(255,255,255,.62)}
.review-card blockquote{font-size:clamp(17px,1.8vw,24px);line-height:1.3;letter-spacing:-.035em}
.review-credit{border-color:rgba(255,255,255,.24)}

/* Projects archive and project detail: give imagery and metadata a strong hierarchy. */
.view#view-projects{margin:12px var(--gutter) 0;padding:0 clamp(18px,4vw,64px) 60px;border-radius:var(--radius);background:#171413;color:#f6f0e9}
#view-projects>.page-wrap{width:min(100%,1520px)}
#view-projects .subhero{position:relative;display:flex;min-height:clamp(430px,57vw,700px);flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:110px 0 42px;border-bottom:1px solid rgba(255,255,255,.25);overflow:hidden}
#view-projects .subhero::after{content:"01 / ARCHIVO";position:absolute;top:36px;right:0;color:rgba(255,255,255,.45);font:10px "DM Mono",monospace;letter-spacing:.12em}
#view-projects .subhero .page-title{max-width:1100px;font-size:clamp(72px,12vw,164px);line-height:.8;letter-spacing:-.09em}
#view-projects .subhero .page-title em{color:#f16a52;font-style:normal}
#view-projects .subhero-text{max-width:510px;margin:23px 0 0;color:rgba(255,255,255,.66);font-size:14px}
#view-projects .featured-block{padding-block:54px 70px}
#view-projects .featured-block .section-head{border-bottom:1px solid rgba(255,255,255,.23);padding-bottom:18px}
#view-projects .featured-block .project-meta{color:#f6f0e9}
#view-projects .featured-block .project-description{color:rgba(255,255,255,.6)}
.project-discovery{border-top:1px solid rgba(255,255,255,.24);border-bottom:1px solid rgba(255,255,255,.24)}
.discovery-toggle{min-height:90px;color:#f6f0e9;border-color:rgba(255,255,255,.2)}
.discovery-toggle>span:first-child{font-size:clamp(23px,3.2vw,42px);letter-spacing:-.06em}
.discovery-toggle .mono,.results-label{color:rgba(255,255,255,.56)}
.filter-head{padding-top:25px}
.searchbox,.sortbox{color:#f6f0e9}
.searchbox input,.sortbox select,#view-projects .project-search,#view-projects select{background:#241e1c;color:#fff;border:1px solid rgba(255,255,255,.24);border-radius:2px}
.tag-chip{border-color:rgba(255,255,255,.35);color:#f6f0e9}
.tag-chip.active{background:var(--accent);border-color:var(--accent);color:#fff}
.all-grid{gap:26px 18px}
.empty-state{color:rgba(255,255,255,.7)}

/* Services: oversized title, clean numbered rows, practical reading rhythm. */
.view#view-services{margin:12px var(--gutter) 0;padding:0 clamp(18px,4vw,64px) 64px;border-radius:var(--radius);background:var(--paper);color:var(--ink)}
#view-services>.page-wrap{width:min(100%,1520px)}
.services-hero{position:relative;min-height:clamp(430px,54vw,680px);padding:48px 0 52px;border-bottom:1px solid var(--line);overflow:hidden}
.services-hero .services-kicker{color:var(--accent)}
.services-hero .page-title{max-width:1000px;margin:70px 0 0;font-size:clamp(65px,11.5vw,156px);line-height:.8;letter-spacing:-.09em}
.services-hero .page-title em{color:var(--accent);font-style:normal}
.services-page-intro{max-width:400px;margin:26px 0 0 auto;color:var(--copy);font-size:14px;line-height:1.7}
.services-method{display:grid;grid-template-columns:1fr 2fr;gap:24px;padding:clamp(56px,8vw,110px) 0;border-bottom:1px solid var(--line)}
.services-method-label{color:var(--accent)}
.services-method-copy h2{max-width:850px;font-size:clamp(36px,5.7vw,78px);line-height:.93;letter-spacing:-.075em}
.services-method-copy h2 em{color:var(--accent);font-style:normal}
.services-method-copy p{max-width:630px;margin-top:20px;color:var(--copy);font-size:14px;line-height:1.75}
.service-groups{border-bottom:1px solid var(--line)}
.service-group{border-top:1px solid var(--line)}
.service-summary{display:grid;grid-template-columns:70px 1fr 48px;align-items:center;gap:16px;min-height:clamp(112px,14vw,180px);padding:18px 0;cursor:pointer;list-style:none}
.service-summary::-webkit-details-marker{display:none}
.service-group-index{color:var(--accent);font:11px "DM Mono",monospace}
.service-summary-title{font-size:clamp(29px,5vw,68px);line-height:.96;letter-spacing:-.075em}
.service-summary-teaser{margin-top:8px;color:var(--copy);font:10px "DM Mono",monospace;letter-spacing:.06em;text-transform:uppercase}
.service-summary-toggle{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;font-size:24px;font-weight:300;transition:transform .25s,background .25s,color .25s}
.service-group[open] .service-summary-toggle{transform:rotate(45deg);background:var(--accent);border-color:var(--accent);color:white}
.service-group-main{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:0 70px 35px 86px;color:var(--copy)}
.service-group-main>p{max-width:500px;line-height:1.7}
.service-group-main ul{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;margin:0;padding:0;list-style:none;color:var(--ink);font-size:12px}
.service-group-main li::before{content:"↗";margin-right:8px;color:var(--accent)}
.services-end{display:grid;grid-template-columns:1fr 2fr;gap:24px;padding:clamp(60px,8vw,112px) 0 30px}
.services-end>.mono{color:var(--accent)}
.services-end h2{font-size:clamp(44px,7vw,92px);line-height:.88;letter-spacing:-.08em}
.services-end h2 em{color:var(--accent);font-style:normal}
.services-end p{max-width:460px;margin:18px 0;color:var(--copy);line-height:1.65}

/* Studio profile: founder portrait and biography become one editorial spread. */
.view#view-about{margin:12px var(--gutter) 0;padding:0 clamp(18px,4vw,64px) 55px;border-radius:var(--radius);background:#171413;color:#f6f0e9}
#view-about>.page-wrap{width:min(100%,1520px)}
.about-hero{position:relative;display:grid;grid-template-columns:1.1fr .9fr;grid-template-areas:"title portrait" "intro portrait";gap:28px clamp(28px,5vw,76px);align-items:end;padding:clamp(44px,6vw,82px) 0 clamp(55px,8vw,110px);border-bottom:1px solid rgba(255,255,255,.22)}
.about-name{grid-area:title;align-self:end;margin:60px 0 0;font-size:clamp(58px,10vw,138px);line-height:.8;letter-spacing:-.09em}
.about-name em{color:#ed614b;font-style:normal}
.about-by{display:inline-block;margin-right:.08em;font-size:.36em;letter-spacing:-.07em;vertical-align:top}
.about-portrait{grid-area:portrait;margin:0}
.about-portrait img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 40%;filter:saturate(.82)}
.about-portrait figcaption{display:flex;justify-content:space-between;gap:12px;margin-top:9px;color:rgba(255,255,255,.56);font-size:10px}
.about-intro{grid-area:intro;max-width:680px}
.about-intro .mono{color:#ef725e}
.about-intro p{margin:16px 0 0;color:rgba(255,255,255,.75);font-size:14px;line-height:1.75}
.founder-note{display:grid;grid-template-columns:1fr 2fr;gap:24px;padding:clamp(60px,8vw,110px) 0;border-bottom:1px solid rgba(255,255,255,.22)}
.founder-label{display:flex;flex-direction:column;align-items:flex-start;gap:22px}
.founder-label .mono{color:rgba(255,255,255,.55)}
.founder-stamp{display:grid;place-content:center;width:88px;height:88px;border:1px solid #ed614b;border-radius:50%;color:#fff;text-align:center;font-size:13px;line-height:1.05;transform:rotate(-9deg)}
.founder-stamp em{color:#ed614b;font-style:normal}
.founder-copy h2{font-size:clamp(40px,6vw,82px);line-height:.9;letter-spacing:-.08em}
.founder-copy h2 em{color:#ed614b;font-style:normal}
.founder-copy p{max-width:720px;margin:20px 0 0;color:rgba(255,255,255,.68);font-size:14px;line-height:1.75}
.about-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:38px 0}
.about-cta h2{font-size:clamp(34px,5vw,66px);line-height:.9;letter-spacing:-.08em}
.about-cta .button-dark{background:#f5efe8;color:#171514;border-color:#f5efe8}

/* Contact: a direct red invitation, distinct from the black project and studio views. */
.view#view-contact{margin:12px var(--gutter) 0;padding:clamp(20px,4vw,60px);border-radius:var(--radius);background:linear-gradient(125deg,#a32722,#d34432 55%,#b13229);color:#fff}
.contact-wrap{position:relative;min-height:min(760px,calc(100svh - 110px));display:flex;align-items:center;justify-content:center;overflow:hidden}
.contact-backdrop{position:absolute;right:-.04em;bottom:-.38em;color:rgba(255,255,255,.075);font-size:clamp(140px,32vw,490px);font-weight:800;line-height:.8;letter-spacing:-.1em;pointer-events:none}
.contact-panel{position:relative;z-index:2;width:100%;max-width:1380px;padding:clamp(20px,4vw,58px);border:1px solid rgba(255,255,255,.35);border-radius:3px;background:rgba(31,15,13,.17);backdrop-filter:blur(3px)}
.contact-panel-top,.contact-panel-foot{color:rgba(255,255,255,.75);border-color:rgba(255,255,255,.3)}
.contact-panel-grid{grid-template-columns:1.2fr .8fr;gap:clamp(24px,5vw,80px);padding-block:clamp(56px,8vw,114px)}
.contact-title{font-size:clamp(58px,9.5vw,132px);line-height:.8;letter-spacing:-.09em}
.contact-title em{color:#211512;font-style:normal}
.contact-intro{color:rgba(255,255,255,.84);font-size:15px}
.contact-panel-cta{background:#f7f1e8;color:#171514;border-color:#f7f1e8}
.contact-panel-cta span:last-child{color:var(--accent)}
.contact-direct{color:rgba(255,255,255,.65)}
.contact-number,.contact-socials a{color:#fff}
.contact-socials a{border-color:rgba(255,255,255,.32)}

/* Footer: ember-lit frame with a huge wordmark as the final signature. */
.site-footer{position:relative;isolation:isolate;width:calc(100% - var(--gutter) - var(--gutter));margin:12px auto var(--gutter);padding:clamp(30px,4.5vw,62px) clamp(20px,4vw,62px) 0;overflow:hidden;border-radius:var(--radius) var(--radius) 24px 24px;background:#100d0c;color:#f7f1e8}
.site-footer::before{content:"";position:absolute;inset:28% 0 0;z-index:-1;background:radial-gradient(ellipse at 78% 80%,rgba(213,65,47,.88),transparent 45%),radial-gradient(ellipse at 18% 100%,rgba(149,41,30,.78),transparent 42%),linear-gradient(180deg,transparent,#21100e 65%);pointer-events:none}
.footer-inner{position:relative;width:min(100%,1680px);max-width:none;margin:auto}
.footer-main{display:flex;flex-direction:column;gap:0;align-items:stretch}
.footer-connect{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-template-areas:"idea socials pages" "cta socials pages";gap:18px 26px;align-items:start}
.footer-connect>p{grid-area:idea;max-width:390px;margin:0;font-size:clamp(22px,3vw,38px);font-weight:600;line-height:.98;letter-spacing:-.055em}
.footer-cta{grid-area:cta;max-width:240px;color:#f47b65;border-color:rgba(255,255,255,.35)}
.footer-socials{grid-area:socials;display:flex;flex-direction:column;gap:10px;padding-top:4px}
.footer-pages{grid-area:pages;display:flex;flex-direction:column;gap:10px;padding-top:4px}
.footer-socials a,.footer-pages a{color:rgba(255,255,255,.76);font-size:11px}
.footer-socials a:hover,.footer-pages a:hover{color:#fff}
.footer-wordmark{order:2;display:block;width:100%;margin-top:clamp(44px,7vw,98px);padding:0 0 5px;border-bottom:1px solid rgba(255,255,255,.3);overflow:hidden}
.footer-connect{order:1;width:100%}
.footer-logo{display:block;width:100%;max-width:none;max-height:none;height:auto;object-fit:contain;object-position:left bottom;opacity:.98;transform:scale(1.01);transform-origin:left bottom}
.footer-base{display:flex;justify-content:space-between;gap:18px;padding:15px 0 20px;border-color:rgba(255,255,255,.26);color:rgba(255,255,255,.65);font-size:10px}
.footer-base a{color:#fff}
.footer-print{right:2%;top:24%;width:clamp(60px,10vw,140px);opacity:.075;color:#f07a63}

/* Project detail media remain fully visible; only archive cards crop to fill. */
.project-modal{margin:0 var(--gutter);width:calc(100% - var(--gutter) - var(--gutter));border-radius:var(--radius);background:#171413;color:#f6f0e9}
.modal-panel{background:#171413;color:#f6f0e9}
.case-toolbar{border-color:rgba(255,255,255,.2)}
.case-toolbar .mono,.case-section-label,.case-gallery-head>.mono,.case-heading .mono{color:rgba(255,255,255,.55)}
.case-cover,.case-piece{background:#241e1c}
.case-cover-image,.case-piece>img,.case-piece>video{object-fit:contain;background:#241e1c}
.case-heading .modal-description,.case-study-item p{color:rgba(255,255,255,.74)}
.case-facts,.case-fact+.case-fact,.case-gallery-head,.case-footer{border-color:rgba(255,255,255,.22)}
.case-gallery{grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(10px,1.5vw,20px)}
.case-piece,.case-piece:nth-child(4n+1){grid-column:span 7}
.case-piece:nth-child(4n+2){grid-column:span 5;margin-top:clamp(24px,5vw,72px)}
.case-piece:nth-child(4n+3){grid-column:span 5}
.case-piece:nth-child(4n){grid-column:span 7;margin-top:clamp(24px,5vw,72px)}
.case-piece figcaption{color:#f6f0e9}
.modal-close{background:#171413;color:#fff;border-color:rgba(255,255,255,.35)}

@media(max-width:980px){
  .hero-home{min-height:900px;min-height:max(820px,100svh);align-items:flex-start;padding-top:88px;padding-bottom:310px}
  .hero-home .hero-main{width:58%;max-width:620px}
  .hero-home .hero-title{font-size:clamp(60px,9.2vw,96px)}
  .hero-project-scatter{width:50%}
  .hero-project-tile:nth-child(1){top:8%;right:2%;width:88%;height:61%}
  .hero-project-tile:nth-child(2){right:68%;width:25%;height:19%}
  .hero-project-tile:nth-child(3){right:41%;width:25%;height:19%}
  .hero-project-tile:nth-child(4){right:14%;width:25%;height:19%}
  .hero-project-tile:nth-child(5){display:none}
  .review-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
  .review-card,.review-card:nth-child(2){grid-column:span 3;margin-top:0}
  .review-card:last-child{grid-column:2/span 4}
  .about-hero{grid-template-columns:1fr .85fr;gap:24px 34px}
}
@media(max-width:900px){
  .site-header .desktop-nav{background:#171211;border-color:rgba(255,255,255,.16)}
  .site-header .desktop-nav>a:not(.nav-talk){color:#f8f3ed}
}
@media(max-width:720px){
  :root{--gutter:8px}
  html{scroll-padding-top:72px}
  .site-header{margin-inline:8px}
  .site-header .header-inner{height:62px;width:calc(100% - 20px)}
  .site-header .brand-mark{width:37px;height:37px}
  .site-header .desktop-nav{padding:20px;background:#171211;border:1px solid rgba(255,255,255,.16);border-radius:3px}
  .site-header .desktop-nav>a:not(.nav-talk){color:#f8f3ed}
  #view-home>.page-wrap{width:calc(100% - 16px)}
  .hero-home{min-height:max(790px,100svh);margin-top:8px;padding:78px 20px 290px}
  .hero-home::after{top:17px;right:18px;max-width:52%;font-size:7px;text-align:right}
  .hero-home .hero-signal{width:29px;height:29px;margin-bottom:18px;font-size:16px}
  .hero-home .hero-main{width:100%;max-width:520px}
  .hero-home .hero-title{font-size:clamp(55px,13vw,84px)}
  .hero-title-greeting{font-size:.34em}
  .hero-title-name{max-width:100%;overflow-wrap:anywhere}
  .hero-title-lead{max-width:360px;font-size:19px}
  .hero-title-service{font-size:20px;margin-top:10px}
  .hero-home .hero-lower{max-width:420px;margin-top:16px}
  .hero-home .hero-lower>p{font-size:12px}
  .hero-home .hero-actions{align-items:center;flex-direction:row;gap:15px;margin-top:17px}
  .hero-home .hero-actions .button{font-size:11px}
  .hero-project-scatter{inset:auto 10px 13px;width:calc(100% - 20px);height:230px}
  .hero-project-tile:nth-child(1){top:0;right:2%;width:68%;height:80%}
  .hero-project-tile:nth-child(2){right:74%;bottom:0;width:23%;height:34%}
  .hero-project-tile:nth-child(3){right:50%;bottom:0;width:23%;height:34%}
  .hero-project-tile:nth-child(4){right:26%;bottom:0;width:23%;height:34%}
  .home-work,.personal-work,.client-voices{width:calc(100% - 16px);margin-top:8px;padding:42px 17px;border-radius:3px}
  .home-work .section-head{align-items:flex-start;gap:14px;margin-bottom:22px}
  .section-head h2{font-size:clamp(39px,10vw,58px)}
  .home-featured .section-head h2{font-size:clamp(42px,11vw,66px)}
  .project-grid,.personal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 10px}
  .project-grid>.project-card,.project-grid>.project-card:nth-child(n),.personal-grid>.project-card,.personal-grid>.project-card:nth-child(n){grid-column:span 1;margin:0}
  .project-grid>.project-card:nth-child(3n+1),.home-recent .project-card:nth-child(3n),.personal-grid>.project-card:nth-child(2n){grid-column:1/-1}
  #home-featured>.project-card:only-child,#projects-featured>.project-card:only-child,#home-featured>.project-card:first-child:nth-last-child(2),#home-featured>.project-card:last-child:nth-child(2),#projects-featured>.project-card:first-child:nth-last-child(2),#projects-featured>.project-card:last-child:nth-child(2){grid-column:1/-1;margin:0}
  #home-featured>.project-card:only-child .artboard,#projects-featured>.project-card:only-child .artboard{aspect-ratio:1/1}
  .project-card .artboard,.project-grid>.project-card:nth-child(n) .artboard,.home-recent .project-card .artboard{aspect-ratio:1/1}
  .home-recent .project-card:nth-child(3n){width:100%}
  .project-card .art-copy{left:12px;bottom:12px}
  .project-card .art-copy strong{font-size:clamp(19px,5vw,29px)}
  .project-meta .project-title{font-size:13px}
  .project-meta .project-description{font-size:9px}
  .personal-work .personal-heading{align-items:flex-start;flex-direction:column;gap:14px}
  .personal-grid>.project-card:nth-child(2n){grid-column:1/-1}
  .client-voices-head{align-items:flex-start;flex-direction:column;gap:18px}
  .client-voices-head h2{font-size:clamp(39px,10vw,60px)}
  .review-grid{grid-template-columns:1fr;gap:10px}
  .review-card,.review-card:nth-child(2),.review-card:last-child{grid-column:auto;min-height:210px}
  .view#view-projects,.view#view-services,.view#view-about,.view#view-contact{margin:8px 8px 0;padding-inline:17px}
  #view-projects{padding-bottom:38px!important}
  #view-projects .subhero{min-height:410px;padding-top:90px}
  #view-projects .subhero .page-title{font-size:clamp(58px,15vw,92px)}
  #view-projects .featured-block{padding-block:38px 48px}
  .discovery-toggle{align-items:flex-start;flex-direction:column;justify-content:center;gap:8px;padding-block:20px}
  .services-hero{min-height:420px;padding-top:32px}
  .services-hero .page-title{margin-top:68px;font-size:clamp(57px,14vw,88px)}
  .services-page-intro{max-width:330px;margin:20px 0 0 auto;font-size:12px}
  .services-method,.services-end,.founder-note{grid-template-columns:1fr;gap:22px}
  .services-method{padding-block:48px}
  .service-summary{grid-template-columns:35px 1fr 38px;gap:10px;min-height:108px}
  .service-summary-title{font-size:clamp(27px,7.5vw,45px)}
  .service-summary-teaser{max-width:240px;font-size:8px;line-height:1.5}
  .service-group-main{grid-template-columns:1fr;gap:14px;padding:0 0 25px 45px;font-size:12px}
  .service-group-main ul{grid-template-columns:1fr;font-size:11px}
  .services-end{padding-top:52px}
  .about-hero{grid-template-columns:1fr;grid-template-areas:"title" "portrait" "intro";gap:22px;padding-top:30px}
  .about-name{margin-top:65px;font-size:clamp(58px,15vw,96px)}
  .about-portrait img{aspect-ratio:1.08/1;object-position:center 35%}
  .about-portrait figcaption{font-size:9px}
  .about-intro p,.founder-copy p{font-size:12px}
  .founder-note{padding-block:48px}
  .founder-label{flex-direction:row;align-items:center}
  .about-cta{align-items:flex-start;flex-direction:column}
  .view#view-contact{padding:14px}
  .contact-wrap{min-height:calc(100svh - 90px);width:100%}
  .contact-panel{padding:19px}
  .contact-panel-top{font-size:8px}
  .contact-panel-grid{grid-template-columns:1fr;gap:25px;padding-block:54px}
  .contact-title{font-size:clamp(58px,15vw,92px)}
  .contact-intro{font-size:13px}
  .site-footer{width:calc(100% - 16px);margin:8px 8px 8px;padding:25px 17px 0;border-radius:3px 3px 18px 18px}
  .footer-main{grid-template-columns:1fr;gap:10px}
  .footer-connect{grid-template-columns:1fr 1fr;grid-template-areas:"idea idea" "cta cta" "socials pages";gap:16px}
  .footer-connect>p{font-size:30px}
  .footer-wordmark{margin-top:50px}
  .footer-logo{width:160%;max-width:none;max-height:none}
  .footer-base{font-size:9px}
  .project-modal{margin-inline:8px;width:calc(100% - 16px)}
  .case-gallery{grid-template-columns:1fr;gap:14px}
  .case-piece,.case-piece:nth-child(n){grid-column:auto;margin-top:0}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
}
