/* THABAT — site styles. Brand guidelines Vol.1: Navy 55 · Ivory 22 · Sand 15 · Champagne ≤5.
   Cormorant Garamond for display (Medium 500, never caps), Jost for body/labels. Square corners. Flush-left headlines. */
:root{
  --navy:#283848; --navy-deep:#1d2a36; --ink:#101820; --sand:#D9C4A3; --sand-hover:#cbb491;
  --champagne:#C9A86A; --ivory:#F1EBE1; --white:#FFFFFF;
  --rule:rgba(40,56,72,.22); --rule-strong:rgba(40,56,72,.45); --rule-light:rgba(217,196,163,.24);
  --display:"Cormorant Garamond", Georgia, "Times New Roman", serif;
  --body:"Jost", "Century Gothic", "Helvetica Neue", Arial, sans-serif;
  --arabic:"Almarai", "Geeza Pro", Tahoma, sans-serif;
  --max:1240px; --gutter:clamp(16px,4vw,48px);
  --ease:cubic-bezier(.2,.7,.2,1);
  /* Ashlar stone coursing — Jordanian cut-stone walls, drawn as hairlines */
  --stone-sand:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='120' viewBox='0 0 240 120'%3E%3Cg fill='none' stroke='%23D9C4A3' stroke-opacity='.16' stroke-width='1'%3E%3Cpath d='M0 .5H240M0 40.5H240M0 80.5H240'/%3E%3Cpath d='M.5 0V40M96.5 0V40M176.5 0V40M48.5 40V80M136.5 40V80M212.5 40V80M24.5 80V120M110.5 80V120M190.5 80V120'/%3E%3C/g%3E%3C/svg%3E");
  --stone-navy:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='120' viewBox='0 0 240 120'%3E%3Cg fill='none' stroke='%23283848' stroke-opacity='.07' stroke-width='1'%3E%3Cpath d='M0 .5H240M0 40.5H240M0 80.5H240'/%3E%3Cpath d='M.5 0V40M96.5 0V40M176.5 0V40M48.5 40V80M136.5 40V80M212.5 40V80M24.5 80V120M110.5 80V120M190.5 80V120'/%3E%3C/g%3E%3C/svg%3E");
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--body);font-weight:300;font-size:16px;line-height:1.7;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
:focus-visible{outline:2px solid var(--champagne);outline-offset:2px}
.wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--gutter)}
.skip{position:absolute;left:-999px;top:8px;background:var(--sand);color:var(--navy);padding:10px 14px;z-index:100}
.skip:focus{left:8px}
h1,h2,h3,h4{font-family:var(--display);font-weight:500;margin:0;letter-spacing:0;text-wrap:balance;font-variant-numeric:lining-nums}
p{margin:0}
.eyebrow{font-family:var(--body);font-weight:400;font-size:12.5px;letter-spacing:.24em;text-transform:uppercase;line-height:1.2;display:flex;align-items:center;gap:14px}
.eyebrow::before{content:"";width:28px;height:1px;background:currentColor;opacity:.8}
.accent{width:96px;height:2px;background:var(--champagne);border:0;margin:0}
.ar{font-family:var(--arabic);font-weight:400}

/* Buttons — square, flush-left label */
.btn{display:inline-flex;align-items:center;gap:14px;font-family:var(--body);font-weight:400;font-size:13px;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;padding:16px 24px;border-radius:0;border:1px solid transparent;cursor:pointer;line-height:1;transition:background .25s,color .25s,border-color .25s}
.btn .arr{display:inline-block;width:18px;height:1px;background:currentColor;position:relative;transition:width .3s var(--ease)}
.btn .arr::after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg)}
.btn:hover .arr{width:28px}
.btn-sand{background:var(--sand);color:var(--navy)} .btn-sand:hover{background:var(--sand-hover)}
.btn-navy{background:var(--navy);color:var(--sand)} .btn-navy:hover{background:var(--navy-deep)}
.btn-line-sand{border-color:rgba(217,196,163,.6);color:var(--sand)} .btn-line-sand:hover{background:var(--sand);color:var(--navy);border-color:var(--sand)}
.btn-line-navy{border-color:var(--navy);color:var(--navy)} .btn-line-navy:hover{background:var(--navy);color:var(--sand)}
.link-u{font-size:13px;letter-spacing:.2em;text-transform:uppercase;font-weight:400;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:4px;display:inline-flex;gap:12px;align-items:center}
.link-u:hover{color:var(--champagne)}

/* Header */
.site-header{position:fixed;inset:0 0 auto 0;z-index:50;color:var(--sand);transition:background .35s,box-shadow .35s,padding .35s}
.site-header .bar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:22px;transition:padding .35s}
.site-header.solid{background:rgba(40,56,72,.97);box-shadow:0 1px 0 var(--rule-light)}
.site-header.solid .bar{padding-block:12px}
.brand{display:flex;align-items:center;text-decoration:none}
.brand img{width:auto;height:58px;transition:height .35s}
.site-header.solid .brand img{height:46px}
.nav{display:flex;align-items:center;gap:clamp(20px,3vw,40px)}
.nav a.nl{font-size:12.5px;letter-spacing:.22em;text-transform:uppercase;text-decoration:none;font-weight:400;position:relative;padding-block:6px;opacity:.88}
.nav a.nl::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:0;background:var(--champagne);transition:width .3s var(--ease)}
.nav a.nl:hover,.nav a.nl[aria-current=page]{opacity:1}
.nav a.nl:hover::after,.nav a.nl[aria-current=page]::after{width:100%}
.nav .btn{padding:13px 18px;font-size:12px}
.menu-btn{display:none;background:none;border:1px solid rgba(217,196,163,.5);color:var(--sand);width:46px;height:46px;cursor:pointer;padding:0;position:relative}
.menu-btn span{position:absolute;left:12px;right:12px;height:1px;background:currentColor;transition:transform .3s,opacity .3s}
.menu-btn span:nth-child(1){top:16px}.menu-btn span:nth-child(2){top:22px}.menu-btn span:nth-child(3){top:28px}
.menu-open .menu-btn span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.menu-open .menu-btn span:nth-child(2){opacity:0}
.menu-open .menu-btn span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
@media (max-width:860px){
  .menu-btn{display:block}
  .nav{position:fixed;inset:0;background:var(--navy);flex-direction:column;align-items:flex-start;justify-content:center;gap:28px;padding:96px var(--gutter) 48px;
       background-image:var(--stone-sand);transform:translateY(-100%);transition:transform .45s var(--ease);z-index:-1}
  .menu-open .nav{transform:none}
  .nav a.nl{font-family:var(--display);font-size:40px;letter-spacing:0;text-transform:none;font-weight:500;opacity:1}
  .nav .btn{margin-top:12px;font-size:13px;padding:16px 22px}
  .brand img{height:46px}
}

.nav-soc{display:flex;gap:6px;align-items:center}
.nav-soc a{width:38px;height:38px;display:grid;place-items:center;color:var(--sand);opacity:.85;border:1px solid transparent;transition:border-color .25s,opacity .25s}
.nav-soc a:hover{opacity:1;border-color:rgba(217,196,163,.5)}
.nav-soc svg{width:18px;height:18px}
@media (max-width:860px){.nav-soc{gap:12px}.nav-soc a{width:48px;height:48px;border-color:rgba(217,196,163,.5)}.nav-soc svg{width:22px;height:22px}}
.f-soc{display:flex;flex-direction:column;gap:12px}
.f-soc a{display:flex;align-items:center;gap:12px;color:var(--ivory);text-decoration:none;font-size:15px;opacity:.88}
.f-soc a:hover{opacity:1;color:var(--sand)}
.f-soc svg{width:34px;height:34px;padding:7px;border:1px solid var(--rule-light);color:var(--sand)}

/* Hero (home) */
.hero{position:relative;background:var(--navy);color:var(--sand);min-height:min(100svh,980px);display:flex;align-items:flex-end;overflow:hidden;isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;background-image:var(--stone-sand);opacity:.55;z-index:-2;
  -webkit-mask-image:linear-gradient(90deg,#000 0%,transparent 70%);mask-image:linear-gradient(90deg,#000 0%,transparent 70%)}
.hero .contours{position:absolute;right:-8%;top:-6%;width:min(78vw,1100px);height:115%;color:var(--sand);z-index:-1;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 45%);mask-image:linear-gradient(90deg,transparent 0%,#000 45%)}
.hero .watermark{position:absolute;right:clamp(24px,10vw,180px);top:50%;width:clamp(150px,19vw,280px);transform:translateY(-58%);opacity:.95;z-index:-1}
.hero .inner{padding-block:160px clamp(56px,9vh,104px);width:100%}
.hero .eyebrow{color:var(--champagne)}
.hero h1{font-size:clamp(52px,8.4vw,124px);line-height:.94;margin-top:28px;max-width:8.6em;color:var(--sand)}
.hero .lead{font-size:clamp(18px,1.7vw,21px);line-height:1.6;max-width:31em;margin-top:30px;color:var(--ivory)}
.hero .actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:40px}
.hero .meta{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-top:clamp(56px,10vh,110px);padding-top:22px;border-top:1px solid var(--rule-light);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--sand);flex-wrap:wrap}
.scroll-cue{display:flex;align-items:center;gap:14px;text-decoration:none}
.scroll-cue i{display:block;width:1px;height:38px;background:linear-gradient(var(--sand),transparent);animation:cue 2.2s var(--ease) infinite;transform-origin:top}
@keyframes cue{0%{transform:scaleY(0)}50%{transform:scaleY(1)}100%{transform:scaleY(1);opacity:0}}
@media (max-width:860px){
  .hero .watermark{display:none}
  .hero .contours{width:150vw;right:-55%;top:-10%;height:120%}
  .hero .inner{padding-top:150px}
}

/* Contour draw-in */
.contours path{stroke-dasharray:3200;stroke-dashoffset:3200;animation:draw 3.6s var(--ease) forwards;animation-delay:var(--d,0ms)}
@keyframes draw{to{stroke-dashoffset:0}}

/* Inner page hero */
.page-hero{position:relative;background:var(--navy);color:var(--sand);overflow:hidden;isolation:isolate}
.page-hero::before{content:"";position:absolute;inset:0;background-image:var(--stone-sand);z-index:-2}
.page-hero .contours{position:absolute;right:-12%;top:-40%;width:min(70vw,900px);height:180%;color:var(--sand);z-index:-1;opacity:.8}
.page-hero .inner{padding-block:clamp(170px,22vh,230px) clamp(64px,9vw,112px)}
.page-hero .eyebrow{color:var(--champagne)}
.page-hero h1{font-size:clamp(48px,7vw,96px);line-height:.98;margin-top:24px;max-width:12em}
.page-hero .lead{font-size:clamp(18px,1.6vw,20px);line-height:1.6;max-width:34em;margin-top:26px;color:var(--ivory)}
.crumbs{display:flex;gap:10px;font-size:12px;letter-spacing:.22em;text-transform:uppercase;margin-top:40px;color:var(--sand);opacity:.75}
.crumbs a{text-decoration:none}

/* Sections */
.band{padding-block:clamp(80px,11vw,150px);position:relative}
.band.tight{padding-block:clamp(64px,8vw,104px)}
.band.white{background:var(--white)}
.band.stone{background-image:var(--stone-navy)}
.head{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,5vw,72px);align-items:end;margin-bottom:clamp(48px,6vw,80px)}
.head .eyebrow{color:var(--navy);opacity:.8}
.head h2{font-size:clamp(40px,5vw,64px);line-height:1.02;color:var(--navy);margin-top:20px}
.head p{font-size:clamp(17px,1.4vw,19px);color:var(--ink);max-width:34em}
@media (max-width:860px){.head{grid-template-columns:1fr;align-items:start}}

/* Statement */
.statement{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:clamp(24px,5vw,72px)}
.statement .eyebrow{color:var(--navy);opacity:.8;align-self:start;margin-top:14px}
.statement p.big{font-family:var(--display);font-weight:400;font-size:clamp(30px,3.6vw,50px);line-height:1.18;color:var(--navy)}
.statement p.big em{font-style:italic;color:var(--ink)}
.statement .sub{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,4vw,56px);margin-top:clamp(40px,5vw,64px);padding-top:32px;border-top:1px solid var(--rule)}
.statement .sub p{font-size:17px}
@media (max-width:860px){.statement{grid-template-columns:1fr}.statement .sub{grid-template-columns:1fr}}

/* Principles / values */
.values{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:2px solid var(--navy)}
.values.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.value{padding:36px 28px 8px 0;display:flex;flex-direction:column;gap:16px;min-width:0}
.value + .value{padding-left:28px;border-left:1px solid var(--rule)}
.value .ic{width:52px;height:52px;color:var(--navy)}
.value .ic svg{width:100%;height:100%}
.value .n{font-size:12px;letter-spacing:.22em;color:var(--champagne);font-weight:500}
.value h3{font-size:clamp(26px,2.2vw,30px);line-height:1.08;color:var(--navy)}
.value p{font-size:15.5px}
@media (max-width:1100px){.values{grid-template-columns:repeat(3,minmax(0,1fr))}.value:nth-child(4){padding-left:0;border-left:0}.value:nth-child(n+4){border-top:1px solid var(--rule);margin-top:28px}}
@media (max-width:760px){.values,.values.three{grid-template-columns:1fr}.value + .value{padding-left:0;border-left:0;border-top:1px solid var(--rule);margin-top:8px}.value:nth-child(n+4){margin-top:8px}.value{padding-right:0}}

/* Project feature */
.feature{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);background:var(--white);border:1px solid var(--rule)}
.feature .visual{position:relative;background:var(--navy);min-height:clamp(380px,46vw,620px);overflow:hidden;isolation:isolate;color:var(--sand)}
.feature .visual::before{content:"";position:absolute;inset:0;background-image:var(--stone-sand);background-size:200px 100px;z-index:-1}
.feature .visual .contours{position:absolute;inset:-20% -30% -20% -10%;width:140%;height:140%;color:var(--sand);opacity:.7;z-index:-1}
.feature .visual .mk{position:absolute;left:50%;top:50%;width:clamp(120px,15vw,200px);transform:translate(-50%,-52%)}
.feature .visual .tag{position:absolute;left:28px;top:28px}
.feature .visual .coord{position:absolute;left:28px;right:28px;bottom:24px;display:flex;justify-content:space-between;font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--sand);opacity:.8;gap:12px;flex-wrap:wrap}
.feature .body{padding:clamp(32px,4.5vw,64px);display:flex;flex-direction:column;justify-content:center;gap:24px}
.feature .body .eyebrow{color:var(--navy);opacity:.8}
.feature .body h3{font-size:clamp(44px,5vw,68px);line-height:.98;color:var(--navy)}
.feature .body p{font-size:17px;max-width:30em}
.feature .rows{border-top:1px solid var(--rule);margin-top:4px}
.feature .rows div{display:flex;justify-content:space-between;gap:16px;padding-block:14px;border-bottom:1px solid var(--rule);font-size:15px}
.feature .rows dt{font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:400;color:var(--navy);opacity:.75}
.feature .rows dd{margin:0;color:var(--navy);font-weight:400}
@media (max-width:900px){.feature{grid-template-columns:1fr}}
.tag{display:inline-block;font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;border:1px solid currentColor;padding:9px 13px;line-height:1;font-weight:400}

/* Process */
.process{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:relative}
.process::before{content:"";position:absolute;left:0;right:0;top:27px;height:1px;background:var(--rule-strong)}
.process li{position:relative;padding-right:28px;display:flex;flex-direction:column;gap:14px;min-width:0}
.process .node{width:55px;height:55px;background:var(--ivory);border:1px solid var(--navy);display:grid;place-items:center;color:var(--navy);position:relative}
.process .node svg{width:28px;height:28px}
.process .node::after{content:"";position:absolute;right:-5px;top:50%;width:8px;height:8px;background:var(--champagne);transform:translateY(-50%) rotate(45deg)}
.process li:last-child .node::after{display:none}
.process .n{font-size:12px;letter-spacing:.22em;color:var(--champagne);font-weight:500;margin-top:14px}
.process h3{font-size:30px;line-height:1.05;color:var(--navy)}
.process p{font-size:15.5px;max-width:20em}
.band.white .process .node{background:var(--white)}
@media (max-width:900px){.process{grid-template-columns:1fr 1fr;row-gap:48px}.process::before{display:none}.process .node::after{display:none}}
@media (max-width:520px){.process{grid-template-columns:1fr}}

/* Navy panel with mission / vision */
.mv{position:relative;background:var(--navy);color:var(--sand);overflow:hidden;isolation:isolate}
.mv::before{content:"";position:absolute;inset:0;background-image:var(--stone-sand);z-index:-2}
.mv .contours{position:absolute;left:-20%;top:-30%;width:90%;height:160%;color:var(--sand);opacity:.6;z-index:-1}
.mv .grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,3vw,32px)}
.mv .card{background:rgba(16,24,32,.42);border:1px solid var(--rule-light);padding:clamp(32px,4vw,56px);display:flex;flex-direction:column;gap:20px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.mv .card .eyebrow{color:var(--champagne)}
.mv .card h3{font-size:clamp(34px,3.4vw,46px);line-height:1.05}
.mv .card p{color:var(--ivory);font-size:17px}
.mv .head h2{color:var(--sand)} .mv .head .eyebrow{color:var(--champagne);opacity:1} .mv .head p{color:var(--ivory)}
@media (max-width:860px){.mv .grid{grid-template-columns:1fr}}

/* Name band (sand) */
.name-band{background:var(--sand);color:var(--navy);position:relative;overflow:hidden;isolation:isolate}
.name-band::before{content:"";position:absolute;inset:0;background-image:var(--stone-navy);z-index:-1}
.name-band .grid{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(32px,7vw,110px);align-items:center}
.name-band img{width:clamp(110px,13vw,170px)}
.name-band blockquote{margin:0;font-family:var(--display);font-style:italic;font-weight:400;font-size:clamp(28px,3.4vw,44px);line-height:1.2;max-width:22em}
.name-band cite{display:block;margin-top:22px;font-style:normal;font-family:var(--body);font-size:12.5px;letter-spacing:.22em;text-transform:uppercase;font-weight:400}
@media (max-width:640px){.name-band .grid{grid-template-columns:1fr}}

/* CTA strip */
.cta{background:var(--navy);color:var(--sand);position:relative;overflow:hidden;isolation:isolate}
.cta::before{content:"";position:absolute;inset:0;background-image:var(--stone-sand);z-index:-1}
.cta .grid{display:flex;justify-content:space-between;align-items:flex-end;gap:32px 64px;flex-wrap:wrap}
.cta h2{font-size:clamp(38px,4.6vw,62px);line-height:1.02;max-width:13em}
.cta p{color:var(--ivory);margin-top:18px;max-width:32em;font-size:17px}
.cta .eyebrow{color:var(--champagne)}

/* Story split (about) */
.split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);align-items:start}
.split .plate{position:relative;background:var(--navy);aspect-ratio:4/5;overflow:hidden;isolation:isolate;position:sticky;top:110px}
.split .plate::before{content:"";position:absolute;inset:0;background-image:var(--stone-sand);z-index:-1}
.split .plate .contours{position:absolute;inset:-25%;width:150%;height:150%;color:var(--sand);opacity:.65;z-index:-1}
.split .plate img{position:absolute;left:50%;top:50%;width:42%;transform:translate(-50%,-52%)}
.split .plate span{position:absolute;left:24px;bottom:22px;font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--sand);opacity:.85}
.split .text{display:flex;flex-direction:column;gap:22px}
.split .text h2{font-size:clamp(38px,4.4vw,58px);line-height:1.04;color:var(--navy);margin-top:18px}
.split .text p{font-size:17.5px;max-width:36em}
.split .text p.lead{font-family:var(--display);font-weight:400;font-size:clamp(24px,2.3vw,30px);line-height:1.3;color:var(--navy)}
@media (max-width:860px){.split{grid-template-columns:1fr}.split .plate{position:relative;top:0;aspect-ratio:16/11}}

/* Contact */
.contact-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);align-items:start}
.channels{border-top:2px solid var(--navy)}
.channel{display:flex;flex-direction:column;gap:8px;padding-block:24px;border-bottom:1px solid var(--rule)}
.channel .lbl{font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:400;color:var(--navy);opacity:.75}
.channel .val{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.channel .val span{font-family:var(--display);font-size:clamp(26px,2.6vw,32px);line-height:1.1;color:var(--navy);overflow-wrap:anywhere}
.mini{font-family:var(--body);font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;background:none;border:0;border-bottom:1px solid var(--navy);color:var(--navy);padding:2px 0;cursor:pointer;text-decoration:none;font-weight:400}
.mini:hover{color:var(--champagne);border-color:var(--champagne)}
.socials{display:flex;gap:12px;margin-top:28px}
.socials a{width:46px;height:46px;border:1px solid var(--navy);display:grid;place-items:center;color:var(--navy);transition:background .25s,color .25s}
.socials a:hover{background:var(--navy);color:var(--sand)}
.socials svg{width:20px;height:20px}
form.interest{background:var(--white);border:1px solid var(--rule);padding:clamp(28px,4vw,52px);display:grid;gap:22px}
form.interest h3{font-size:clamp(32px,3vw,40px);color:var(--navy);line-height:1.05}
form.interest .note{margin-top:-6px;font-size:15.5px}
.field{display:flex;flex-direction:column;gap:8px}
.row2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px}
@media (max-width:560px){.row2{grid-template-columns:1fr}}
label{font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:400;color:var(--navy)}
input,select,textarea{font:inherit;font-weight:300;font-size:16px;color:var(--ink);background:var(--ivory);border:1px solid var(--rule);border-radius:0;padding:13px 14px;width:100%;-webkit-appearance:none;appearance:none}
select{background-image:linear-gradient(45deg,transparent 50%,var(--navy) 50%),linear-gradient(135deg,var(--navy) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 15px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:40px}
input:focus,select:focus,textarea:focus{outline:2px solid var(--champagne);outline-offset:0;border-color:var(--navy)}
textarea{min-height:120px;resize:vertical}
.form-status{font-size:15px;color:var(--navy);min-height:1.5em}
@media (max-width:860px){.contact-grid{grid-template-columns:1fr}}

/* Footer */
.site-footer{background:var(--ink);color:var(--sand);padding-block:clamp(64px,8vw,96px) 32px;position:relative;overflow:hidden;isolation:isolate}
.site-footer::before{content:"";position:absolute;inset:0;background-image:var(--stone-sand);opacity:.5;z-index:-1}
.site-footer .top{display:grid;grid-template-columns:minmax(0,4fr) repeat(3,minmax(0,2.6fr));gap:40px}
.site-footer .fmark{width:92px}
.site-footer .tagline{font-family:var(--display);font-size:28px;line-height:1.15;margin-top:24px;max-width:10em}
.site-footer h4{font-family:var(--body);font-size:12px;letter-spacing:.24em;text-transform:uppercase;font-weight:400;color:var(--champagne);margin-bottom:18px}
.site-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.site-footer li,.site-footer li a{font-size:15px;color:var(--ivory);text-decoration:none;opacity:.88}
.site-footer li a:hover{opacity:1;color:var(--sand)}
.site-footer .bottom{display:flex;justify-content:space-between;gap:16px 40px;flex-wrap:wrap;margin-top:clamp(56px,7vw,88px);padding-top:24px;border-top:1px solid var(--rule-light);font-size:12.5px;letter-spacing:.04em;color:var(--ivory);opacity:.75}
@media (max-width:900px){.site-footer .top{grid-template-columns:1fr 1fr}.site-footer .top > div:first-child{grid-column:1/-1}}
@media (max-width:520px){.site-footer .top{grid-template-columns:1fr}}

/* Reveal on scroll */
.js .rv{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:var(--rd,0ms)}
.js .rv.in{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .contours path{stroke-dashoffset:0}
  .js .rv{opacity:1;transform:none}
}
