/* ========== Shadow Trace Investigations ========== */
@font-face{font-family:"Rozha One";font-weight:400;font-display:swap;src:url(fonts/rozha-latin.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+20B9,U+2122,U+2212}
@font-face{font-family:"Rozha One";font-weight:400;font-display:swap;src:url(fonts/rozha-deva.woff2) format("woff2");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+25CC,U+A830-A839,U+A8E0-A8FF}
@font-face{font-family:"Mukta";font-weight:400;font-display:swap;src:url(fonts/mukta-latin-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+20B9,U+2122,U+2212}
@font-face{font-family:"Mukta";font-weight:600;font-display:swap;src:url(fonts/mukta-latin-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+20B9,U+2122,U+2212}
@font-face{font-family:"Mukta";font-weight:400;font-display:swap;src:url(fonts/mukta-deva-400.woff2) format("woff2");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+25CC,U+A830-A839,U+A8E0-A8FF}
@font-face{font-family:"Mukta";font-weight:600;font-display:swap;src:url(fonts/mukta-deva-600.woff2) format("woff2");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+25CC,U+A830-A839,U+A8E0-A8FF}

:root{
  --night:#0C1A24; --night-2:#132634; --prussian:#16405A;
  --bronze:#B9773A; --brass:#E2B57A; --brass-ink:#7A4A1C;
  --fog:#E7ECEF; --paper:#F3F5F6; --ink:#15222C; --grey:#4D5B66; --line:#CFD7DD;
  --serif:"Rozha One",Georgia,"Times New Roman",serif;
  --sans:"Mukta",-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --wrap:1200px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:90px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:1.0625rem;line-height:1.65}
.l-hi{font-size:1.1rem;line-height:1.8}
img,svg{max-width:100%;height:auto;display:block}
a{color:var(--prussian);text-underline-offset:3px}
a:hover{color:var(--bronze)}
:focus-visible{outline:3px solid var(--brass);outline-offset:3px}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.05;margin:0 0 .45em;letter-spacing:-.005em}
.l-hi h1,.l-hi h2,.l-hi h3{line-height:1.35;letter-spacing:0}
h1{font-size:clamp(2.6rem,6.4vw,5.4rem)}
h2{font-size:clamp(2rem,3.8vw,3.1rem)}
h3{font-size:1.5rem}
p{margin:0 0 1em;max-width:66ch}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip{position:absolute;left:-999px;top:10px;z-index:99;background:var(--brass);color:var(--night);padding:8px 14px}
.skip:focus{left:10px}

/* buttons */
.btns{display:flex;flex-wrap:wrap;gap:12px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 22px;border-radius:999px;font:600 1rem/1.2 var(--sans);text-decoration:none;border:1.5px solid transparent;cursor:pointer;transition:transform .15s,background .15s,color .15s}
.btn svg{width:18px;height:18px;flex:none}
.btn:hover{transform:translateY(-1px)}
.btn-brass{background:var(--brass);color:var(--night)}
.btn-brass:hover{background:#EDC892;color:var(--night)}
.btn-ghost{border-color:rgba(231,236,239,.55);color:#fff;background:transparent}
.btn-ghost:hover{border-color:var(--brass);color:var(--brass)}
.btn-ink{background:var(--night);color:#fff}
.btn-ink:hover{background:var(--prussian);color:#fff}

/* header */
.hd{position:sticky;top:0;z-index:50;background:rgba(12,26,36,.86);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(226,181,122,.18);color:#fff}
.hd-row{display:flex;align-items:center;gap:22px;min-height:70px}
.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;margin-right:auto}
.brand img{width:46px;height:46px}
.brand span{font:400 1.35rem/1 var(--serif);display:flex;flex-direction:column}
.brand small{font:600 .7rem/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--brass)}
.l-hi .brand small{letter-spacing:.04em;text-transform:none;font-size:.8rem}
.brand:hover{color:#fff}
.nav{display:flex;align-items:center;gap:4px}
.nav a{color:#DCE3E8;text-decoration:none;padding:8px 12px;border-radius:999px;font-weight:600}
.nav a:hover,.nav a[aria-current=page]{color:#fff;background:rgba(255,255,255,.08)}
.nav .lang{border:1px solid rgba(226,181,122,.5);color:var(--brass);margin-left:6px}
.nav .lang:hover{background:var(--brass);color:var(--night)}
.hd-call{display:flex;align-items:center;gap:8px;color:var(--night);background:var(--brass);padding:9px 16px;border-radius:999px;text-decoration:none;font-weight:600;white-space:nowrap}
.hd-call svg{width:17px;height:17px}
.hd-call:hover{background:#EDC892;color:var(--night)}
.burger{display:none;background:none;border:1px solid rgba(255,255,255,.3);border-radius:10px;width:44px;height:40px;cursor:pointer;position:relative}
.burger i{position:absolute;left:11px;right:11px;height:2px;background:#fff;transition:transform .2s}
.burger i:first-of-type{top:14px}.burger i:last-of-type{top:23px}
.burger[aria-expanded=true] i:first-of-type{transform:translateY(4.5px) rotate(45deg)}
.burger[aria-expanded=true] i:last-of-type{transform:translateY(-4.5px) rotate(-45deg)}

/* ===== HERO: light in the shadows ===== */
.hero{position:relative;background:var(--night);color:#fff;overflow:hidden;min-height:calc(100svh - 70px);display:flex;flex-direction:column;justify-content:flex-end;isolation:isolate}
.torch{position:absolute;inset:0 0 0 30%;z-index:-1;--x:52%;--y:40%;--r:clamp(170px,22vw,310px)}
.torch img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 35%}
.t-dark{filter:grayscale(1) brightness(.16) contrast(1.1)}
.t-lit{filter:saturate(.85) contrast(1.05) brightness(1.02);
  -webkit-mask-image:radial-gradient(circle var(--r) at var(--x) var(--y),#000 0,#000 35%,rgba(0,0,0,.55) 60%,transparent 100%);
          mask-image:radial-gradient(circle var(--r) at var(--x) var(--y),#000 0,#000 35%,rgba(0,0,0,.55) 60%,transparent 100%)}
.torch::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--night) 0%,rgba(12,26,36,.6) 22%,rgba(12,26,36,0) 48%),linear-gradient(0deg,var(--night) 0%,rgba(12,26,36,0) 30%)}
.hero>.wrap{width:100%}
.hero-in{padding-top:90px;padding-bottom:40px;position:relative}
.hero-kicker{display:flex;align-items:center;gap:14px;margin:0 0 28px;color:var(--brass);font-weight:600;font-size:.95rem;letter-spacing:.2em;text-transform:uppercase}
.l-hi .hero-kicker{letter-spacing:.05em;text-transform:none;font-size:1.05rem}
.hero-kicker img{width:40px;height:40px}
.hero-kicker span+span::before{content:"";display:inline-block;width:26px;height:1px;background:var(--bronze);vertical-align:middle;margin:0 14px 0 0}
.hero h1{font-size:clamp(3rem,8.2vw,7.4rem);max-width:11ch;margin-bottom:.32em}
.l-hi .hero h1 em::after{bottom:-.02em}
.l-hi .hero h1{font-size:clamp(2.6rem,6.6vw,5.8rem);max-width:13ch}
.hero h1 em{font-style:normal;color:var(--brass);position:relative}
.hero h1 em::after{content:"";position:absolute;left:0;right:0;bottom:.08em;height:.06em;background:var(--bronze);transform-origin:left;transform:scaleX(0);animation:ink 1.1s .5s cubic-bezier(.6,0,.2,1) forwards}
@keyframes ink{to{transform:scaleX(1)}}
.hero .lede{font-size:clamp(1.1rem,1.6vw,1.3rem);color:#C9D3DA;max-width:46ch;margin-bottom:28px}
.hint{margin:26px 0 0;color:#7F909C;font-size:.9rem;display:flex;align-items:center;gap:10px}
.hint::before{content:"";width:22px;height:22px;border-radius:50%;border:1.5px solid var(--brass);box-shadow:0 0 18px 4px rgba(226,181,122,.35)}
.hstats{display:grid;grid-template-columns:repeat(4,1fr);margin:0 auto;padding-bottom:26px;gap:0}
.hstats div{display:flex;flex-direction:column-reverse;border-top:1px solid rgba(226,181,122,.35);padding:16px 16px 0 0}
.hstats dt{color:#9FB0BC;font-size:.92rem}
.hstats dd{margin:0;font:400 clamp(1.9rem,3.4vw,2.8rem)/1 var(--serif);color:#fff}
@media (hover:none),(max-width:760px){
  .hint{display:none}
}
@media (prefers-reduced-motion:no-preference){
  .torch.auto{animation:drift 14s ease-in-out infinite}
}
@keyframes drift{0%,100%{--x:55%;--y:34%}25%{--x:40%;--y:28%}50%{--x:62%;--y:55%}75%{--x:46%;--y:50%}}
@property --x{syntax:"<percentage>";inherits:true;initial-value:52%}
@property --y{syntax:"<percentage>";inherits:true;initial-value:42%}

/* ===== REDACTED statement ===== */
.redact{background:var(--fog);padding:96px 0}
.rd-line{font:400 clamp(1.9rem,4.4vw,3.6rem)/1.22 var(--serif);max-width:24ch;margin:0 0 .6em;color:var(--night)}
.l-hi .rd-line{line-height:1.55;max-width:26ch}
.rd{background:none;color:inherit;position:relative;white-space:nowrap}
.rd span{position:relative}
.rd::after{content:"";position:absolute;left:-.12em;right:-.12em;top:.12em;bottom:.02em;background:var(--night);transform-origin:right;transition:transform .9s cubic-bezier(.7,0,.2,1)}
.l-hi .rd::after{top:.28em;bottom:.12em}
.rd:nth-of-type(2)::after{transition-delay:.25s}.rd:nth-of-type(3)::after{transition-delay:.5s}
.rd span{color:var(--bronze)}
.redact.open .rd::after{transform:scaleX(0)}
.rd-note{color:var(--grey);font-size:1.15rem}
@media (prefers-reduced-motion:reduce){.rd::after{display:none}}

/* sections */
.sec{padding:88px 0}
.head{max-width:60ch;margin-bottom:40px}
.head p{color:var(--grey);font-size:1.12rem}
.dark{background:var(--night);color:#E3E9ED}
.dark h2,.dark h3{color:#fff}
.dark .head p{color:#9FB0BC}
.paper{background:var(--fog)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.sticky{position:sticky;top:100px}
.board{border-radius:14px;margin-top:24px;filter:saturate(.8)}

/* ===== Services index ===== */
.ixwrap{display:grid;grid-template-columns:1fr 1fr;gap:56px;position:relative}
.ixg h3{font:600 .9rem var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--brass-ink);margin:0 0 6px}
.l-hi .ixg h3{letter-spacing:.02em;text-transform:none;font-size:1.05rem}
.ixl{list-style:none;margin:0;padding:0;border-top:2px solid var(--night)}
.ix{display:grid;grid-template-columns:1fr auto;align-items:center;gap:16px;padding:16px 4px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.ix-thumb{display:none}
.ix-txt strong{display:block;font:400 clamp(1.35rem,2.1vw,1.75rem)/1.15 var(--serif);transition:color .2s,transform .25s}
.l-hi .ix-txt strong{line-height:1.45}
.ix-txt span{color:var(--grey);font-size:.98rem;line-height:1.45;display:block;margin-top:4px}
.ix-go{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:var(--night);transition:background .2s,border-color .2s,transform .2s}
.ix-go svg{width:18px;height:18px}
.ix:hover{color:var(--ink)}
.ix:hover strong{color:var(--prussian);transform:translateX(6px)}
.ix:hover .ix-go{background:var(--brass);border-color:var(--brass);transform:rotate(-35deg)}
.ix-float{position:fixed;left:0;top:0;width:280px;aspect-ratio:3/2;pointer-events:none;z-index:40;border-radius:12px;overflow:hidden;opacity:0;transform:translate(-50%,-50%) scale(.85) rotate(-3deg);transition:opacity .2s,transform .25s;box-shadow:0 30px 60px -20px rgba(12,26,36,.55)}
.ix-float img{width:100%;height:100%;object-fit:cover}
.ix-float.on{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(-3deg)}
@media (hover:none),(max-width:900px){
  .ix-float{display:none}
  .ix{grid-template-columns:84px 1fr auto}
  .ix-thumb{display:block;width:84px;aspect-ratio:1;border-radius:10px;overflow:hidden}
  .ix-thumb img{width:100%;height:100%;object-fit:cover}
}

/* ===== Pillars ===== */
.pls{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid rgba(226,181,122,.3)}
.pl{padding:34px 30px 10px 0;border-right:1px solid rgba(226,181,122,.18);margin-right:30px}
.pl:last-child{border-right:0;margin-right:0}
.pl h3{font-size:clamp(2.6rem,5vw,4.2rem);color:var(--brass);margin-bottom:.3em}
.pl p{color:#C3CED6}
.pl ul{list-style:none;margin:18px 0 0;padding:0}
.pl li{padding:8px 0 8px 22px;position:relative;color:#E3E9ED;border-top:1px dashed rgba(226,181,122,.22)}
.pl li::before{content:"";position:absolute;left:0;top:17px;width:9px;height:9px;border:1.5px solid var(--brass);border-radius:50%}

/* ===== Trace (process) ===== */
.trace{position:relative;padding-left:56px}
.trace-svg{position:absolute;left:12px;top:0;width:20px;height:100%;overflow:visible}
.trace-bg{stroke:var(--line);stroke-width:2;fill:none;vector-effect:non-scaling-stroke}
.trace-fg{stroke:var(--bronze);stroke-width:3;fill:none;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:var(--p,1)}
.steps{list-style:none;margin:0;padding:0}
.steps li{position:relative;padding:0 0 46px}
.steps li:last-child{padding-bottom:0}
.st-n{position:absolute;left:-56px;top:0;width:44px;height:44px;border-radius:50%;background:var(--paper);border:2px solid var(--bronze);display:grid;place-items:center;font:400 1.3rem/1 var(--serif);color:var(--night)}
.steps h3{font-size:1.75rem;padding-top:4px}
.steps p{color:var(--grey)}

/* ===== Offices map ===== */
.offices{display:grid;grid-template-columns:minmax(260px,420px) 1fr;gap:48px;align-items:center}
.omap{width:100%;background:var(--night);border-radius:18px}
.omap .grid path{stroke:rgba(226,181,122,.08);stroke-width:1}
.route{fill:none;stroke:var(--brass);stroke-width:2.5;stroke-dasharray:.012 .012;stroke-linecap:round}
.mp circle{fill:var(--brass)}
.mp .mp-halo{fill:rgba(226,181,122,.18)}
.mp text{fill:#fff;font:600 17px var(--sans)}
.rg{fill:rgba(226,181,122,.32);font:600 12px var(--sans);letter-spacing:.18em;text-anchor:middle}
.compass{fill:#9FB0BC;font:600 14px var(--sans);text-anchor:middle}
.compass-a{stroke:#9FB0BC;fill:none;stroke-width:1.5}
@media (prefers-reduced-motion:no-preference){.mp-halo{animation:halo 2.4s ease-out infinite;transform-box:fill-box;transform-origin:center}.mp:nth-of-type(2) .mp-halo{animation-delay:.8s}.mp:nth-of-type(3) .mp-halo{animation-delay:1.6s}}
@keyframes halo{0%{transform:scale(.5);opacity:1}100%{transform:scale(1.8);opacity:0}}
.oc-list{display:grid;gap:16px}
.oc{font-style:normal;display:grid;grid-template-columns:150px 1fr auto;gap:4px 20px;align-items:baseline;padding:18px 0;border-bottom:1px solid var(--line)}
.oc-city{font:400 1.7rem/1.1 var(--serif);grid-row:1/3}
.l-hi .oc-city{line-height:1.4}
.oc-area{color:var(--brass-ink);font-weight:600;font-size:.9rem;letter-spacing:.08em;text-transform:uppercase}
.l-hi .oc-area{text-transform:none;letter-spacing:0}
.oc-lines{grid-column:2;color:var(--grey);line-height:1.5}
.oc a{grid-column:3;grid-row:1/3;align-self:center;display:inline-flex;gap:6px;align-items:center;font-weight:600;text-decoration:none;white-space:nowrap}
.oc a svg{width:16px;height:16px}

/* FAQ + form */
.faq{border-top:2px solid var(--night)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:18px 44px 18px 0;font-weight:600;font-size:1.1rem;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:6px;top:12px;font:400 1.8rem/1 var(--serif);color:var(--bronze);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{color:var(--grey);padding-bottom:8px}
.more{margin-top:18px;font-weight:600}
.enq{background:var(--night);color:#E3E9ED;border-radius:20px;padding:32px;position:sticky;top:100px;overflow:hidden}
.enq::before{content:"";position:absolute;right:-90px;top:-90px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(226,181,122,.28),transparent 70%)}
.enq h2{color:#fff;font-size:2.1rem;margin-bottom:.2em}
.enq p{color:#9FB0BC;font-size:.98rem}
.enq label{display:block;margin:14px 0 5px;font-weight:600;font-size:.95rem}
.enq input,.enq select,.enq textarea{width:100%;font:inherit;font-size:1rem;padding:11px 14px;border-radius:10px;border:1px solid #2B4253;background:#0F2230;color:#fff}
.enq textarea{min-height:100px;resize:vertical}
.enq input:focus,.enq select:focus,.enq textarea:focus{outline:2px solid var(--brass);outline-offset:0;border-color:transparent}
.enq .btns{margin-top:18px}
.err{color:#FFB4A0;min-height:1.2em;margin:8px 0 0;font-size:.92rem}

/* CTA + footer */
.cta{background:linear-gradient(120deg,var(--prussian),var(--night));color:#fff}
.cta-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;padding:64px 20px}
.cta h2{color:#fff;max-width:20ch;margin-bottom:.2em}
.cta p{color:#B9C6CF;margin:0}
.ft{background:#081219;color:#9FB0BC;padding:60px 0 120px;font-size:.96rem}
.ft a{color:#DCE3E8;text-decoration:none}
.ft a:hover{color:var(--brass)}
.ft-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;padding-bottom:30px;border-bottom:1px solid #1C2C38;margin-bottom:34px}
.brand-lg img{width:84px;height:84px}
.brand-lg span{font-size:1.9rem}
.motto{display:flex;gap:0;margin:0;font:400 clamp(1.4rem,2.6vw,2rem)/1 var(--serif);color:#fff}
.motto span+span::before{content:"";display:inline-block;width:30px;height:1px;background:var(--bronze);vertical-align:middle;margin:0 16px}
.ft-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.1fr;gap:34px}
.ft h2{font:600 1rem var(--sans);color:#fff;margin-bottom:12px}
.ft ul{list-style:none;margin:0;padding:0}
.ft li{margin-bottom:7px}
.ft-contact a{display:inline-flex;align-items:center;gap:8px}
.ft-contact svg{width:16px;height:16px;color:var(--brass)}
.ft-off li{margin-bottom:14px;line-height:1.5}
.ft-off b{color:#fff}
.ft-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;border-top:1px solid #1C2C38;margin-top:34px;padding-top:20px;font-size:.9rem}
.ft-base a{margin-left:16px}
.dock{display:none}

/* ===== Inner pages ===== */
.ph{background:var(--night);color:#fff;padding:34px 0 64px;position:relative;overflow:hidden}
.ph::before{content:"";position:absolute;right:-12%;top:-40%;width:60%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(226,181,122,.14),transparent 65%)}
.ph h1{color:#fff;font-size:clamp(2.4rem,5.4vw,4.4rem)}
.ph .lede{color:#C3CED6;font-size:1.2rem;max-width:52ch;margin:0}
.ph-grid{display:grid;grid-template-columns:1fr 460px;gap:48px;align-items:center;position:relative}
.ph-grp{color:var(--brass);font-weight:600;margin:0 0 10px;letter-spacing:.14em;text-transform:uppercase;font-size:.85rem}
.l-hi .ph-grp{letter-spacing:0;text-transform:none;font-size:1rem}
.ph-photo{margin:0;border-radius:18px;overflow:hidden;position:relative;aspect-ratio:3/2;box-shadow:0 40px 70px -30px rgba(0,0,0,.8)}
.ph-photo img{width:100%;height:100%;object-fit:cover}
.ph-photo::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 60% 45%,transparent 40%,rgba(12,26,36,.75) 100%)}
.ph-seal{margin:0;justify-self:center}
.ph-seal img{width:300px;filter:drop-shadow(0 30px 40px rgba(0,0,0,.6))}
.motto-w{display:inline-block;font:400 1.6rem/1.2 var(--serif);color:var(--brass);margin-right:22px}
.crumbs{font-size:.92rem;margin-bottom:26px;color:#8FA1AE;position:relative}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.crumbs li+li::before{content:"/";margin-right:6px;color:#4F6575}
.crumbs a{color:#DCE3E8}
.svc{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:56px;align-items:start}
.svc h2{font-size:clamp(1.7rem,2.8vw,2.2rem);margin-top:1.5em}
.intro{font-size:1.25rem;line-height:1.6;color:var(--night)}
.ticks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 28px}
.ticks li{position:relative;padding:11px 0 11px 30px;border-bottom:1px solid var(--line)}
.ticks li::before{content:"";position:absolute;left:2px;top:19px;width:14px;height:7px;border:solid var(--bronze);border-width:0 0 2.5px 2.5px;transform:rotate(-45deg)}
.when{list-style:none;margin:0;padding:0;counter-reset:w}
.when li{position:relative;padding:14px 18px 14px 58px;background:#fff;border-radius:12px;margin-bottom:10px;border:1px solid var(--line)}
.when li::before{content:"";position:absolute;left:18px;top:50%;width:24px;height:24px;margin-top:-12px;border-radius:50%;background:radial-gradient(circle,var(--brass) 0 4px,transparent 5px),radial-gradient(circle,rgba(226,181,122,.25) 0 12px,transparent 12px)}
.dossier{position:relative;background:#fff;border:1px solid var(--line);border-radius:4px 18px 18px 18px;padding:26px 26px 26px 30px;box-shadow:8px 8px 0 var(--fog),9px 9px 0 var(--line)}
.dossier::before{content:"";position:absolute;left:-1px;top:-14px;width:120px;height:14px;background:#fff;border:1px solid var(--line);border-bottom:0;border-radius:8px 8px 0 0}
.dossier p{margin:0;font-size:1.08rem}
.aside{position:sticky;top:100px;background:var(--night);color:#C3CED6;border-radius:20px;padding:28px;display:grid;gap:10px}
.aside h2{color:#fff;font-size:1.8rem;margin:0}
.aside p{font-size:.98rem;margin:0 0 8px}
.aside .mail{color:var(--brass);font-size:.9rem;word-break:break-all;margin-top:4px}
.rel{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.rc{display:block;text-decoration:none;color:var(--ink);background:#fff;border-radius:16px;overflow:hidden;border:1px solid var(--line);transition:transform .2s,box-shadow .2s}
.rc img{width:100%;aspect-ratio:3/2;object-fit:cover}
.rc strong{display:block;font:400 1.35rem/1.2 var(--serif);padding:16px 18px 4px}
.rc span{display:block;padding:0 18px 18px;color:var(--grey);font-size:.95rem}
.rc:hover{transform:translateY(-4px);box-shadow:0 24px 40px -24px rgba(12,26,36,.5);color:var(--ink)}
.prose{max-width:68ch}
.prose p{font-size:1.1rem}
.tall{margin:0;border-radius:18px;overflow:hidden}
.dl{margin:0;border-top:2px solid var(--night)}
.dl div{padding:18px 0;border-bottom:1px solid var(--line)}
.dl dt{color:var(--grey);font-weight:600;font-size:.92rem}
.dl dd{margin:4px 0 0;font:400 1.5rem/1.3 var(--serif);word-break:break-word}
.dl dd a{color:var(--night);text-decoration-color:var(--line)}
.smap{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.smap h2{font-size:1.6rem;border-bottom:2px solid var(--night);padding-bottom:8px}
.smap ul{list-style:none;margin:0;padding:0}
.smap li{padding:8px 0;border-bottom:1px solid var(--line)}

/* ===== responsive ===== */
@media (max-width:1060px){
  .nav{position:fixed;inset:70px 0 auto 0;background:var(--night);flex-direction:column;align-items:stretch;padding:12px 20px 24px;gap:2px;transform:translateY(-120%);transition:transform .3s;border-bottom:1px solid rgba(226,181,122,.25)}
  .nav.open{transform:none}
  .nav a{padding:14px 6px;border-radius:0;border-bottom:1px solid #1C2C38;font-size:1.1rem}
  .nav .lang{margin:12px 0 0;text-align:center;border-radius:999px}
  .burger{display:block}
  .ph-grid,.svc,.two,.offices{grid-template-columns:1fr}
  .sticky,.aside{position:static}
  .enq{position:relative;top:auto}
  .ft-grid{grid-template-columns:1fr 1fr}
  .pls{grid-template-columns:1fr}
  .pl{border-right:0;margin-right:0;border-bottom:1px solid rgba(226,181,122,.18);padding-right:0}
  .ph-photo{max-width:560px}
}
@media (max-width:760px){
  body{font-size:1.02rem}
  .hd-call span{display:none}
  .hd-call{padding:10px 12px}
  .hero{min-height:auto}
  .hero-in{padding-top:56px}
  .torch{inset:0}
  .torch img{object-position:58% 30%}
  .torch::after{background:linear-gradient(0deg,var(--night) 8%,rgba(12,26,36,.75) 55%,rgba(12,26,36,.35) 100%)}
  .hero-kicker{font-size:.78rem;letter-spacing:.12em;gap:10px}
  .hero-kicker span+span::before{width:14px;margin-right:10px}
  .hstats{grid-template-columns:1fr 1fr}
  .hstats div{padding-bottom:14px}
  .sec{padding:64px 0}
  .redact{padding:68px 0}
  .ixwrap{grid-template-columns:1fr;gap:40px}
  .ix{grid-template-columns:64px 1fr;gap:14px}
  .ix-thumb{width:64px}
  .ix-go{display:none}
  .ticks{grid-template-columns:1fr}
  .rel{grid-template-columns:1fr}
  .oc{grid-template-columns:1fr;gap:2px}
  .oc-city,.oc-lines,.oc a{grid-column:auto;grid-row:auto}
  .oc a{justify-self:start;margin-top:8px}
  .smap{grid-template-columns:1fr}
  .ft-grid{grid-template-columns:1fr}
  .ft-base a{margin:0 14px 0 0}
  .motto span+span::before{width:14px;margin:0 10px}
  .enq{padding:24px}
  .dock{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:60;background:rgba(12,26,36,.94);backdrop-filter:blur(8px);border:1px solid rgba(226,181,122,.35);border-radius:999px;padding:6px;gap:6px;box-shadow:0 12px 30px rgba(0,0,0,.35)}
  .dock a{display:flex;align-items:center;justify-content:center;gap:8px;padding:11px;border-radius:999px;color:#fff;text-decoration:none;font-weight:600}
  .dock a:first-child{background:var(--brass);color:var(--night)}
  .dock svg{width:18px;height:18px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
@media print{.hd,.dock,.cta,.ft,.enq,.aside{display:none}}
