@font-face{font-family:'IBM Plex Sans Arabic';font-style:normal;font-weight:400;font-display:swap;src:url(/f/plex-ar-400.69f23b03.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans Arabic';font-style:normal;font-weight:700;font-display:swap;src:url(/f/plex-ar-700.bc4712d0.woff2) format('woff2')}
*,*::before,*::after{box-sizing:border-box}
:root{
  color-scheme:dark light;
  --fg:#F4F9F8;--fg-muted:#A9C2BF;--accent:#46988E;--cta-bg:#E4F0ED;--cta-fg:#0E272E;--card-bg:#1B3339;--focus:#CCBA6C;--chip-bg:#46988E;--chip-fg:#0E272E;
  --surface:#0E272E;
  --field:#46988E;
  --field-opacity:.07;
  --rule:rgba(70,152,142,0.42);
  --r:8px;
  --font:'IBM Plex Sans Arabic',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
}
@media (prefers-color-scheme:light){
  :root{
    --fg:#0E0E0F;--fg-muted:#4A5C5A;--accent:#34726A;--cta-bg:#0E272E;--cta-fg:#E4F0ED;--card-bg:#FFFFFF;--focus:#7A6720;--chip-bg:#34726A;--chip-fg:#E4F0ED;
    --surface:#E4F0ED;
    --field-opacity:.10;
    --rule:rgba(52,114,106,0.45);
  }
}
.s-deep{
  --fg:#F4F9F8;--fg-muted:#A9C2BF;--accent:#46988E;--cta-bg:#E4F0ED;--cta-fg:#0E272E;--card-bg:#1B3339;--focus:#CCBA6C;--chip-bg:#46988E;--chip-fg:#0E272E;
  border-block-start:1px solid rgba(70,152,142,0.3);
  --surface:#0E272E;
  --rule:rgba(70,152,142,0.42);
  color:var(--fg);
  background:linear-gradient(135deg,#0E272E 0%,#0E0E0F 100%);
}
.s-pale{
  --fg:#0E0E0F;--fg-muted:#4A5C5A;--accent:#34726A;--cta-bg:#0E272E;--cta-fg:#E4F0ED;--card-bg:#FFFFFF;--focus:#7A6720;--chip-bg:#34726A;--chip-fg:#E4F0ED;
  border-block-start:1px solid rgba(52,114,106,0.28);
  --surface:#E4F0ED;
  --rule:rgba(52,114,106,0.45);
  color:var(--fg);
  background:#E4F0ED;
}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  min-height:100vh;
  min-height:100dvh;
  font-family:var(--font);
  color:var(--fg);
  background:var(--surface);
  line-height:1.9;
  overflow-x:clip;
}
@supports not (overflow:clip){
  body{overflow-x:hidden}
  .hero,.claim,.close{overflow:hidden}
}
.backdrop{
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  background-image:
    radial-gradient(115ch 78ch at 88% -12%, rgba(70,152,142,0.2), transparent 62%),
    radial-gradient(90ch 70ch at 4% 108%, rgba(70,152,142,0.14), transparent 66%);
}
@media (prefers-color-scheme:light){
  .backdrop{
    background-image:
      radial-gradient(115ch 78ch at 88% -12%, rgba(70,152,142,0.26), transparent 62%),
      radial-gradient(90ch 70ch at 4% 108%, rgba(14,39,46,0.1), transparent 66%);
  }
}
body::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:2;
  pointer-events:none;
  opacity:.30;
  mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.42'/%3E%3C/svg%3E");
}
.field{
  position:absolute;
  z-index:0;
  inset-block-start:50%;
  inset-inline-end:2%;
  translate:0 -50%;
  inline-size:min(74vmin,860px);
  color:var(--field);
  opacity:var(--field-opacity);
  pointer-events:none;
}
.field svg{display:block;inline-size:100%;height:auto}
.band{
  position:relative;
  z-index:1;
  padding-inline:clamp(1.25rem,5vw,4.5rem);
  max-inline-size:1400px;
  margin-inline:auto;
}
section[id]{scroll-margin-block-start:calc(var(--nav-h) + 1rem)}
@media (prefers-reduced-motion:no-preference){
  .claim::before{
    animation-name:roots-crane;
    animation-duration:48s;
    animation-timing-function:ease-in-out;
    animation-iteration-count:infinite;
    animation-direction:alternate;
  }
  @keyframes roots-crane{
    from{background-position-y:0%}
    to{background-position-y:100%}
  }
  html{scroll-behavior:smooth}
}
.copyright{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:.2rem .55rem;
  flex-basis:100%;
}
.dot{
  inline-size:3px;
  block-size:3px;
  border-radius:50%;
  background:currentColor;
  opacity:.45;
  align-self:center;
  flex:none;
}
.cr{display:inline-flex;align-items:baseline;gap:.35rem}
.legal-no{
  font-variant-numeric:tabular-nums;
  letter-spacing:.05em;
  color:var(--fg);
  unicode-bidi:isolate;
  direction:ltr;
  -webkit-user-select:all;
  user-select:all;
}
.legal-no{
  font-variant-numeric:tabular-nums;
  letter-spacing:.05em;
  unicode-bidi:isolate;
  direction:ltr;
  -webkit-user-select:all;
  user-select:all;
}
.services{position:relative;overflow:clip;clip-path:inset(0)}
.services > *{position:relative;z-index:1}
.services::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:url(/img/offer-texture.b3af551d.webp) center/cover no-repeat;
  opacity:.22;
  mix-blend-mode:multiply;
  -webkit-mask-image:linear-gradient(to bottom,transparent,#000 30%,#000 70%,transparent),
    linear-gradient(to left,#000 34%,transparent 74%);
  mask-image:linear-gradient(to bottom,transparent,#000 30%,#000 70%,transparent),
    linear-gradient(to left,#000 34%,transparent 74%);
  -webkit-mask-composite:source-in;
  mask-composite:intersect;
}
[dir="ltr"] .services::before{
  -webkit-mask-image:linear-gradient(to bottom,transparent,#000 30%,#000 70%,transparent),
    linear-gradient(to right,#000 34%,transparent 74%);
  mask-image:linear-gradient(to bottom,transparent,#000 30%,#000 70%,transparent),
    linear-gradient(to right,#000 34%,transparent 74%);
}
@media (prefers-reduced-motion:no-preference){
  @view-transition{navigation:auto}
}
.rail a{position:relative}
.ink{
  position:absolute;
  inset-inline:0;
  inset-block-end:.15rem;
  block-size:2px;
  background:var(--focus);
  view-transition-name:nav-ink;
}
.rail{view-transition-name:rail}
::view-transition-group(rail){animation-name:none}
::view-transition-old(rail),::view-transition-new(rail){animation-name:none;mix-blend-mode:normal}
.page-title{view-transition-name:page-title}
::view-transition-group(nav-ink){
  animation-duration:.42s;
  animation-timing-function:cubic-bezier(.33,0,.2,1);
}
::view-transition-group(root){animation-duration:.32s}
.pagehead{padding-block:clamp(2.5rem,7vh,4.5rem) clamp(1rem,2.5vh,1.75rem)}
.page-title{
  margin:0;
  font-size:clamp(1.75rem,min(5vw,6.5vh),3rem);
  font-weight:700;
  line-height:1.35;
  letter-spacing:-.01em;
}
.page-lede{
  margin:.7rem 0 0;
  color:var(--fg-muted);
  font-size:clamp(.9375rem,min(1.25vw,1.9vh),1.125rem);
  line-height:1.9;
  text-wrap:pretty;
}
.teaser{
  margin:clamp(1rem,2.5vh,1.6rem) 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:.6rem clamp(1rem,3vw,2.5rem);
}
@media (min-width:640px){
  .teaser{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.teaser li{
  display:flex;
  align-items:center;
  gap:.7rem;
  font-size:1.0625rem;
  font-weight:700;
}
.more{margin:clamp(1.2rem,3vh,1.9rem) 0 0}
.more a{
  display:inline-block;
  padding:.5rem 0;
  color:var(--accent);
  font-size:.9375rem;
  font-weight:700;
  text-underline-offset:.25em;
}
.more a::after{content:"";display:inline-block;inline-size:1.1em;block-size:1px;
  background:currentColor;margin-inline-start:.5em;vertical-align:.28em}
.unit-band,.optable-band{padding-block:clamp(1.5rem,4vh,2.5rem)}
:root{--nav-h:3.375rem}
.rail{
  position:sticky;
  inset-block-start:0;
  z-index:5;
  background:var(--surface);
  border-block-end:1px solid var(--rule);
  block-size:var(--nav-h);
}
.rail-inner{
  display:flex;
  align-items:center;
  block-size:100%;
}
.rail ul{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  gap:.35rem clamp(.9rem,2.4vw,1.9rem);
  inline-size:100%;
  overflow-x:auto;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.rail ul::-webkit-scrollbar{display:none}
.rail li{flex:none}
@media (max-width:497px){
  :root[dir="ltr"]{--nav-h:5.25rem}
  [dir="ltr"] .rail ul{flex-wrap:wrap;overflow-x:visible;row-gap:.1rem}
}
@media (max-width:417px){
  :root[dir="rtl"]{--nav-h:5.25rem}
  [dir="rtl"] .rail ul{flex-wrap:wrap;overflow-x:visible;row-gap:.1rem}
}
.soft{
  margin-inline-start:.9rem;
  flex:none;
  font-size:.75rem;
  line-height:1;
  padding:.28rem .5rem;
  border:1px solid var(--focus);
  border-radius:2px;
  color:var(--focus);
  white-space:nowrap;
}
@media (max-width:659px){
  .soft{display:none}
}
.rail a{
  color:var(--fg-muted);
  font-size:.875rem;
  line-height:1.6;
  text-decoration:none;
  display:inline-block;
  padding:.45rem .1rem;
  margin-block:-.45rem;
}
.rail a:hover{color:var(--fg)}
body:has(#about:target) .rail a[href$="#about"],
body:has(#contact:target) .rail a[href$="#contact"]{color:var(--fg)}
.nav-lang{
  margin-inline-start:auto;
  padding-inline-start:clamp(.9rem,2.4vw,1.9rem);
  border-inline-start:1px solid var(--rule);
}
.hero{
  min-block-size:calc(100vh - var(--nav-h));
  min-block-size:calc(100svh - var(--nav-h));
  display:grid;
  align-content:center;
  max-inline-size:1240px;
  overflow:clip;
  padding-block:clamp(1.25rem,3.6vh,3.75rem);
}
main{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:clamp(.9rem,2.6vh,2.25rem);
  max-inline-size:min(64ch,100%);
}
.lockup{inline-size:clamp(84px,min(11vw,13vh),152px);color:var(--fg)}
.lockup svg{display:block;inline-size:100%;height:auto}
h1{
  margin:0;
  font-weight:700;
  font-size:clamp(1.95rem,min(7.2vw,9.2vh),5.25rem);
  line-height:1.4;
  letter-spacing:0;
  text-wrap:balance;
}
.caret{
  color:var(--accent);
  font-weight:700;
  margin-inline-start:.12em;
}
.sr-only{
  position:absolute;
  inline-size:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap;
  border:0;
  -webkit-user-select:none;
  user-select:none;
}
.mission{
  margin:0;
  padding-inline-start:clamp(.9rem,1.8vw,1.4rem);
  border-inline-start:2px solid var(--rule);
  color:var(--fg-muted);
  font-size:clamp(.9375rem,min(1.15vw,1.85vh),1.1875rem);
  line-height:1.95;
  max-inline-size:none;
  text-wrap:pretty;
}
.value-prop{
  margin:0;
  color:var(--fg);
  font-size:clamp(1.0625rem,min(1.5vw,2.1vh),1.375rem);
  font-weight:700;
  line-height:1.75;
  max-inline-size:46ch;
  text-wrap:balance;
}
.contact-lead{margin:0;color:var(--fg-muted);font-size:.9375rem;line-height:1.7}
.actions{display:flex;flex-wrap:wrap;gap:.7rem}
.cta{
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  padding:.85rem 1.85rem;
  border-radius:999px;
  background:var(--cta-bg);
  color:var(--cta-fg);
  font-family:inherit;
  font-size:1.0625rem;
  font-weight:700;
  line-height:1.6;
  text-decoration:none;
  white-space:nowrap;
  border:0;
}
.cta svg{inline-size:1.15em;height:1.15em;flex:none}
.cta-wa{background:var(--chip-bg);color:var(--chip-fg)}
.claim{position:relative;overflow:clip;clip-path:inset(0);padding-block:clamp(3.5rem,11vh,7rem);border-block-start-color:var(--accent)}
.claim::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  background-image:url(/img/roots-plant.3e99d938.webp);
  background-repeat:no-repeat;
  background-size:auto max(132%,62vw);
  background-position:left 0%;
  opacity:.20;
  mix-blend-mode:screen;
  -webkit-mask-image:linear-gradient(to bottom,transparent,#000 28%,#000 72%,transparent),
    linear-gradient(to right,#000 38%,transparent 78%);
  mask-image:linear-gradient(to bottom,transparent,#000 28%,#000 72%,transparent),
    linear-gradient(to right,#000 38%,transparent 78%);
  -webkit-mask-composite:source-in;
  mask-composite:intersect;
}
[dir="ltr"] .claim::before{
  background-position-x:right;
  -webkit-mask-image:linear-gradient(to bottom,transparent,#000 28%,#000 72%,transparent),
    linear-gradient(to left,#000 38%,transparent 78%);
  mask-image:linear-gradient(to bottom,transparent,#000 28%,#000 72%,transparent),
    linear-gradient(to left,#000 38%,transparent 78%);
}
.claim-inner{position:relative;z-index:1}
.arcs{
  position:absolute;
  inset-block:0;
  inset-inline-end:0;
  inline-size:min(32vw,460px);
  color:var(--accent);
  opacity:.22;
  pointer-events:none;
}
@media (max-width:1023px){
  .arcs{display:none}
}
.arcs svg{inline-size:100%;block-size:100%;display:block}
.claim-inner{position:relative;z-index:1;max-inline-size:62ch}
.claim-ar{
  margin:.35rem 0 0;
  font-size:clamp(1.375rem,min(3vw,4vh),2.25rem);
  font-weight:700;
  line-height:1.55;
  text-wrap:balance;
}
.claim .mission{margin-block-start:clamp(1.5rem,4vh,2.5rem)}
.how{padding-block:clamp(3rem,9vh,6rem)}
.steps{margin:0;padding:0;list-style:none;border-block-end:1px solid var(--rule)}
.steps li{
  display:grid;
  gap:.3rem;
  padding-block:clamp(1rem,2.6vh,1.6rem);
  border-block-start:1px solid var(--rule);
}
.steps p{max-inline-size:56ch}
.steps h3::after{
  content:"";
  display:inline-block;
  inline-size:2.5em;
  block-size:.16em;
  margin-inline-start:.45em;
  vertical-align:-.08em;
  background:var(--accent);
}
@media (min-width:768px){
  .steps li{
    grid-template-columns:minmax(0,14rem) minmax(0,1fr);
    column-gap:clamp(1.5rem,4vw,3.5rem);
    align-items:baseline;
  }
}
.mark{
  --mark-pb:clamp(4rem,10vh,6rem);
  --ml-fs:clamp(1.5rem,min(4.4vw,5.6vh),3.25rem);
  --art-w:clamp(116px,min(20vw,26vh),240px);
  padding-block:var(--mark-pb);
  border-block-start-color:var(--accent);
}
.mark-line{
  margin:0;
  display:grid;
  grid-template-columns:auto minmax(4rem,1fr);
  column-gap:clamp(.6rem,1.6vw,1.25rem);
  align-items:end;
  font-size:var(--ml-fs);
  font-weight:700;
  line-height:1.5;
  text-wrap:balance;
}
.mark-line::after{
  content:"";
  block-size:.24em;
  margin-block-end:.22em;
  margin-inline-end:calc(-1*clamp(1.25rem,5vw,4.5rem));
  background-color:var(--accent);
  background-image:linear-gradient(180deg,
    var(--accent) 0%,var(--accent) 8%,#0E272E 20%,#0E272E 34%,
    var(--accent) 44%,var(--accent) 100%);
  background-attachment:fixed;
  background-size:100% 100vh;
  background-position:center;
}
@media (max-width:560px){
  .mark-line{grid-template-columns:minmax(0,1fr)}
  .mark-line::after{margin-block-start:.9rem}
}
.mark-inner{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:clamp(1.5rem,4vh,2.75rem);
}
@media (min-width:900px){
  .mark{position:relative}
  .mark-inner{gap:0}
  .mark-art{
    position:absolute;
    inset-inline-end:0;
    inset-block-end:calc(var(--mark-pb) + .34*var(--ml-fs) - .4626*var(--art-w));
    margin:0;
  }
}
.mark-art{
  align-self:flex-end;
  inline-size:var(--art-w);
  block-size:auto;
}
.card-gets-label{
  margin:.9rem 0 .35rem;
  font-size:.75rem;
  font-weight:700;
  color:var(--accent);
}
.card-gets{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:.3rem;
}
.card-gets li{
  position:relative;
  padding-inline-start:.85rem;
  font-size:.875rem;
  line-height:1.75;
  color:var(--fg-muted);
}
.card-gets li::before{
  content:"";
  position:absolute;
  inset-inline-start:0;
  inset-block-start:.72em;
  inline-size:4px;
  block-size:4px;
  background:currentColor;
  opacity:.5;
}
.card-metas{
  margin:.95rem 0 0;
  padding-block-start:.75rem;
  border-block-start:1px solid var(--rule);
  display:flex;
  flex-wrap:wrap;
  gap:.15rem 1.6rem;
}
.card-meta{display:flex;flex-direction:column;gap:.05rem}
.card-meta dt{font-size:.7rem;color:var(--fg-muted)}
.card-meta dd{
  margin:0;
  font-size:.9375rem;
  font-variant-numeric:tabular-nums;
}
.card-price dd b{
  font-size:1.125rem;
  font-weight:700;
  color:var(--fg);
  unicode-bidi:isolate;
  direction:ltr;
}
.services-seq{
  margin:.4rem 0 0;
  max-inline-size:none;
  color:var(--fg);
  font-size:clamp(.9375rem,min(1.2vw,1.85vh),1.0625rem);
  line-height:1.9;
  font-weight:700;
  text-wrap:pretty;
}
.card .card-not{
  margin:.8rem 0 0;
  padding-block-start:.7rem;
  border-block-start:1px solid var(--rule);
  font-size:.75rem;
  line-height:1.8;
  color:var(--fg-muted);
  text-wrap:pretty;
}
.card .card-not b{font-weight:700;color:var(--fg)}
.unit-title{
  margin:0 0 .6rem;
  font-size:.8125rem;
  font-weight:700;
  color:var(--accent);
}
.unit,.optable{
  margin-block-start:clamp(1.6rem,4vh,2.6rem);
  padding-block-start:clamp(1.2rem,3vh,1.8rem);
  border-block-start:1px solid var(--rule);
}
.unit{max-inline-size:none}
.unit p{
  margin:.5rem 0 0;
  max-inline-size:none;
  color:var(--fg-muted);
  font-size:.9375rem;
  line-height:1.95;
  text-wrap:pretty;
}
.optable-scroll{overflow-x:auto}
.optable table{inline-size:100%;border-collapse:collapse;max-inline-size:56rem}
.optable th,.optable td{
  text-align:start;
  padding:.5rem .8rem .5rem 0;
  border-block-end:1px solid var(--rule);
  font-size:.875rem;
  line-height:1.75;
  vertical-align:top;
}
.optable thead th{
  font-size:.8125rem;
  color:var(--accent);
  font-weight:700;
  border-block-end-color:var(--accent);
}
.optable tbody th{font-weight:400;color:var(--fg-muted);min-inline-size:11rem}
.optable td{color:var(--fg);min-inline-size:12rem}
.optable tr:last-child th,.optable tr:last-child td{border-block-end:0}
.optable tr:last-child td{font-weight:700;font-variant-numeric:tabular-nums}
.opnotes{
  margin:1rem 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:.55rem;
  max-inline-size:none;
}
.opnotes li{
  position:relative;
  padding-inline-start:.85rem;
  font-size:.8125rem;
  line-height:1.85;
  color:var(--fg-muted);
  text-wrap:pretty;
}
.opnotes li::before{
  content:"";
  position:absolute;
  inset-inline-start:0;
  inset-block-start:.72em;
  inline-size:4px;
  block-size:4px;
  background:currentColor;
  opacity:.5;
}
  font-size:.75rem;
  line-height:1.8;
  color:var(--fg-muted);
}
.about{padding-block:clamp(3rem,9vh,6rem)}
.about-heading{
  margin:.15rem 0 0;
  font-size:clamp(1.25rem,min(2.4vw,3.4vh),1.85rem);
  font-weight:700;
  line-height:1.6;
  text-wrap:balance;
  max-inline-size:26ch;
}
.about-body{
  margin:.9rem 0 0;
  max-inline-size:none;
  color:var(--fg-muted);
  font-size:clamp(.9375rem,min(1.15vw,1.85vh),1.0625rem);
  line-height:1.95;
  text-wrap:pretty;
}
.about-points{
  margin:clamp(1.4rem,3.4vh,2.25rem) 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:0;
  border-block-start:1px solid var(--rule);
}
.about-points li{
  padding-block:clamp(.85rem,2.2vh,1.35rem);
  border-block-end:1px solid var(--rule);
  max-inline-size:64ch;
  color:var(--fg-muted);
  font-size:clamp(.875rem,min(1.05vw,1.7vh),1rem);
  line-height:1.9;
  text-wrap:pretty;
}
@media (min-width:900px){
  .about-points{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(2rem,5vw,4rem)}
  .about-points li{max-inline-size:46ch}
}
.close{position:relative;overflow:clip;padding-block:clamp(3.5rem,11vh,6.5rem)}
.close-inner{position:relative;z-index:1;max-inline-size:52ch;display:flex;flex-direction:column;align-items:flex-start;gap:.9rem}
.close-heading{
  margin:0;
  font-size:clamp(1.3rem,min(2.6vw,3.6vh),1.95rem);
  font-weight:700;
  line-height:1.6;
  text-wrap:balance;
}
.close .contact-lead{margin:0}
.close .actions{margin-block-start:.4rem}
.brief-ask{
  margin:0;
  color:var(--fg-muted);
  font-size:.9375rem;
  line-height:1.85;
  max-inline-size:46ch;
  text-wrap:pretty;
}
.no-tracking{max-inline-size:none;flex-basis:100%}
.no-tracking a{color:inherit;text-decoration-color:var(--rule);text-underline-offset:.2em}
.no-tracking a:hover{color:var(--fg)}
.arcs-flip{transform:scaleY(-1)}
.services-lede{
  margin:.15rem 0 clamp(1.1rem,2.6vh,1.75rem);
  max-inline-size:none;
  color:var(--fg-muted);
  font-size:clamp(.9375rem,min(1.25vw,1.9vh),1.125rem);
  line-height:1.85;
  text-wrap:pretty;
}
.services{padding-block:clamp(3rem,9vh,6rem)}
.eyebrow{
  margin:0 0 clamp(.6rem,1.6vh,1rem);
  color:var(--accent);
  font-size:clamp(1.0625rem,min(1.9vw,2.6vh),1.4375rem);
  font-weight:700;
  line-height:1.5;
}
.cards{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:clamp(.85rem,2vw,1.5rem);
  margin:0;
  padding:0;
  list-style:none;
}
@media (min-width:760px){
  .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.card{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:.5rem;
  padding:clamp(1.1rem,2.2vw,1.6rem);
  background:var(--card-bg);
  border:1px solid var(--rule);
  border-radius:var(--r);
}
.card h3,.steps h3{
  margin:0;
  font-size:clamp(1.0625rem,1.4vw,1.25rem);
  font-weight:700;
  line-height:1.6;
}
.card p,.steps p{margin:0;color:var(--fg-muted);font-size:.9375rem;line-height:1.8;text-wrap:pretty}
.chip{
  display:grid;
  place-items:center;
  inline-size:1.9rem;
  block-size:1.9rem;
  border-radius:999px;
  background:var(--chip-bg);
  color:var(--chip-fg);
  font-size:.875rem;
  font-weight:700;
  font-variant-numeric:tabular-nums;
  flex:none;
  line-height:1;
}
.cards .chip{
  inline-size:2.9rem;
  block-size:2.9rem;
  background:none;
  color:var(--accent);
  border:1.5px solid var(--rule);
}
.mark-svg{inline-size:1.65rem;height:1.65rem;display:block}
footer{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:.5rem clamp(1rem,3vw,2.5rem);
  padding-block:clamp(1rem,2.5vh,1.75rem);
  border-block-start:1px solid var(--rule);
  color:var(--fg-muted);
  font-size:.875rem;
  line-height:1.8;
}
footer p{margin:0}
.tagline{max-inline-size:62ch}
:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
@media (max-width:640px){
  .field{--field-opacity:.068;inline-size:min(105vmin,560px);inset-inline-end:-30vmin}
  .hero main{max-inline-size:100%}
  footer{flex-direction:column;align-items:stretch;gap:.35rem;text-align:start}
}
@media print{
  body{background:#fff !important;color:#000;background-image:none}
  body::after,.field,.backdrop{display:none}
  :root,.s-deep,.s-pale{--fg:#0E0E0F;--fg-muted:#4A5C5A;--accent:#34726A;--cta-bg:#0E272E;--cta-fg:#E4F0ED;--card-bg:#FFFFFF;--focus:#7A6720;--chip-bg:#34726A;--chip-fg:#E4F0ED;--surface:#fff;color:var(--fg);background:none}
  .mission,.contact-lead,footer{color:#333}
  .chip{background:none;color:#000;border:1px solid #000}
  .cta,.cta-wa{background:none;color:#000;border:1px solid #000}
  .lockup{color:#000}
}
@media (forced-colors:active){
  .cta,.cta-wa{border:2px solid ButtonText;background:ButtonFace;color:ButtonText}
  :focus-visible{outline-color:Highlight}
}
@media (max-height:760px){
  .hero .mission{line-height:1.75}
  .hero .contact-lead{font-size:.875rem}
  .hero .cta{padding:.7rem 1.5rem;font-size:1rem}
}
@media (max-height:600px),(max-width:360px){
  .hero{padding-block:1rem}
  .hero main{gap:.8rem}
  .hero .mission{line-height:1.62}
  .hero .contact-lead{font-size:.8125rem}
}
@media (max-height:520px){
  .hero .lockup{inline-size:clamp(60px,9vh,88px)}
  .hero .mission{line-height:1.6;max-inline-size:74ch}
}
@media (max-height:440px){
  .hero .lockup{inline-size:clamp(50px,8vh,72px)}
  .hero .mission{line-height:1.55}
  .hero{padding-block:.85rem}
  .hero main{gap:.6rem}
  .hero .contact-lead{font-size:.75rem}
}
@media (max-height:360px){
  .hero{padding-block:.6rem}
  .hero main{gap:.45rem}
}
@media (prefers-reduced-motion:no-preference){
  .cta{transition:translate .18s cubic-bezier(.16,1,.3,1),box-shadow .18s cubic-bezier(.16,1,.3,1)}
  .cta:hover{translate:0 -1px;box-shadow:0 10px 30px rgba(14,39,46,.35)}
  .cta:active{translate:0 0;scale:.985}
  .rise{animation:rise .78s cubic-bezier(.16,1,.3,1) backwards}
  .rise:nth-child(1){animation-delay:.05s}
  .rise:nth-child(2){animation-delay:.17s}
  .rise:nth-child(3){animation-delay:.29s}
  .rise:nth-child(4){animation-delay:.41s}
  .field{animation:field 1.5s cubic-bezier(.16,1,.3,1) backwards}
  .caret{animation:blink 1.15s step-end infinite}
  @keyframes rise{from{opacity:0;translate:0 14px}to{opacity:1;translate:0 0}}
  @keyframes field{from{opacity:0;scale:1.06}to{opacity:var(--field-opacity);scale:1}}
  @keyframes blink{0%,100%{opacity:1}50%{opacity:0}}
  .claim .arcs{animation:drift 26s ease-in-out infinite alternate}
  @keyframes drift{from{opacity:.22;scale:1}to{opacity:.3;scale:1.04}}
  @supports (animation-timeline:view()){
    .claim-inner,.steps li,.cards,.mark-line{
      animation-name:fade,rise-in;
      animation-timing-function:linear,cubic-bezier(.33,0,.2,1);
      animation-fill-mode:both;
      animation-timeline:view(),view();
      animation-range:cover 0% cover 11%,cover 0% cover 60%;
    }
    @keyframes fade{from{opacity:0}to{opacity:1}}
    @keyframes rise-in{from{translate:0 36px}to{translate:0 0}}
    .mark-line::after{
      animation-name:draw;
      animation-timing-function:linear;
      animation-fill-mode:both;
      animation-timeline:view();
      animation-range:entry 25% cover 55%;
      transform-origin:right center;
    }
    [dir="ltr"] .mark-line::after{transform-origin:left center}
    @keyframes draw{from{scale:0 1}to{scale:1 1}}
  }
}