/* ORIZ — stylesheet. Design tokens are at the top (:root). */
/* ORIZ DESIGN SYSTEM — tokens first, no component styles above them. */
:root{
  --limestone:#E9E6E0; --paper:#F3F1ED; --ink:#2D2720; --charcoal:#2D2720;
  --logo-dark:#2D2720; --logo-light:#E1DFDE;
  --stone:#8E887E; --taupe:#C7C1B7; --bronze:#7C6B52;
  --line:rgba(45,39,32,.16); --line-soft:rgba(45,39,32,.09); --line-inv:rgba(233,230,224,.20);
  --bg:var(--limestone); --fg:var(--ink);
  --sans:"Archivo","Helvetica Neue",Arial,sans-serif;
  --ar:"IBM Plex Sans Arabic","Archivo",system-ui,sans-serif;
  --f:var(--sans);
  --t-display:clamp(2.9rem,7.4vw,7.2rem);
  --t-h1:clamp(2.1rem,4.6vw,4rem);
  --t-h2:clamp(1.55rem,2.9vw,2.5rem);
  --t-h3:clamp(1.12rem,1.5vw,1.375rem);
  --t-body:clamp(1rem,.42vw + .9rem,1.1rem);
  --t-sm:.875rem; --t-xs:.75rem;
  --s-1:.5rem; --s-2:1rem; --s-3:1.5rem; --s-4:2rem; --s-5:3rem; --s-6:4rem; --s-7:6rem;
  --gutter:clamp(1.25rem,4.5vw,4.5rem);
  --sec:clamp(5rem,11vh + 3rem,10rem);
  --max:1560px; --col-gap:clamp(1rem,1.8vw,2rem);
  --ease:cubic-bezier(.22,.68,.16,1);
}
:root:not([data-theme="light"]){color-scheme:light}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--bg:var(--limestone);--fg:var(--ink)}}
:root[data-theme="dark"]{--bg:var(--limestone);--fg:var(--ink)}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--f);font-size:var(--t-body);
  font-weight:400;line-height:1.62;letter-spacing:-.005em;-webkit-font-smoothing:antialiased;overflow-x:hidden}
html[dir="rtl"] body{font-family:var(--ar);font-weight:300;line-height:1.85}
html[dir="rtl"] *{letter-spacing:0 !important}
img,svg,video{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
::selection{background:var(--ink);color:var(--limestone)}
h1,h2,h3,h4{margin:0;font-weight:400;letter-spacing:-.028em;line-height:1.05}
html[dir="rtl"] h1,html[dir="rtl"] h2,html[dir="rtl"] h3{line-height:1.32;font-weight:300}
p,dd,dl{margin:0}
.wrap{max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}
.sec{padding-block:var(--sec)}
.sec-t{padding-block:clamp(3.5rem,7vw,6rem)}
.display{font-size:var(--t-display);letter-spacing:-.042em}
html[dir="rtl"] .display{font-weight:250}
.h1{font-size:var(--t-h1)} .h2{font-size:var(--t-h2)} .h3{font-size:var(--t-h3);letter-spacing:-.01em}
.lede{font-size:clamp(1.15rem,1.7vw,1.5rem);line-height:1.5;letter-spacing:-.018em;max-width:34ch}
html[dir="rtl"] .lede{line-height:1.72;max-width:40ch}
.meta{font-size:var(--t-sm);color:var(--stone)}
.num{font-size:var(--t-sm);color:var(--stone);font-variant-numeric:tabular-nums}
.measure{max-width:62ch}
.mute{color:var(--stone)}
.ph{display:inline-flex;align-items:center;gap:.55em;font-size:var(--t-xs);color:var(--stone);
  border:1px solid var(--line);padding:.35em .8em;border-radius:99px}
.ph::before{content:"";width:5px;height:5px;background:var(--bronze);border-radius:99px;flex:none}
/* NAV */
.nav{position:fixed;inset-block-start:0;inset-inline:0;z-index:60;border-block-end:1px solid transparent;
  background:transparent;transition:background .5s var(--ease),border-color .5s var(--ease)}
.nav.is-solid{background:rgba(233,230,224,.9);backdrop-filter:blur(14px);border-block-end-color:var(--line)}
.nav__in{max-width:var(--max);margin-inline:auto;padding:clamp(1rem,2vw,1.5rem) var(--gutter);
  display:flex;align-items:center;justify-content:space-between;gap:var(--s-4)}
.logo{display:block;line-height:0}
.wm{display:block;height:clamp(22px,2.1vw,28px);width:auto}
.wm--l{display:none}
.nav--over .wm--d{display:none}
.nav--over .wm--l{display:block}
.wm--foot{display:block;height:clamp(34px,3.6vw,48px);width:auto;align-self:flex-start;margin-block-end:.2rem}
.menu .wm{position:absolute;inset-block-start:1.5rem;inset-inline-start:var(--gutter);height:26px}
.logo small{display:block;font-size:.58rem;letter-spacing:.24em !important;color:var(--stone);margin-block-start:.55em;font-weight:400}
html[dir="rtl"] .logo small{font-family:var(--ar);letter-spacing:0 !important}
.nav__links{display:flex;align-items:center;gap:clamp(1.1rem,2.2vw,2.3rem)}
.nav__links a{font-size:var(--t-sm);position:relative;padding-block:.35em;opacity:.8;transition:opacity .3s}
.nav__links a::after{content:"";position:absolute;inset-inline-start:0;inset-block-end:0;width:0;height:1px;
  background:currentColor;transition:width .45s var(--ease)}
.nav__links a:hover{opacity:1}
.nav__links a:hover::after,.nav__links a[aria-current="page"]::after{width:100%}
.nav__side{display:flex;align-items:center;gap:clamp(.8rem,1.6vw,1.4rem)}
.lang{display:flex;align-items:center;gap:.45em;font-size:var(--t-xs);color:var(--stone)}
.lang button{background:none;border:0;padding:.3em .1em;cursor:pointer;color:var(--stone);
  font-family:var(--sans);font-size:var(--t-xs)}
.lang button[aria-pressed="true"]{color:var(--ink);border-block-end:1px solid var(--bronze)}
.btn{display:inline-flex;align-items:center;gap:.65em;border:1px solid var(--ink);color:var(--ink);
  padding:.72em 1.35em;font-size:var(--t-sm);background:transparent;cursor:pointer;
  transition:background .45s var(--ease),color .45s var(--ease);white-space:nowrap}
.btn:hover{background:var(--ink);color:var(--limestone)}
.btn-inv{border-color:var(--limestone);color:var(--limestone)}
.btn-inv:hover{background:var(--limestone);color:var(--ink)}
.btn-pl{border:0;padding-inline:0;border-block-end:1px solid var(--line);background:none}
.btn-pl:hover{background:none;color:var(--ink);border-block-end-color:var(--ink)}
.burger{display:none;width:44px;height:44px;border:1px solid var(--line);background:none;cursor:pointer;
  flex-direction:column;align-items:center;justify-content:center;gap:5px}
.burger i{width:16px;height:1px;background:var(--ink);display:block}
.menu{position:fixed;inset:0;z-index:70;background:var(--limestone);display:none;flex-direction:column;
  padding:var(--gutter);padding-block-start:5.5rem}
.menu.is-open{display:flex}
.menu nav{display:flex;flex-direction:column}
.menu a{display:block;font-size:clamp(1.8rem,7.5vw,2.8rem);padding-block:.3em;border-block-end:1px solid var(--line-soft)}
.menu__x{position:absolute;inset-block-start:1.1rem;inset-inline-end:var(--gutter);background:none;border:0;
  font-size:1.7rem;line-height:1;cursor:pointer}
/* HERO */
.hero{min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;position:relative;
  overflow:hidden;padding-block-end:clamp(4.5rem,10vh,6.5rem)}
.plan{position:absolute;inset:0;width:100%;height:100%;opacity:.48}
.plan *{fill:none;stroke:var(--ink);stroke-width:.9;vector-effect:non-scaling-stroke;
  stroke-dasharray:var(--len,1200);stroke-dashoffset:var(--len,1200);
  animation:draw 2.8s var(--ease) forwards;animation-delay:calc(var(--i,0)*.15s + .2s)}
.plan .hair{stroke-width:.5;opacity:.45}
@keyframes draw{to{stroke-dashoffset:0}}
.hero__in{position:relative;z-index:2;width:100%}
.hero__grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--col-gap);align-items:end}
.hero h1{grid-column:1/span 9;font-size:var(--t-display);letter-spacing:-.045em}
.hero__sub{grid-column:1/span 5;margin-block-start:var(--s-3)}
.hero__cta{grid-column:9/span 4;display:flex;justify-content:flex-end;align-items:end}
.hero__scroll{position:absolute;inset-block-end:clamp(4.5rem,10vh,6.5rem);inset-inline-end:var(--gutter);z-index:2;
  font-size:var(--t-xs);color:var(--stone);writing-mode:vertical-rl;letter-spacing:.24em}
html[dir="rtl"] .hero__scroll{display:none}
.mask{display:block;overflow:hidden}
.mask>span{display:block;transform:translateY(105%);animation:rise 1.3s var(--ease) forwards;
  animation-delay:calc(var(--i,0)*.1s + .12s)}
@keyframes rise{to{transform:translateY(0)}}
/* MATERIAL STAND-INS — swap for photography by setting background-image on .mat */
.mat{position:relative;overflow:hidden;background-color:var(--taupe);background-size:cover;background-position:center}
.mat::before{content:"";position:absolute;inset:0;z-index:1;opacity:.6;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='.38'/%3E%3C/svg%3E")}
.mat[data-mat="limestone"]{background-image:linear-gradient(152deg,#DAD5CB,#CFC9BE 38%,#E1DDD4 70%,#C9C3B7)}
.mat[data-mat="travertine"]{background-image:repeating-linear-gradient(174deg,#D8D1C4 0 7px,#CFC7B8 7px 11px,#DED8CC 11px 19px)}
.mat[data-mat="oak"]{background-image:repeating-linear-gradient(91deg,#B9A183 0 3px,#AE9576 3px 5px,#C2AB8E 5px 13px,#B29A7C 13px 16px)}
.mat[data-mat="walnut"]{background-image:repeating-linear-gradient(88deg,#6E5743 0 4px,#634E3B 4px 7px,#7A6249 7px 15px)}
.mat[data-mat="plaster"]{background-image:radial-gradient(120% 90% at 20% 10%,#EDE9E1,#D9D4CA 60%,#C8C2B7)}
.mat[data-mat="bronze"]{background-image:linear-gradient(120deg,#8C7857,#6E5C41 30%,#A18B66 55%,#6B5A40 80%,#8E7A59)}
.mat[data-mat="charcoal"]{background-image:linear-gradient(150deg,#3A3834,#232220 60%,#2E2C28)}
.mat[data-mat="terrazzo"]{background-color:#DCD7CD;background-size:180px 180px;
  background-image:radial-gradient(circle at 12% 22%,#A79C88 0 4px,transparent 5px),radial-gradient(circle at 63% 41%,#8E8878 0 6px,transparent 7px),radial-gradient(circle at 34% 78%,#BDB3A0 0 5px,transparent 6px),radial-gradient(circle at 82% 84%,#9C9382 0 4px,transparent 5px),radial-gradient(circle at 48% 12%,#B0A691 0 3px,transparent 4px)}
.mat[data-mat="glass"]{background-image:linear-gradient(105deg,#CFD2CE,#E3E5E0 25%,#BFC4C0 55%,#DDE0DB)}
.mat[data-mat="stone-dark"]{background-image:linear-gradient(160deg,#575249,#3E3A34 55%,#635C51)}
.cap{position:absolute;z-index:3;inset-block-end:.75rem;inset-inline-start:.9rem;font-size:var(--t-xs);
  color:rgba(255,255,255,.9);text-shadow:0 1px 8px rgba(0,0,0,.5);max-width:80%;
  opacity:0;transform:translateY(4px);transition:opacity .5s var(--ease),transform .5s var(--ease);pointer-events:none}
.mat:hover .cap,.pj:hover .cap{opacity:1;transform:none}
/* PHOTOGRAPHY */
.shot{margin:0;position:absolute;inset:0;overflow:hidden}
.shot img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.4s var(--ease)}
.pj:hover .pj__media .shot img{transform:scale(1.035)}
.detail:hover .shot img{transform:scale(1.06)}
.shot:hover .cap{opacity:1;transform:none}
.hero.is-photo{color:var(--limestone)}
.hero__img{position:absolute;inset:0;z-index:0;overflow:hidden}
.hero__img img{width:100%;height:100%;object-fit:cover;animation:heroIn 2.6s var(--ease) both}
@keyframes heroIn{from{transform:scale(1.07)}to{transform:scale(1)}}
.hero.is-photo::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(to bottom,rgba(18,17,15,.55),rgba(18,17,15,0) 24%),linear-gradient(to top,rgba(18,17,15,.74),rgba(18,17,15,.22) 48%,rgba(18,17,15,.06))}
.hero.is-photo .hero__sub{color:rgba(233,230,224,.88)}
.hero.is-photo .hero__scroll{color:rgba(233,230,224,.72)}
.hero.is-photo .btn{border-color:var(--limestone);color:var(--limestone)}
.hero.is-photo .btn:hover{background:var(--limestone);color:var(--ink)}
.nav--over{color:var(--limestone)}
.nav--over .nav__links a{opacity:.95}
.nav--over .logo small{color:rgba(233,230,224,.65)}
.nav--over .lang button{color:rgba(233,230,224,.72)}
.nav--over .lang button[aria-pressed="true"]{color:var(--limestone);border-block-end-color:var(--limestone)}
.nav--over .btn{border-color:var(--limestone);color:var(--limestone)}
.nav--over .btn:hover{background:var(--limestone);color:var(--ink)}
.nav--over .burger{border-color:rgba(233,230,224,.45)}
.nav--over .burger i{background:var(--limestone)}
.rail{transition:opacity .6s var(--ease)}
.rail[data-hidden="1"]{opacity:0;pointer-events:none}
.ratio{position:relative;width:100%}
.ratio>*{position:absolute;inset:0;width:100%;height:100%}
.r-43{padding-block-start:75%}.r-32{padding-block-start:66.66%}.r-11{padding-block-start:100%}
.r-45{padding-block-start:125%}.r-34{padding-block-start:133%}.r-219{padding-block-start:44%}
/* GRID */
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--col-gap)}
.g-12{grid-column:1/span 12}.g-8{grid-column:1/span 8}.g-7{grid-column:1/span 7}
.g-6{grid-column:span 6}.g-5{grid-column:span 5}.g-4{grid-column:span 4}.g-3{grid-column:span 3}
.g-3.off-9{grid-column:10/span 3}.g-4.off-7{grid-column:8/span 4}.g-4.off-9{grid-column:9/span 4}.g-5.off-7{grid-column:8/span 5}.g-6.off-5{grid-column:6/span 6}
/* PROJECTS */
.pjs{display:flex;flex-direction:column;gap:clamp(4rem,9vw,9rem)}
.pj{display:block}
.pj__media{overflow:hidden}
.pj__media .mat{transition:transform 1.4s var(--ease)}
.pj:hover .pj__media .mat{transform:scale(1.035)}
.pj__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--s-2);
  margin-block-start:var(--s-2);padding-block-start:var(--s-2);border-block-start:1px solid var(--line)}
.pj__name{font-size:clamp(1.3rem,2.2vw,2rem);letter-spacing:-.025em}
.pj__facts{display:flex;gap:var(--s-3);flex-wrap:wrap;color:var(--stone);font-size:var(--t-sm)}
/* EDITORIAL */
.statement{font-size:clamp(1.6rem,3.5vw,3rem);line-height:1.18;letter-spacing:-.032em;max-width:20ch}
html[dir="rtl"] .statement{line-height:1.5;max-width:24ch;font-weight:300}
.dark{background:var(--charcoal);color:var(--limestone)}
.dark .meta,.dark .mute{color:var(--taupe)}
.dark .ph{border-color:var(--line-inv);color:var(--taupe)}
.cell{border-block-start:1px solid var(--line);padding-block-start:var(--s-2)}
.dark .cell{border-block-start-color:var(--line-inv)}
.rows{border-block-start:1px solid var(--line)}
.row{display:grid;grid-template-columns:5rem 1fr auto;gap:var(--s-2);align-items:baseline;width:100%;
  padding-block:clamp(1.15rem,2vw,1.7rem);background:none;cursor:pointer;text-align:start;
  border:0;border-block-end:1px solid var(--line)}
.row:hover .row__t{opacity:.55}
.row__n{color:var(--stone);font-size:var(--t-sm);font-variant-numeric:tabular-nums}
.row__t{font-size:clamp(1.15rem,2.1vw,1.8rem);letter-spacing:-.022em;transition:opacity .4s}
.row__x{color:var(--stone);font-size:1.1rem;line-height:1;transition:transform .45s var(--ease)}
.row[aria-expanded="true"] .row__x{transform:rotate(45deg)}
.acc{height:0;overflow:hidden;transition:height .55s var(--ease)}
.acc>div{padding-block:0 clamp(1.25rem,2.4vw,2rem);max-width:60ch;color:var(--stone)}
.step{display:grid;grid-template-columns:6rem 1fr;gap:var(--col-gap);align-items:start;
  padding-block:clamp(1.5rem,3vw,2.5rem);border-block-start:1px solid var(--line)}
.step__n{font-size:var(--t-sm);color:var(--bronze);font-variant-numeric:tabular-nums;padding-block-start:.5em}
.step__t{font-size:clamp(1.15rem,1.9vw,1.6rem);letter-spacing:-.02em;margin-block-end:.5rem}
.details{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--col-gap)}
.detail{grid-column:span 3}
.detail .ratio{margin-block-end:.7rem}
.detail .mat{transition:transform 1.2s var(--ease);filter:saturate(.92)}
.detail:hover .mat{transform:scale(1.06);filter:saturate(1.04)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--col-gap);
  border-block-start:1px solid var(--line);padding-block-start:var(--s-4)}
.stat__v{font-size:clamp(2rem,4vw,3.4rem);letter-spacing:-.04em;color:var(--taupe);line-height:1}
.stat__l{font-size:var(--t-sm);color:var(--stone);margin-block-start:.7rem}
/* FORM */
.form{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(1.25rem,2.5vw,2rem)}
.field{display:flex;flex-direction:column;gap:.5rem}
.full{grid-column:1/-1}
.field label{font-size:var(--t-sm);color:var(--stone)}
.field input,.field select,.field textarea{background:transparent;border:0;border-block-end:1px solid var(--line);
  padding:.7em 0;width:100%;transition:border-color .4s var(--ease);font-weight:400}
html[dir="rtl"] .field input,html[dir="rtl"] .field select,html[dir="rtl"] .field textarea{font-weight:300}
.field input:focus,.field select:focus,.field textarea:focus{border-block-end-color:var(--ink);outline:none}
.field textarea{resize:vertical;min-height:7rem}
.field select{appearance:none;background-repeat:no-repeat;background-size:5px 5px;
  background-image:linear-gradient(45deg,transparent 50%,var(--stone) 50%),linear-gradient(135deg,var(--stone) 50%,transparent 50%);
  background-position:calc(100% - 9px) calc(50% + 1px),calc(100% - 4px) calc(50% + 1px)}
html[dir="rtl"] .field select{background-position:9px calc(50% + 1px),14px calc(50% + 1px)}
.fmsg{grid-column:1/-1;border:1px solid var(--line);padding:var(--s-2);font-size:var(--t-sm)}
/* FOOTER + WA */
.foot__grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--col-gap);padding-block:var(--s-6) var(--s-4)}
.fcol{grid-column:span var(--span,3);display:flex;flex-direction:column;gap:.55rem;font-size:var(--t-sm)}
.fcol a{color:var(--taupe);transition:color .3s}
.fcol a:hover{color:var(--limestone)}
.foot__bot{display:flex;flex-wrap:wrap;gap:var(--s-2);justify-content:space-between;
  border-block-start:1px solid var(--line-inv);padding-block:var(--s-3);font-size:var(--t-xs);color:var(--taupe)}
.wa{position:fixed;inset-block-end:1.25rem;inset-inline-end:1.25rem;z-index:55;display:inline-flex;
  align-items:center;gap:.55em;font-size:var(--t-xs);background:rgba(233,230,224,.92);backdrop-filter:blur(10px);
  border:1px solid var(--line);padding:.7em 1em;transition:background .4s var(--ease),color .4s var(--ease)}
.wa:hover{background:var(--ink);color:var(--limestone)}
.rail{position:fixed;inset-block-start:50%;transform:translateY(-50%);inset-inline-start:calc(var(--gutter)/2.4);
  z-index:40;display:flex;flex-direction:column;gap:.85rem;align-items:flex-start}
.rail a{display:flex;align-items:center;gap:.6rem;font-size:var(--t-xs);color:var(--stone);opacity:.5;transition:opacity .4s}
.rail i{display:block;width:14px;height:1px;background:currentColor;transition:width .5s var(--ease)}
.rail a[data-on="1"]{opacity:1;color:var(--ink)}
.rail a[data-on="1"] i{width:28px;background:var(--bronze)}
.rail span{opacity:0;transition:opacity .4s}
.rail:hover span{opacity:1}
@media (max-width:1400px){.rail{display:none}}
.rv{opacity:0;transform:translateY(18px);transition:opacity 1s var(--ease),transform 1s var(--ease);
  transition-delay:calc(var(--d,0)*.09s)}
.rv.in{opacity:1;transform:none}
/* the reveal clips the CHILD, never the observed box: a fully clipped element is never "visible" to IntersectionObserver */
.rvi>*{clip-path:inset(0 0 100% 0);transition:clip-path 1.35s var(--ease);transition-delay:calc(var(--d,0)*.09s)}
.rvi.in>*{clip-path:inset(0 0 0 0)}
.page{animation:fade .7s var(--ease) both}
@keyframes fade{from{opacity:0}to{opacity:1}}
.skip{position:absolute;inset-inline-start:-9999px;z-index:100;background:var(--ink);color:var(--limestone);padding:.8em 1.2em}
.skip:focus{inset-inline-start:1rem;inset-block-start:1rem}
@media (max-width:1080px){.fcol{grid-column:span 6}.detail{grid-column:span 6}.stats{grid-template-columns:repeat(2,1fr);row-gap:var(--s-4)}}
@media (max-width:860px){
  .nav__links{display:none}.nav .btn{display:none}.burger{display:flex}
  .hero{min-height:92svh}.hero h1,.hero__sub,.hero__cta{grid-column:1/-1}
  .hero__cta{justify-content:flex-start;margin-block-start:var(--s-3)}.hero__scroll{display:none}
  .g-8,.g-7,.g-6,.g-5,.g-4,.g-3,.g-3.off-9,.g-4.off-7,.g-4.off-9,.g-5.off-7,.g-6.off-5{grid-column:1/-1}
  .form{grid-template-columns:1fr}.step{grid-template-columns:1fr;gap:.4rem}.step__n{padding-block-start:0}
  .row{grid-template-columns:3rem 1fr auto}.pjs{gap:clamp(3rem,12vw,5rem)}
  .r-219{padding-block-start:72%}
}
@media (max-width:520px){.stats{grid-template-columns:1fr}.pj__facts{gap:var(--s-2);font-size:var(--t-xs)}}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-delay:0ms !important;transition-duration:.001ms !important}
  .rv{opacity:1;transform:none}.rvi>*{clip-path:none}.mask>span{transform:none}
  .plan *{stroke-dashoffset:0}
}
@media print{.nav,.wa,.rail{display:none}}

/* ---- touch targets: enlarge the hit area without changing the look ---- */
.lang button,.logo{position:relative}
.lang button::before,.logo::before{content:"";position:absolute;inset:-12px -8px}
.cell p a:not(.btn){display:inline-block;padding-block:.75rem;margin-block:-.75rem}
.fcol a{padding-block:.3rem;margin-block:-.3rem}
/* footer language switch on the dark background */
.dark .lang button{color:var(--taupe)}
.dark .lang button[aria-pressed="true"]{color:var(--limestone)}
/* keep the floating WhatsApp button from covering the last footer row */
.foot__bot{padding-block-end:calc(var(--s-3) + 3.5rem)}
html[dir="rtl"] .dark{font-weight:400}
