
@font-face{font-family:"Chakra Petch";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/chakrapetch-latin-500.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-200B,U+2010-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Chakra Petch";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/chakrapetch-latin-700.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-200B,U+2010-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Noto Kufi Arabic";font-style:normal;font-weight:500 800;font-display:swap;src:url(fonts/notokufiarabic-arabic.woff2) format("woff2");unicode-range:U+0600-06FF,U+200C-200F,U+2010-2015,U+2018-201D,U+2026}
@font-face{font-family:"Cairo";font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/cairo-arabic.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:"Cairo";font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/cairo-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --paper:#F4F0E5;--ink:#712F17;--gold:#E4B347;--amber:#D69030;--orange:#CE7240;--stone:#C4BBB1;--stoned:#9C9183;
  --sand-t:color-mix(in srgb,var(--amber) 12%,var(--paper));
  --sand-l:color-mix(in srgb,var(--amber) 22%,var(--paper));
  --sand:color-mix(in srgb,var(--amber) 34%,var(--paper));
  --gold-t:color-mix(in srgb,var(--gold) 40%,var(--paper));
  --rule:color-mix(in srgb,var(--ink) 30%,var(--paper));
  --display:"Chakra Petch","Noto Kufi Arabic","Arial Narrow",system-ui,sans-serif;
  --body:"Cairo",system-ui,sans-serif;
  --ease:cubic-bezier(.16,1,.3,1);
  --gut:clamp(16px,4vw,48px);
  --cut:18px;
  --cutp:polygon(0 0,calc(100% - var(--cut)) 0,100% var(--cut),100% 100%,0 100%);
  --cut0:polygon(0 100%,calc(100% - var(--cut)) 100%,100% 100%,100% 100%,0 100%);
  color-scheme:light;
}
html[dir=rtl]{--cutp:polygon(var(--cut) 0,100% 0,100% 100%,0 100%,0 var(--cut));--cut0:polygon(var(--cut) 100%,100% 100%,100% 100%,0 100%,0 100%)}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scrollbar-color:var(--amber) var(--paper);background:var(--paper);color:var(--ink)}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.125rem/1.55 var(--body);-webkit-font-smoothing:antialiased;caret-color:var(--amber);overflow-x:hidden}
html[lang=ar] body{font-size:1.2rem;line-height:1.85}
::selection{background:var(--ink);color:var(--gold)}
a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:1.5px}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px;border-radius:2px}
input,textarea,select,button{color:inherit}
img,svg{display:block;max-width:100%}
img{height:auto}
h1,h2,h3,p,ul,ol,dl,dd,figure,blockquote{margin:0}
ul,ol{padding:0;list-style:none}
.wrap{width:min(100% - 2 * var(--gut),1240px);margin-inline:auto;position:relative;z-index:1}
.sr,.skip{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip:focus{position:fixed;left:8px;top:8px;width:auto;height:auto;margin:0;clip-path:none;z-index:99;background:var(--ink);color:var(--paper);padding:10px 16px}
html[lang=ar] .only-en,html:not([lang=ar]) .only-ar{display:none}
.ar{width:1.1em;height:1.1em;flex:none}
html[dir=rtl] .ar{transform:scaleX(-1)}
.cut{clip-path:var(--cutp)}

h1,h2,h3,.num{font-family:var(--display);font-weight:700;text-wrap:balance}
h1{font-size:clamp(2.6rem,6.6vw,6rem);line-height:.96;letter-spacing:-.02em;max-width:11em}
h2{font-size:clamp(2rem,4.6vw,3.6rem);line-height:1.02;letter-spacing:-.015em}
h3{font-size:1.25rem;line-height:1.15}
html[lang=ar] :is(h1,h2,h3,.num){letter-spacing:0}
html[lang=ar] h1{line-height:1.3;font-size:clamp(2.3rem,5.4vw,4.6rem)}
html[lang=ar] h2{line-height:1.3;font-size:clamp(1.9rem,4.2vw,3.1rem)}
html[lang=ar] h3{line-height:1.4}
.lede{font-size:clamp(1.1rem,1.6vw,1.3rem);max-width:34rem;margin-top:1.3rem;text-wrap:pretty}
.sub{margin-top:.9rem;max-width:38rem}
.btn{display:inline-flex;align-items:center;gap:.6em;min-height:50px;padding:.6em 1.35em;font:700 1.05rem/1.2 var(--display);letter-spacing:.01em;background:var(--ink);color:var(--paper);text-decoration:none;border:2px solid var(--ink);cursor:pointer;
  clip-path:polygon(0 0,100% 0,100% 0,100% 100%,0 100%);transition:clip-path .45s var(--ease),background-color .2s var(--ease),color .2s var(--ease)}
.btn:hover,.btn:focus-visible{clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%);background:var(--orange);border-color:var(--orange);color:var(--paper)}
html[dir=rtl] .btn{clip-path:polygon(0 0,0 0,100% 0,100% 100%,0 100%)}
html[dir=rtl] .btn:hover,html[dir=rtl] .btn:focus-visible{clip-path:polygon(14px 0,100% 0,100% 100%,0 100%,0 14px)}
.btn:hover .ar{translate:4px 0;transition:translate .3s var(--ease)}
html[dir=rtl] .btn:hover .ar{translate:-4px 0}
.btn.alt{background:transparent;color:var(--ink)}
.btn.alt:hover,.btn.alt:focus-visible{background:var(--ink);border-color:var(--ink);color:var(--gold)}
.cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:1.8rem}
.gap{display:inline-block;font:500 .8rem/1.35 var(--body);background:var(--paper);color:var(--ink);padding:2px 8px;border-radius:3px;border:1px dashed var(--ink)}
.el{display:block;width:100%;height:auto;overflow:visible}
.el .pc,.el .ln,.el g{transform-box:fill-box}
.ring{display:inline-grid;place-items:center;flex:none;width:52px;height:52px;border-radius:50%;background:var(--sand-t);box-shadow:inset 0 0 0 2px var(--stone)}
.ring .el{width:72%}
.ring.sm{width:40px;height:40px}
.kick{display:flex;align-items:center;gap:12px;margin-bottom:1.1rem;font:700 .95rem/1.2 var(--display);letter-spacing:.08em;text-transform:uppercase}
html[lang=ar] .kick{letter-spacing:0;font-size:1rem}
.ink .ring{background:var(--paper);box-shadow:none}
.motto{display:block;font:500 clamp(.98rem,1.3vw,1.12rem)/1.4 var(--display);max-width:24rem;margin-bottom:clamp(20px,3vw,36px)}
.motto::after{content:"";display:block;width:64px;height:3px;background:var(--gold);margin-top:.7rem}
html[lang=ar] .motto{font-family:var(--body);font-weight:600}
.motto.big{font:700 clamp(1.4rem,2.6vw,2rem)/1.25 var(--display);max-width:26rem;margin:2rem 0 0;padding-inline-start:20px;border-inline-start:6px solid var(--orange)}
.motto.big::after{display:none}
html[lang=ar] .motto.big{font-family:var(--display);line-height:1.6}
.hero-corner,.ph-corner,.ink-corner,.hero-bands,.ph-bands,.foot-bands{position:absolute;z-index:0;pointer-events:none}
.hero-corner,.ph-corner{top:0;inset-inline-end:0;width:clamp(150px,27vw,400px)}
html[dir=rtl] :is(.hero-corner,.ph-corner,.climb-scaf){scale:-1 1}
.hero-bands,.ph-bands{bottom:-1px;inset-inline-start:0;width:clamp(180px,30vw,440px)}
html[dir=rtl] :is(.hero-bands,.ph-bands){scale:-1 1}
.ink-corner{top:0;inset-inline-end:0;width:clamp(170px,26vw,380px);scale:-1 -1}
html[dir=rtl] .ink-corner{scale:1 -1}
.foot-bands{bottom:0;inset-inline-end:0;width:clamp(150px,22vw,300px);scale:-1 1}
html[dir=rtl] .foot-bands{scale:1 1}
.top{position:relative;z-index:30;padding-block:10px;background:var(--paper);border-bottom:1px solid var(--rule)}
.top .wrap{display:flex;align-items:center;gap:8px 20px}
.logo{display:block;flex:none;line-height:0}
.logo img{height:76px;width:auto}
.burger{margin-inline-start:auto;display:inline-flex;align-items:center;gap:10px;min-height:48px;min-width:48px;padding:0 14px;border:2px solid var(--ink);border-radius:4px;background:transparent;color:var(--ink);font:700 1rem var(--display);cursor:pointer}
.burger i{position:relative;width:20px;height:2px;background:var(--ink);transition:background .2s}
.burger i::before,.burger i::after{content:"";position:absolute;left:0;width:20px;height:2px;background:var(--ink);transition:transform .3s var(--ease)}
.burger i::before{top:-6px}.burger i::after{top:6px}
.nav-open .burger i{background:transparent}
.nav-open .burger i::before{transform:translateY(6px) rotate(45deg)}
.nav-open .burger i::after{transform:translateY(-6px) rotate(-45deg)}
.nav{position:absolute;inset-inline:0;top:100%;background:var(--paper);border-bottom:6px solid var(--gold);padding:6px var(--gut) 22px;display:none;max-height:calc(100dvh - 100px);overflow:auto}
.nav-open .nav{display:block}
.nav ul{display:grid}
.nav a{display:flex;align-items:center;min-height:52px;font:700 1.35rem var(--display);text-decoration:none;border-bottom:1px solid var(--rule)}
.nav a[aria-current=page]{text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:4px;text-underline-offset:.3em}
.nav a.btn{margin-top:16px;justify-content:center;border:2px solid var(--ink);font-size:1.1rem}
.lang{display:flex;align-items:center;gap:2px;flex:none}
.lang button{min-height:44px;min-width:44px;padding:0 8px;border:0;background:transparent;color:var(--ink);font:700 1rem var(--display);cursor:pointer;border-radius:4px}
.lang button[aria-pressed=true]{text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:4px;text-underline-offset:.3em}
.lang .sep{color:var(--rule)}
@media(min-width:1100px){
  .logo img{height:88px}
  .burger{display:none}
  .nav{position:static;display:block;border:0;padding:0;background:transparent;max-height:none;overflow:visible;margin-inline-start:auto}
  .nav ul{display:flex;align-items:center;gap:2px clamp(14px,1.8vw,26px)}
  .nav a{min-height:44px;font:700 1rem var(--display);border:0}
  .nav a:not(.btn):hover{text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:4px}
  .nav a.btn{margin:0;padding:.5em 1.1em;color:var(--paper);font-size:1rem}
}
.hero{position:relative;overflow:hidden;padding-block:clamp(64px,7vw,96px) clamp(110px,13vw,190px)}
.hero-grid{display:grid;gap:clamp(28px,4vw,56px)}
@media(min-width:960px){.hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:end}}
.hero .cta{margin-top:2rem}
.scene{position:relative;width:100%;max-width:620px;aspect-ratio:1/.92;justify-self:end;margin-inline:auto}
.scene>div{position:absolute}
.s-blocks{inset-inline-start:2%;bottom:5%;width:60%}
.s-ladder{inset-inline-end:0;bottom:0;width:41%}
.s-tape{inset-inline-start:-3%;bottom:-3%;width:40%;z-index:2}
.s-square{inset-inline-end:31%;bottom:-2%;width:23%;z-index:2}
html[dir=rtl] .scene .el{scale:-1 1}
.climb{position:relative;overflow:hidden;background:var(--gold);clip-path:polygon(0 0,100% clamp(28px,6vw,90px),100% 100%,0 100%);margin-top:-1px;padding-block:clamp(84px,11vw,150px) clamp(56px,7vw,96px)}
html[dir=rtl] .climb{clip-path:polygon(0 clamp(28px,6vw,90px),100% 0,100% 100%,0 100%)}
.climb .ring{background:var(--paper);box-shadow:none}
.climb-head{max-width:40rem}
.climb-scaf{display:none}
@media(min-width:900px){
  .climb .wrap{padding-inline-end:clamp(120px,13vw,190px)}
  .climb-scaf{display:block;position:absolute;inset-inline-end:clamp(18px,4vw,64px);bottom:0;width:clamp(90px,9vw,140px);z-index:0}
}
.prog{margin-top:clamp(28px,4vw,52px);display:grid;gap:6px}
.prog li{--c:var(--paper);--t:var(--ink);position:relative;display:block;padding:18px 18px 22px;background:var(--c);color:var(--t);margin-inline-start:calc(var(--i) * 6vw)}
.prog li:nth-child(2){--c:var(--sand-l)}
.prog li:nth-child(3){--c:var(--sand)}
.prog li:nth-child(4){--c:var(--stone)}
.prog li:nth-child(5){--c:var(--ink);--t:var(--paper)}
.prog .n{display:block;font:700 2.6rem/1 var(--display);margin-bottom:.5rem}
.prog h3{font:700 1.2rem/1.15 var(--display)}
.prog p{font-size:1rem;line-height:1.4;margin-top:.35rem}
html[lang=ar] .prog h3{line-height:1.4}
html[lang=ar] .prog p{line-height:1.6}
@media(min-width:760px){
  .prog{grid-template-columns:repeat(5,minmax(0,1fr));align-items:end}
  .prog li{margin:0;min-height:calc(10rem + var(--i) * 3.4rem)}
}
.jobs{padding-block:clamp(64px,9vw,128px) clamp(48px,6vw,80px)}
.jobs-head{display:grid;gap:0;max-width:44rem}
.sched{margin-top:clamp(28px,4vw,52px);display:grid}
.job{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.2rem 1.2rem;align-items:center;padding:1.2rem 0;border-top:2px solid var(--ink);text-decoration:none;transition:background-color .3s var(--ease),padding .35s var(--ease)}
.sched .job:last-child{border-bottom:2px solid var(--ink)}
.job .ring{grid-row:1 / span 2}
.job .jn{font:700 clamp(1.45rem,4vw,2.9rem)/1.05 var(--display);letter-spacing:-.01em}
html[lang=ar] .job .jn{line-height:1.3;letter-spacing:0}
.job .jd{grid-column:2;font-size:1rem}
.job>.ar{grid-column:3;grid-row:1 / span 2;width:1.6rem;height:1.6rem}
.job .ring .el{transition:transform .45s var(--ease)}
.job:hover,.job:focus-visible{background:var(--gold-t);padding-inline:16px}
.job:hover .ring .el{transform:rotate(-10deg) scale(1.12)}
@media(min-width:860px){
  .job{grid-template-columns:auto minmax(0,1.5fr) minmax(0,1fr) auto}
  .job .ring{grid-row:1}
  .job .jd{grid-column:3}
  .job>.ar{grid-column:4;grid-row:1}
}
.frame{position:relative;padding:10px;background:var(--paper);box-shadow:0 0 0 1px var(--stone)}
.frame .slot{position:relative;overflow:hidden;background:var(--stone);aspect-ratio:4 / 5}
.frame .slot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.frame .flag{position:absolute;top:10px;inset-inline-start:10px;width:34%;z-index:2}
html[dir=rtl] .frame .flag{scale:-1 1}
.f-tool{position:absolute;bottom:-7%;inset-inline-end:-5%;width:40%;z-index:3}
html[dir=rtl] .f-tool .el{scale:-1 1}
.spaces{padding-block:clamp(40px,6vw,80px) clamp(96px,12vw,170px);background:var(--sand-t);position:relative}
.spaces-head{max-width:40rem}
.trio{display:grid;gap:clamp(48px,6vw,40px);margin-top:clamp(28px,4vw,48px)}
@media(min-width:760px){
  .trio{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:clamp(20px,3vw,40px)}
  .trio .t2{margin-top:clamp(40px,7vw,110px)}
  .trio .t3{margin-top:clamp(16px,3vw,48px)}
}
.trio .t2 .slot{aspect-ratio:3 / 4}

.pm{padding-block:clamp(72px,10vw,140px)}
.pm-grid{display:grid;gap:clamp(56px,6vw,72px);align-items:center}
@media(min-width:900px){.pm-grid{grid-template-columns:minmax(0,6fr) minmax(0,5fr)}}
.pm-text p{margin-top:1.1rem;max-width:34rem}
.pm .frame .slot{aspect-ratio:5 / 4}
.band{position:relative;overflow:hidden;padding-block:clamp(64px,8vw,112px)}
.band.sand{background:var(--sand-t)}
.split{display:grid;gap:clamp(48px,5vw,64px);align-items:center}
@media(min-width:900px){.split{grid-template-columns:minmax(0,6fr) minmax(0,5fr)}}
.split p{margin-top:1.1rem;max-width:34rem}
.split .frame .slot{aspect-ratio:5 / 4}
.duo{display:grid;gap:56px 28px;margin-top:clamp(28px,4vw,44px)}
@media(min-width:760px){.duo{grid-template-columns:repeat(2,minmax(0,1fr))}.duo .frame:nth-child(2){margin-top:clamp(30px,5vw,80px)}}
.duo .frame .slot{aspect-ratio:3 / 2}
.ink{background:var(--ink);color:var(--paper)}
.ink ::selection{background:var(--gold);color:var(--ink)}
.ink :focus-visible{outline-color:var(--gold)}
.ink .btn{background:var(--gold);color:var(--ink);border-color:var(--gold)}
.ink .btn:hover{background:var(--paper);border-color:var(--paper);color:var(--ink)}
.cta-band{padding-top:clamp(110px,12vw,170px)}
.q-grid{display:grid;gap:clamp(32px,5vw,64px)}
@media(min-width:900px){.q-grid{grid-template-columns:minmax(0,5fr) minmax(0,6fr)}}
.q-grid p{margin-top:1rem;max-width:30rem}
.contact{margin-top:2rem;display:grid;gap:.3rem 1.2rem;grid-template-columns:auto 1fr;max-width:34rem}
.contact dt{font-weight:700}
.contact dd{margin:0;overflow-wrap:anywhere}
.pick{display:grid;gap:0;margin-top:1rem}
.pick a{display:flex;align-items:center;gap:16px;min-height:64px;padding:10px 0;border-top:2px solid var(--paper);text-decoration:none;font:700 clamp(1.15rem,2.4vw,1.6rem)/1.15 var(--display);transition:background-color .3s var(--ease),padding .35s var(--ease)}
.pick a span:not(.ring){flex:1}
html[lang=ar] .pick a{line-height:1.4}
.pick a:last-child{border-bottom:2px solid var(--paper)}
.pick a:hover{background:var(--gold);color:var(--ink);padding-inline:12px}
.pick .ar{width:1.4rem;height:1.4rem}
.phead{position:relative;overflow:hidden;padding-block:clamp(72px,8vw,110px) clamp(96px,11vw,160px)}
.phead .wrap{display:grid;gap:clamp(24px,3vw,48px);align-items:end}
@media(min-width:900px){.phead .wrap{grid-template-columns:minmax(0,1fr) minmax(200px,28%)}}
.crumb{font:500 .95rem var(--body);margin-bottom:1.2rem}
.crumb a{text-decoration:none;border-bottom:1.5px solid var(--ink)}
.ph-tool{width:min(52vw,300px);justify-self:end}
.ph-tool .el-ladder{max-height:340px;width:auto;margin-inline-start:auto}
.ph-tool .el-scaffold{max-height:340px;width:auto;margin-inline-start:auto}
html[dir=rtl] .ph-tool .el{scale:-1 1}
.svc{padding-block:clamp(56px,7vw,96px);border-top:2px solid var(--ink)}
.svc:nth-of-type(odd){background:var(--sand-t)}
.svc .wrap{display:grid;gap:clamp(56px,5vw,64px);align-items:center}
@media(min-width:900px){.svc .wrap{grid-template-columns:minmax(0,1fr) minmax(0,.85fr)}.svc.flip .svc-text{order:2}}
.svc-top{display:flex;align-items:center;gap:16px}
.svc .num{font-size:clamp(2.6rem,5vw,4rem);line-height:1}
.svc h2{margin-top:.6rem;font-size:clamp(1.9rem,4vw,3.2rem)}
.svc .unit{margin-top:.7rem;font:600 1.15rem var(--display)}
html[lang=ar] .svc .unit{font-family:var(--body)}
.svc .unit-note,.svc-promise{margin-top:.8rem;max-width:30rem}
.svc .btn{margin-top:1.5rem}
.svc .frame .slot{aspect-ratio:3 / 2}

.steps-wrap{position:relative}
.steps-grid{display:grid;gap:24px}
.steps-side{display:none}
@media(min-width:960px){.steps-grid{grid-template-columns:minmax(0,1fr) 240px}.steps-side{display:block;order:2;position:sticky;top:24px;align-self:start;margin-top:clamp(40px,6vw,80px)}}
html[dir=rtl] .steps-side .el{scale:-1 1}
.steps{display:grid;gap:8px;padding-block:clamp(40px,6vw,80px)}
.step{--c:var(--sand-l);--t:var(--ink);display:grid;gap:.5rem 1.5rem;padding:22px 22px 26px;background:var(--c);color:var(--t);margin-inline-start:calc(var(--i) * clamp(0px,4vw,52px));clip-path:var(--cutp)}
.step:nth-child(2){--c:var(--sand)}
.step:nth-child(3){--c:var(--stone)}
.step:nth-child(4){--c:var(--gold)}
.step:nth-child(5){--c:var(--ink);--t:var(--paper)}
.step .num{font-size:clamp(2.6rem,6vw,4.4rem);line-height:1}
.step h2{font-size:clamp(1.5rem,3.4vw,2.4rem)}
.step p{max-width:44rem}
@media(min-width:760px){.step{grid-template-columns:6rem minmax(0,1fr);align-items:start}.step .num{grid-row:1 / span 3}}
.step :focus-visible{outline-color:currentColor}
.step:nth-child(5) .btn.alt{color:var(--paper);border-color:var(--paper)}

.cards{display:grid;gap:14px;margin-top:clamp(28px,4vw,44px)}
@media(min-width:760px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1000px){.cards{grid-template-columns:repeat(4,minmax(0,1fr))}}
.card{position:relative;padding:64px 20px 26px;background:var(--paper);box-shadow:inset 0 0 0 1px var(--stone)}
.card .flag{position:absolute;top:0;inset-inline-start:0;width:46%}
html[dir=rtl] .card .flag{scale:-1 1}
.card .ring{margin-bottom:1rem}
.card h3{font-size:1.3rem}
.card p{margin-top:.5rem;font-size:1rem}
.prose{padding-block:clamp(36px,5vw,72px);max-width:50rem}
.prose h2{font-size:clamp(1.5rem,3vw,2.1rem);margin-top:2.2rem}
.prose h2:first-child{margin-top:0}
.prose p,.prose ul{margin-top:.8rem}
.prose ul{list-style:disc;padding-inline-start:1.4rem;display:grid;gap:.4rem}
.prose a{font-weight:600}
.prose .ver{font-size:.95rem}
.legal-card{display:grid;gap:.3rem 1.5rem;grid-template-columns:auto 1fr;border-top:2px solid var(--ink);padding-top:1.2rem;max-width:46rem;margin-top:1.4rem}
.legal-card dt{font-weight:700}
.legal-card dd{margin:0;overflow-wrap:anywhere}
.facts{display:grid;gap:clamp(28px,3vw,48px);padding-block:clamp(48px,6vw,96px)}
@media(min-width:900px){.facts{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}}
.facts p+p{margin-top:1rem}
.facts p{max-width:34rem}
.bf-wrap{max-width:46rem}
.bf-wrap [hidden]{display:none!important}
.bf{display:grid;gap:14px}
.bf fieldset{border:0;margin:0 0 18px;padding:0;min-width:0}
.bf fieldset fieldset{margin:0}
.bf legend{font:700 1.3rem var(--display);padding:0;margin-bottom:14px}
.bf-field{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;margin-bottom:16px}
.bf-field label{font-weight:700}
.bf-req{font-weight:400;font-size:.9rem}
.bf-hint{font-size:.95rem}
.bf input[type=text],.bf input[type=email],.bf input[type=tel],.bf select,.bf textarea{width:100%;min-height:50px;font:400 1.05rem/1.4 var(--body);color:var(--ink);background:var(--paper);border:2px solid var(--paper);border-radius:4px;padding:12px 14px}
.bf select{appearance:none;-webkit-appearance:none;padding-inline-end:40px;background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px;background-repeat:no-repeat}
html[dir=rtl] .bf select{background-position:20px 50%,14px 50%}
.bf textarea{resize:vertical;min-height:130px}
.bf :is(input,select,textarea):focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.bf [aria-invalid=true]{border-color:var(--gold);border-width:3px}
html[dir=rtl] .bf [dir=ltr]{text-align:right}
.bf input[type=checkbox]{appearance:none;-webkit-appearance:none;display:inline-grid;place-content:center;flex:none;width:26px;height:26px;margin:2px 0 0;border:2px solid var(--paper);border-radius:3px;background:transparent}
.bf input[type=checkbox]::before{content:"";width:12px;height:12px;background:var(--gold);transform:scale(0);transition:transform .12s var(--ease)}
.bf input[type=checkbox]:checked::before{transform:scale(1)}
.bf input[type=file]{font:inherit;font-size:1rem;max-width:100%}
.bf input[type=file]::file-selector-button{font:700 1rem var(--display);margin-inline-end:14px;padding:10px 16px;border-radius:4px;border:2px solid var(--paper);background:transparent;color:var(--paper);cursor:pointer}
.bf-err{margin:0;color:var(--gold);font-weight:700;font-size:1rem}
.bf-err::before{content:"! "}
.bf-hp{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.bf-check{display:flex;gap:12px;align-items:flex-start;min-height:44px;margin:4px 0 22px;max-width:60ch;cursor:pointer}
.bf-send{display:grid;gap:16px;justify-items:start}
.bf-submit{min-height:52px}
.bf-submit[aria-busy=true]{opacity:.6;cursor:progress}
.bf-consent{font-size:.95rem;max-width:62ch}
.bf-status{margin:14px 0 0;font-weight:700;color:var(--gold)}
.bf-done{display:grid;gap:10px}
.bf-done h3{font:700 clamp(1.6rem,3vw,2.3rem)/1.15 var(--display)}
.bf-done h3:focus{outline:none}
.bf-ref{font-family:ui-monospace,Consolas,monospace;font-size:1.15em;letter-spacing:.04em;unicode-bidi:isolate}
@media(min-width:760px){.bf-two{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}}
.side-note{margin-top:1.6rem;font-size:1rem}

.facts h2+p,.prose h2+p,.svc h2+p,.band h2+p{margin-top:1rem}
@media(max-width:599px){
  .contact,.legal-card{grid-template-columns:minmax(0,1fr)}
  .contact dt,.legal-card dt{margin-top:.7rem}
  .contact dt:first-child,.legal-card dt:first-child{margin-top:0}
}
.foot{position:relative;overflow:hidden;background:var(--paper);border-top:8px solid var(--amber);padding-block:clamp(40px,5vw,64px) calc(clamp(40px,5vw,64px) + clamp(56px,7vw,110px))}
.foot .wrap{display:grid;gap:24px}
@media(min-width:900px){.foot .wrap{grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:48px}}
.foot .logo img{height:84px}
.foot p{font-size:1rem;max-width:36rem}
.foot p+p{margin-top:.6rem}
.foot ul{display:flex;flex-wrap:wrap;gap:2px 20px;margin-top:.8rem}
.foot li a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;font:700 1rem var(--display);text-decoration:none}
.foot li a:hover{text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:4px}
.foot .legal{overflow-wrap:anywhere}
.ph-text{position:relative;z-index:1}
.ph-tool{display:block;width:min(46vw,280px);height:min(46vw,280px);justify-self:end}
.ph-tool .el{width:100%;height:100%}
@media(max-width:899px){.phead{padding-top:clamp(64px,14vw,90px)}}
.nf{position:relative;overflow:hidden;padding-block:clamp(56px,9vw,130px)}
.nf-grid{display:grid;gap:32px;align-items:end}
.nf-grid>div:first-child{display:grid;gap:24px;justify-items:start}
@media(min-width:800px){.nf-grid{grid-template-columns:minmax(0,1fr) 280px}}
.nf-art{width:min(60vw,280px);justify-self:end}
html[dir=rtl] .nf-art .el{scale:-1 1}
@media(prefers-reduced-motion:no-preference){
  .reveal-ready .el[data-reveal]:not(.is-in) :is(.pc,.ln){visibility:hidden}
  .el.is-in:not(.no-anim) .pc{animation:piece .8s var(--ease) backwards;animation-delay:calc(var(--k,0) * 55ms + 100ms)}
  .el.is-in:not(.no-anim) .ln{stroke-dasharray:1;animation:draw 1.2s var(--ease) backwards;animation-delay:calc(var(--k,0) * 40ms + 450ms)}
  .el-tape.is-in:not(.no-anim) .tape{transform-origin:0 50%;animation:runout 1.1s var(--ease) .75s backwards}
  .el-set-square.is-in:not(.no-anim) path.pc{transform-origin:100% 100%;animation:swing 1s var(--ease) .35s backwards}
  @keyframes piece{from{clip-path:inset(100% 0 0 0);transform:translateY(16%)}to{clip-path:inset(0 0 0 0);transform:none}}
  @keyframes draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
  @keyframes runout{from{transform:scaleX(.08)}to{transform:none}}
  @keyframes swing{from{transform:rotate(-24deg);clip-path:inset(0 0 100% 0)}to{transform:none;clip-path:inset(0 0 0 0)}}

  .reveal-ready :is(.job,.frame,.svc-text,.card)[data-reveal]:not(.is-in){visibility:hidden}
  :is(.job,.frame,.svc-text,.card)[data-reveal].is-in:not(.no-anim){animation:rise .9s var(--ease) backwards;animation-delay:calc(var(--i,0) * 80ms)}
  @keyframes rise{from{clip-path:inset(0 0 100% 0);transform:translateY(28px)}to{clip-path:inset(-40px -40px -40px -40px);transform:none}}
  .reveal-ready :is(.prog li,.step)[data-reveal]:not(.is-in){visibility:hidden}
  :is(.prog li,.step)[data-reveal].is-in:not(.no-anim){animation:panel .9s var(--ease) backwards;animation-delay:calc(var(--i,0) * 110ms)}
  @keyframes panel{from{clip-path:var(--cut0);transform:translateY(30px)}to{clip-path:var(--cutp);transform:none}}

  @supports (animation-timeline:view()){
    .px{animation:drift linear both;animation-timeline:view();animation-range:cover}
    @keyframes drift{from{translate:0 calc(var(--d,-40px) * -.5)}to{translate:0 calc(var(--d,-40px) * .5)}}
  }
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.job,.burger i,.burger i::before,.burger i::after{transition:none!important}}
main{overflow-x:clip}
.hero{padding-bottom:clamp(130px,16vw,220px)}
.hero-bands{width:clamp(170px,24vw,340px)}
.phead{padding-bottom:clamp(110px,14vw,190px)}
.ph-bands{width:clamp(150px,20vw,290px)}
.f-tool:has(.el-ladder),.f-tool:has(.el-scaffold){width:20%;bottom:-4%}
@media(max-width:959px){.hero{padding-top:clamp(84px,18vw,120px)}}
@media(max-width:759px){.f-tool{inset-inline-end:0;bottom:-5%}}
