/* Website Designer Gurgaon — "The sentence is the layout": carmine field, charcoal panels, one face (Inter Tight). */
@font-face{font-family:"Inter Tight";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/it-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter Tight";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/it-400-ext.woff2) format("woff2");unicode-range:U+0100-02AF,U+20B9}
@font-face{font-family:"Inter Tight";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/it-500.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+2122,U+FEFF}
@font-face{font-family:"Inter Tight";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/it-500-ext.woff2) format("woff2");unicode-range:U+0100-02AF,U+20B9}
@font-face{font-family:"Inter Tight";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/it-600.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter Tight";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/it-600-ext.woff2) format("woff2");unicode-range:U+0100-02AF,U+20B9}

:root{
  --bg:#9c1220;--surface:#860f1b;--ink:#fff;--muted:#f0b9bd;
  --accent:#ffd9dc;--accent-ink:#9c1220;
  --char:#2a2a2a;--char2:#343434;--char-muted:#c9c4c4;
  --face:"Inter Tight",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --step-small:clamp(.8125rem,.79rem + .1vw,.875rem);
  --step-body:clamp(1.0625rem,1rem + .25vw,1.1875rem);
  --step-lead:clamp(1.25rem,1.1rem + .7vw,1.625rem);
  --step-stmt:clamp(22px,2.5vw,36px);
  --step-head:clamp(2rem,1.3rem + 3.2vw,4rem);
  --step-wide:clamp(40px,5.5vw,88px);
  --step-phero:clamp(44px,7vw,116px);
  --step-hero:clamp(40px,9.2vw,156px);
  --m:clamp(16px,2.4vw,40px);
  --gap:clamp(96px,11vw,176px);
  --ease:cubic-bezier(.16,1,.3,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;overflow-x:clip;background:var(--char)}
body{margin:0;background:var(--char);color:var(--ink);font:400 var(--step-body)/1.5 var(--face);letter-spacing:-.005em;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1.5px}
a:hover{text-decoration-thickness:3px}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
::selection{background:var(--accent);color:var(--accent-ink)}
h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-.04em;line-height:.95}
p{margin:0 0 1em}
address{font-style:normal}
.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:var(--m);top:12px;z-index:100;background:var(--accent);color:var(--accent-ink);padding:12px 18px;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}
.skip:focus{clip-path:none;width:auto;height:auto}
.wrap{width:100%;max-width:1520px;margin:0 auto;padding-left:var(--m);padding-right:var(--m)}
.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(16px,2vw,32px)}

/* fields */
.f-red{background:var(--bg);color:var(--ink)}
.f-surface{background:var(--surface);color:var(--ink)}
.f-ink{background:var(--char);color:var(--ink)}
.f-ink2{background:var(--char2);color:var(--ink)}
.f-ink .m,.f-ink2 .m{color:var(--char-muted)}

/* one button, one link */
.btn{white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:14px 26px;background:var(--accent);color:var(--accent-ink);font:600 var(--step-body)/1.1 var(--face);letter-spacing:-.01em;text-decoration:none;border:0;cursor:pointer;transition:background-color .25s var(--ease),color .25s var(--ease),transform .25s var(--ease)}
.btn:hover{background:#fff;color:var(--accent-ink);transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.tlink{font-weight:500;text-decoration:underline;text-decoration-thickness:1.5px}

/* header */
.bar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px var(--m);background:var(--bg);color:var(--ink)}
.brand{font-weight:600;font-size:var(--step-small);letter-spacing:-.01em;text-decoration:none}
.nav{display:flex;gap:clamp(18px,2.6vw,40px);align-items:center;font-size:var(--step-small)}
.nav a{text-decoration:none;padding:6px 0}
.nav a:hover,.nav a[aria-current=page]{text-decoration:underline;text-decoration-thickness:2px}
.nav .call{font-weight:600}
.menu{display:none;background:none;border:0;color:inherit;font:500 var(--step-small) var(--face);min-height:44px;padding:0 4px;cursor:pointer}
@media (max-width:860px){
  .menu{display:block}
  .nav{position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:flex-start;gap:4px;padding:8px var(--m) 28px;background:var(--bg);font-size:var(--step-lead);display:none}
  .bar.open .nav{display:flex}
  .nav a{padding:8px 0}
}

/* headline lines that rise */
.ln{display:block;overflow:hidden;padding-bottom:.06em;margin-bottom:-.06em}
.ln>span{display:inline-block}

/* ---------- home hero: a photograph set into the line ---------- */
.hero{min-height:min(calc(100svh - 64px),940px);display:flex;flex-direction:column}
.hero .wrap{flex:1;display:flex;flex-direction:column;justify-content:center;padding-top:clamp(48px,8vh,96px);padding-bottom:clamp(28px,5vh,56px)}
.hero h1{font-size:var(--step-hero);letter-spacing:-.045em;line-height:.95;margin:auto 0}
.hero .l2>span{display:inline-flex;align-items:center;gap:.16em}
.slot{position:relative;display:inline-block;width:1.44em;height:.9em;overflow:hidden;background:var(--surface);flex:none}
.slot img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;opacity:0;transition:opacity .6s var(--ease)}
.slot img.on{opacity:1}
.hero .foot-row{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(16px,2vw,32px);align-items:end;margin-top:clamp(40px,7vh,88px)}
.hero .foot-row p{grid-column:6/10;margin:0;font-size:var(--step-body);color:var(--ink)}
.hero .foot-row .btn{grid-column:11/13;justify-self:end}
@media (max-width:1000px){.hero .foot-row p{grid-column:1/9}.hero .foot-row .btn{grid-column:9/13}}
@media (max-width:760px){
  .hero h1{font-size:10.4vw;text-align:left}
  .hero .l2>span{display:flex;flex-direction:column;align-items:flex-start;gap:0}
  .slot{display:block;width:100%;height:auto;aspect-ratio:8/5;margin:.18em 0 .14em}
  .hero .foot-row{display:block}
  .hero .foot-row p{margin-bottom:20px}
}

/* ---------- inner page hero ---------- */
.phero{padding:clamp(56px,9vw,128px) 0 clamp(56px,7vw,104px)}
.phero h1{grid-column:1/-1;font-size:min(var(--step-phero),calc((100vw - var(--m) * 2) / (var(--n,10) * .54)));letter-spacing:-.045em;margin-bottom:clamp(36px,5vw,72px)}
.phero .lead{grid-column:1/7;align-self:end}
.phero .lead p{font-size:var(--step-lead);line-height:1.3;margin-bottom:28px}
.phero .fig,.phero .pshot{grid-column:8/13;align-self:end}
.fig b{display:block;font-size:var(--step-head);font-weight:600;letter-spacing:-.04em;line-height:1}
.fig span{display:block;margin-top:8px;color:var(--muted);font-size:var(--step-body)}
.pshot{margin:0}
.pshot img{width:100%;aspect-ratio:8/5;object-fit:cover;object-position:top}
.pshot figcaption{margin-top:10px;font-size:var(--step-small);color:var(--muted)}
@media (max-width:860px){.phero .grid{display:flex;flex-direction:column}.phero .fig,.phero .pshot{order:1;margin:0 0 36px}.phero .lead{order:2}}

.crumbs{padding-top:24px;padding-bottom:0;font-size:var(--step-small);color:var(--char-muted);background:var(--char)}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.crumbs li+li::before{content:"/";margin-right:6px}
.crumbs a{color:var(--char-muted)}
.crumbs [aria-current]{color:var(--ink)}

/* shared section rhythm */
.h2{font-size:var(--step-head)}
.sechead{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(16px,2vw,32px);align-items:end;margin-bottom:clamp(40px,5vw,72px)}
.sechead .h2{grid-column:1/8}
.sechead p{grid-column:9/13;margin:0;color:var(--char-muted)}
.f-red .sechead p{color:var(--muted)}
@media (max-width:760px){.sechead{display:block}.sechead p{margin-top:16px}}

/* ---------- showcase: object in front of type ---------- */
.show{position:relative;overflow:hidden;padding:var(--gap) 0}
.show .wrap{position:relative}
.stack{display:flex;flex-direction:column;white-space:nowrap}
.stack>*{font-size:var(--step-phero);font-weight:600;letter-spacing:-.045em;line-height:.9}
.stack .m{color:var(--muted)}
.show .obj{position:absolute;top:calc(var(--step-phero) * 1.2);right:var(--m);width:40vw;max-width:640px;margin:0;transform:rotate(-4deg);z-index:2}
.show .obj img{width:100%;aspect-ratio:8/5;object-fit:cover;object-position:top}
.show .obj figcaption{margin-top:12px;font-size:var(--step-small);color:var(--muted);transform:rotate(4deg)}
.show .facts{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(16px,2vw,32px);margin-top:clamp(48px,6vw,96px)}
.show .facts p{grid-column:1/7;font-size:var(--step-lead);line-height:1.35}
.show .facts p+p{margin-top:0}
@media (max-width:760px){
  .stack>*{font-size:13vw}
  .show .obj{position:relative;top:auto;right:auto;width:78vw;margin:28px 0 0 auto;transform:rotate(-3deg)}
  .show .obj figcaption{transform:none}
  .show .facts{display:block}
  .show .facts p{font-size:var(--step-body)}
}

/* ---------- price as a sentence ---------- */
.psent{padding:var(--gap) 0;min-height:80svh;display:flex;align-items:center}
.psent .wrap{display:block}
.say{font-size:clamp(24px,1.3rem + 3.2vw,4rem);line-height:1.02;letter-spacing:-.04em;max-width:20ch}
.say .pr{display:inline-block;background:var(--accent);color:var(--accent-ink);padding:0 .15em;margin-top:.04em}
.say .bn{text-decoration:underline;text-decoration-thickness:.05em;text-underline-offset:.1em}
.psent .ctl{display:flex;flex-wrap:wrap;gap:20px 28px;align-items:end;margin-top:clamp(36px,4vw,56px)}
.psent label{display:flex;flex-direction:column;gap:8px;font-size:var(--step-small);color:var(--char-muted)}
.f-red .psent label,.psent.f-red label{color:var(--muted)}
.psent input{width:min(340px,80vw);min-height:52px;padding:12px 16px;background:transparent;border:2px solid currentColor;color:var(--ink);font:400 var(--step-body) var(--face)}
.psent input::placeholder{color:inherit;opacity:.8}
.psent input:focus{outline:3px solid var(--accent);outline-offset:2px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips button{min-height:52px;padding:12px 20px;background:transparent;color:var(--ink);border:2px solid currentColor;font:500 var(--step-body) var(--face);cursor:pointer;transition:background-color .25s var(--ease),color .25s var(--ease)}
.chips button:hover{background:rgba(255,255,255,.12)}
.chips button[aria-pressed=true]{background:var(--ink);color:var(--char);border-color:var(--ink)}
.psent.f-red .chips button[aria-pressed=true]{color:var(--bg)}
.psent .row{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(16px,2vw,32px);align-items:end;margin-top:64px}
.psent .inc{grid-column:1/7;margin:0;font-size:var(--step-lead);line-height:1.35}
.psent .row .btn{grid-column:10/13;justify-self:end}
.psent .alt{margin:24px 0 0;text-align:right}
@media (max-width:760px){.psent .row{display:block}.psent .inc{font-size:var(--step-body);margin-bottom:24px}.psent .row .btn{width:100%}.psent .alt{text-align:left}}

/* ---------- stages as one bar ---------- */
.stages{padding:var(--gap) 0}
.stages .h2{margin-bottom:64px}
.bar-ui{list-style:none;margin:0;padding:0;display:flex;gap:6px}
.bar-ui li{flex-basis:0;min-width:12%}
.bar-ui .blk{height:22vh;min-height:150px;padding:20px;display:flex;flex-direction:column;justify-content:space-between}
.bar-ui .blk b{font-size:var(--step-lead);font-weight:600;letter-spacing:-.02em;line-height:1.1}
.bar-ui .blk span{font-size:var(--step-small);font-weight:500}
.bar-ui .s0 .blk{background:var(--accent);color:var(--accent-ink)}
.bar-ui .s1 .blk{background:#fff;color:var(--accent-ink)}
.bar-ui .s2 .blk{background:var(--char);color:#fff}
.bar-ui .s3 .blk{background:#5e0a13;color:#fff}
.bar-ui p{margin:16px 0 0;max-width:22ch;font-size:var(--step-body);line-height:1.4}
.stages .note{margin:48px 0 0;color:var(--muted);font-size:var(--step-small)}
@media (max-width:760px){
  .bar-ui{flex-direction:column}
  .bar-ui li{min-width:0}
  .bar-ui .blk{height:auto!important;min-height:calc(72px * var(--g,1));padding:16px}
  .bar-ui p{max-width:none;margin-top:10px}
}

/* ---------- proof: names as one sentence ---------- */
.proof{padding:clamp(96px,9vw,140px) 0}
.names{margin:0;font-size:var(--step-stmt);line-height:1.2;letter-spacing:-.02em;color:var(--char-muted);font-weight:500}
.names .lead-in{color:var(--ink)}
.names a{text-decoration:none;transition:color .4s var(--ease)}
.names a.lit,.names a:hover{color:var(--ink);text-decoration:underline}

/* ---------- work cards ---------- */
.workgrid,.strip-sec,.agrid-sec{padding:var(--gap) 0}
.strip{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2vw,32px)}
.strip.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.strip a{display:block;text-decoration:none}
.strip img{width:100%;aspect-ratio:8/5;object-fit:cover;object-position:top;background:var(--char2);transition:transform .5s var(--ease)}
.strip a:hover img{transform:translateY(-6px)}
.strip b{display:block;margin-top:16px;font-size:var(--step-lead);font-weight:600;letter-spacing:-.02em;line-height:1.15}
.strip span{display:block;margin-top:6px;color:var(--char-muted);font-size:var(--step-body);line-height:1.4}
@media (max-width:1000px){.strip{grid-template-columns:repeat(2,minmax(0,1fr))}.strip.three{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.strip,.strip.three{grid-template-columns:1fr}}

/* ---------- services and lists ---------- */
.svcs,.areas,.rel,.places{padding:var(--gap) 0}
.svcs .h2,.areas .h2,.places .h2{grid-column:1/6;align-self:start}
.svcs .cols,.svcs .biglist,.svcs>.wrap>p,.areas .biglist,.areas .more,.places .stmt,.places .biglist{grid-column:6/13}
.svcs .cols{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.svcs h3{font-size:var(--step-lead);color:var(--muted);margin-bottom:12px;letter-spacing:-.02em}
.biglist{list-style:none;margin:0;padding:0}
.biglist li{margin:0}
.biglist a{display:block;padding:14px 0;text-decoration:none}
.biglist b{display:block;font-size:var(--step-lead);font-weight:600;letter-spacing:-.02em;line-height:1.15}
.biglist a:hover b{text-decoration:underline;text-decoration-thickness:2px}
.biglist span{display:block;margin-top:4px;color:var(--muted);font-size:var(--step-body)}
.f-ink .biglist span,.f-ink2 .biglist span{color:var(--char-muted)}
.rel .h2{margin-bottom:40px}
.rel .biglist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(24px,4vw,64px)}
.areas .more{margin-top:24px;color:var(--char-muted)}
.places .stmt{font-size:var(--step-stmt);line-height:1.25;letter-spacing:-.02em;margin-bottom:40px}
@media (max-width:860px){.svcs .h2,.areas .h2,.places .h2{grid-column:1/-1;margin-bottom:32px}.svcs .cols,.svcs .biglist,.svcs>.wrap>p,.areas .biglist,.areas .more,.places .stmt,.places .biglist{grid-column:1/-1}.svcs .cols{grid-template-columns:1fr 1fr;gap:24px}.rel .biglist{grid-template-columns:1fr}}

/* ---------- testimonial spread edge to edge ---------- */
.quote{padding:clamp(140px,14vw,220px) 0}
.spread{margin:0}
.spread p{display:flex;justify-content:space-between;margin:0 0 .6em;font-size:clamp(40px,8.4vw,140px);font-weight:600;letter-spacing:-.045em;line-height:.95}
.spread p:last-child{margin-bottom:0;justify-content:flex-end}
.attr{display:flex;justify-content:space-between;margin:64px 0 0;font-size:var(--step-body);color:var(--muted)}
@media (max-width:760px){.spread p{font-size:12vw;flex-wrap:wrap}.attr{flex-direction:column;gap:4px}.attr span:nth-child(2){text-align:center}.attr span:nth-child(3){text-align:right}}

/* ---------- people ---------- */
.people{padding:var(--gap) 0}
.people .h2{margin-bottom:48px}
.photos{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(16px,2vw,32px);align-items:start}
.photos figure{margin:0}
.photos img{width:100%;object-fit:cover}
.photos .p1{grid-column:1/7}.photos .p1 img{aspect-ratio:4/3}
.photos .p2{grid-column:7/10;margin-top:12%}.photos .p2 img{aspect-ratio:3/4}
.photos .p3{grid-column:10/13;margin-top:30%}.photos .p3 img{aspect-ratio:4/3}
.photos figcaption{margin-top:10px;font-size:var(--step-small);color:var(--char-muted)}
@media (max-width:760px){.photos{display:block}.photos figure{margin:0 0 28px!important}}

/* ---------- FAQ: wide heading, indented questions ---------- */
.faq{padding:var(--gap) 0}
.faq .wide{font-size:var(--step-wide);max-width:16ch}
.faq .qs{margin:80px 0 0 33.333%}
.faq details{margin:0 0 12px;padding:12px 24px;margin-left:-24px;margin-right:-24px;transition:background-color .3s var(--ease)}
.faq details[open]{background:var(--surface)}
.f-ink .faq details[open],.faq.f-ink details[open]{background:var(--char2)}
.faq.f-ink2 details[open]{background:#3e3e3e}
.faq summary{display:flex;justify-content:space-between;gap:24px;align-items:center;cursor:pointer;list-style:none;padding:8px 0}
.faq summary::-webkit-details-marker{display:none}
.faq summary h3{font-size:var(--step-lead);font-weight:400;letter-spacing:-.01em;line-height:1.3}
.faq summary i{position:relative;flex:none;width:16px;height:16px;transition:transform .3s var(--ease)}
.faq summary i::before,.faq summary i::after{content:"";position:absolute;top:7px;width:10px;height:2px;background:currentColor}
.faq summary i::before{left:0;transform:rotate(45deg)}
.faq summary i::after{right:0;transform:rotate(-45deg)}
.faq details[open] summary i{transform:rotate(180deg)}
.faq .a p{max-width:48ch;margin:8px 0 12px;font-size:var(--step-body);line-height:1.55}
.faq.f-red .a p{color:var(--ink)}
@media (max-width:760px){.faq .qs{margin:48px 0 0}.faq details{margin-left:calc(var(--m) * -1);margin-right:calc(var(--m) * -1);padding:10px var(--m)}.faq summary h3{font-size:19px}.faq .a p{font-size:16px}}

/* ---------- body: prose with an aside ---------- */
.body{padding:clamp(64px,7vw,112px) 0 var(--gap)}
.prose{grid-column:1/8;max-width:68ch}
.prose h2{font-size:var(--step-stmt);letter-spacing:-.025em;line-height:1.1;margin:56px 0 20px}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:var(--step-lead);letter-spacing:-.02em;margin:32px 0 12px}
.prose p,.prose li{line-height:1.6}
.prose ul,.prose ol{padding-left:1.2em;margin:0 0 1.2em}
.prose li{margin-bottom:.5em}
.prose a{color:var(--accent)}
.prose strong{font-weight:600}
.tablewrap{overflow-x:auto;margin:24px 0 32px}
.prose table{border-collapse:collapse;width:100%;min-width:560px;font-size:var(--step-small)}
.prose th,.prose td{text-align:left;vertical-align:top;padding:12px 14px}
.prose thead th{background:var(--bg);font-weight:600}
.prose tbody tr:nth-child(odd){background:var(--char2)}
.aside{grid-column:9/13;align-self:start;position:sticky;top:96px;display:flex;flex-direction:column;gap:20px}
.box{background:var(--char2);padding:24px}
.f-ink2 .box{background:var(--char)}
.box h2{font-size:var(--step-lead);letter-spacing:-.02em;margin-bottom:14px}
.box ul{list-style:none;margin:0 0 16px;padding:0}
.box li{margin:0 0 6px}
.box p{font-size:var(--step-body);color:var(--char-muted)}
.box nav{display:flex;flex-direction:column}
.box nav a{padding:6px 0}
.aside .tall{margin:0}.aside .tall img{aspect-ratio:3/4;object-fit:cover;object-position:50% 30%;width:100%}.aside .tall figcaption{margin-top:10px;font-size:var(--step-small);color:var(--char-muted)}
@media (max-width:900px){.prose,.aside{grid-column:1/-1}.aside{position:static;margin-top:48px}}

/* ---------- work page ---------- */
.works{padding:clamp(64px,7vw,112px) 0 var(--gap)}
.wk{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(16px,2vw,32px);align-items:center;margin-bottom:clamp(80px,9vw,140px)}
.wk .im{grid-column:1/8}
.wk .im img{width:100%;aspect-ratio:8/5;object-fit:cover;object-position:top}
.wk .tx{grid-column:9/13}
.wk.flip .im{grid-column:6/13;order:2}
.wk.flip .tx{grid-column:1/5;order:1}
.wk h2{font-size:var(--step-head);margin-bottom:16px}
.wk .where{color:var(--muted);font-weight:500}
.wk .tx a{color:var(--accent)}
.works .also{font-size:var(--step-lead);line-height:1.35;max-width:52ch}
.works .also a{color:var(--accent)}
@media (max-width:860px){.wk{display:block}.wk .tx{margin-top:24px}}

/* ---------- awards ---------- */
.agrid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2vw,32px)}
.agrid figure{margin:0}
.agrid img{width:100%;aspect-ratio:3/2;object-fit:cover}
.agrid figcaption{margin-top:12px}
.agrid b{display:block;font-weight:600;line-height:1.25}
.agrid span{display:block;margin-top:4px;font-size:var(--step-small);color:var(--char-muted)}
@media (max-width:900px){.agrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.agrid{grid-template-columns:1fr}}
.feat-sec{padding:var(--gap) 0}
.feat{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(16px,2vw,32px);align-items:center}
.feat figure{grid-column:1/6;margin:0}
.feat .ftx{grid-column:7/13}
.feat .h2{margin-bottom:28px}
.feat p{font-size:var(--step-lead);line-height:1.35}
@media (max-width:860px){.feat{display:block}.feat .ftx{margin-top:32px}}

/* ---------- areas page ---------- */
.zones{padding:clamp(64px,7vw,112px) 0 var(--gap)}
.zrow{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(16px,2vw,32px);margin-bottom:clamp(56px,6vw,96px)}
.zrow h2{grid-column:1/6;font-size:var(--step-head)}
.zrow h2 a{text-decoration:none}
.zrow h2 a:hover{text-decoration:underline}
.zrow>div{grid-column:7/13}
.zrow p{font-size:var(--step-lead);line-height:1.35}
.zrow .sm{font-size:var(--step-body);color:var(--char-muted)}
.zrow .sm a{color:var(--ink)}
@media (max-width:860px){.zrow{display:block}.zrow>div{margin-top:20px}}

/* ---------- contact band ---------- */
.cband{padding:clamp(140px,11vw,176px) 0 clamp(96px,8vw,120px)}
.cband .sent{grid-column:1/6;font-size:var(--step-stmt);line-height:1.15;letter-spacing:-.02em;margin:0}
.cband .por{grid-column:8/10;margin:0}
.cband .por img{width:100%;max-width:170px;aspect-ratio:3/4;object-fit:cover;object-position:50% 20%}
.cband .links{grid-column:10/13}
.cband .links h2{font-size:var(--step-body);font-weight:500;letter-spacing:-.01em;line-height:1.3;margin-bottom:20px}
.cband .links a{display:block;font-size:var(--step-body);margin-bottom:8px}
.cband .links p{margin-top:16px;font-size:var(--step-small);color:var(--char-muted)}
.cband .wa{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:16px;align-items:end;margin-top:clamp(64px,7vw,104px)}
.cband label{display:flex;flex-direction:column;gap:8px;font-size:var(--step-small);color:var(--char-muted)}
.cband input,.cband select{min-height:52px;padding:12px 14px;background:var(--char2);color:var(--ink);border:2px solid #555;font:400 var(--step-body) var(--face);border-radius:0;width:100%}
.cband input:focus,.cband select:focus{outline:3px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
.cband .fine{grid-column:1/-1;margin:0;font-size:var(--step-small);color:var(--char-muted)}
@media (max-width:1000px){.cband .wa{grid-template-columns:1fr 1fr}.cband .wa .btn{grid-column:1/-1}}
@media (max-width:760px){.cband .sent{grid-column:1/-1;margin-bottom:32px}.cband .por{grid-column:1/4}.cband .por img{max-width:96px}.cband .links{grid-column:4/-1}.cband .wa{grid-template-columns:1fr}}

/* ---------- footer: invitation over the name ---------- */
.foot{background:var(--bg);color:var(--ink);overflow:hidden;padding-top:clamp(96px,10vw,160px);container-type:inline-size}
.fhead{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(16px,2vw,32px)}
.fhead .inv{grid-column:1/8}
.fhead h2{font-size:var(--step-wide);margin-bottom:28px}
.fhead address{font-size:var(--step-lead);line-height:1.35;margin-bottom:32px}
.fhead .acts{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center}
.fhead .reach{grid-column:10/13;display:flex;flex-direction:column;gap:10px;font-size:var(--step-body)}
.fcols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;margin-top:clamp(72px,8vw,120px)}
.fcol h3{font-size:var(--step-body);letter-spacing:-.01em;line-height:1.2;margin-bottom:14px}
.fcol ul{list-style:none;margin:0;padding:0}
.fcol li{margin:0 0 4px;font-size:var(--step-body);line-height:1.35}
.fcol a{color:var(--muted);text-decoration:none}
.fcol a:hover{color:var(--ink);text-decoration:underline}
.legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 32px;margin-top:72px;font-size:var(--step-small);color:var(--muted)}
.legal a{color:var(--ink)}
.foot .name{margin:24px 0 0;padding:0 var(--m) .1em;font:600 calc((100cqw - var(--m) * 2) / 4.35)/.86 var(--face);letter-spacing:-.06em;white-space:nowrap;color:var(--accent)}
@media (max-width:860px){.fhead{display:block}.fhead .reach{margin-top:40px}.fcols{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.fcols{grid-template-columns:1fr}}

/* page wipe for transitions */
.wipe{position:fixed;inset:0;z-index:200;background:var(--accent);transform:scaleY(0);transform-origin:bottom;pointer-events:none;display:flex;align-items:center;justify-content:center}
.wipe b{opacity:0;color:var(--accent-ink);font-size:var(--step-head);font-weight:600;letter-spacing:-.04em}

/* motion start states (only with JS) */
/* reveals are set by site.js only on elements below the fold, so text is never left faded */
@media (prefers-reduced-motion:reduce){.js .rv{opacity:1;transform:none}*{transition:none!important}}

@media (max-width:560px){.svcs .cols{grid-template-columns:1fr}}
.lede2{grid-column:6/13;font-size:var(--step-lead);line-height:1.4}.lede2 a{color:var(--accent)}
@media (max-width:860px){.lede2{grid-column:1/-1}}
