/* ASHR — wide layout, matching the original Shopify theme's container system:
   full-bleed sections with 65px gutters (25px on mobile), viewport-relative
   display type, and 250/750/750/250 flex rows. */

/* ---------- fonts ----------
   Declared in the same order and at the same weights as the original theme.
   Note Pilat Wide Book is declared AFTER DemiBold at weight 500, so Book wins
   for 500 — which is what every heading and button in the theme resolves to. */
@font-face{font-family:"Helvetica Neue ET";src:url(../fonts/HelveticaNeueeTextPro-Light.woff2) format("woff2"),url(../fonts/HelveticaNeueeTextPro-Light.woff) format("woff");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"Helvetica Neue ET";src:url(../fonts/HelveticaNeueeTextPro-Md.woff2) format("woff2"),url(../fonts/HelveticaNeueeTextPro-Md.woff) format("woff");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Helvetica Neue ET";src:url(../fonts/310dc1d4-8643-4bc5-a0e4-c9e07fe3217b.woff2) format("woff2"),url(../fonts/55107472-dc96-4898-b2fb-e72595d743ff.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Pilat Wide";src:url(../fonts/PilatWide-Bold.woff2) format("woff2"),url(../fonts/PilatWide-Bold.woff) format("woff");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Pilat Wide";src:url(../fonts/PilatWide-DemiBold.woff2) format("woff2"),url(../fonts/PilatWide-DemiBold.woff) format("woff");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Pilat Wide";src:url(../fonts/PilatWide-Regular.woff2) format("woff2"),url(../fonts/PilatWide-Regular.woff) format("woff");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"Pilat Wide";src:url(../fonts/PilatWide-Regular.woff2) format("woff2"),url(../fonts/PilatWide-Regular.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Pilat Wide";src:url(../fonts/PilatWide-Book.woff2) format("woff2"),url(../fonts/PilatWide-Book.woff) format("woff");font-weight:500;font-style:normal;font-display:swap}

:root{
  --black:#000;--white:#fff;--grey:#666;--light:#999;--rule:#ccc;--wash:#f0f0f0;
  --head:"Pilat Wide","Helvetica Neue",Helvetica,Arial,sans-serif;
  --body:"Helvetica Neue ET","Helvetica Neue",Helvetica,Arial,sans-serif;
  --gutter:65px;          /* the theme's signature full-bleed gutter */
  --gap:30px;--gap-lg:50px;
  --hdr-h:136px;
  --rv-ease:cubic-bezier(.16,.68,.32,1);--rv-dur:.85s;
}
@media(max-width:899px){:root{--hdr-h:57px}}
@media(max-width:749px){:root{--gutter:25px;--gap:14px;--gap-lg:24px}}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--white);color:var(--black);font-family:var(--body);font-weight:400;
  font-size:13px;line-height:1.6;letter-spacing:.03125em;
  -webkit-font-smoothing:antialiased;overflow-x:hidden}
p,li{letter-spacing:.03125em}
img,video{max-width:100%;display:block}
img{height:auto}   /* attrs set the ratio, never the used height */
a{color:inherit;text-decoration:none}
h1,h2,h3,h4,h5,h6{font-family:var(--head);font-weight:500;text-transform:uppercase;
  color:inherit;line-height:inherit;margin:0 0 1.15385em}
h1{font-size:1.84615em}                      /* 24px */
h2{font-size:1.53846em;line-height:1.2em}    /* 20px */
h3,h4{font-size:1.23077em}                   /* 16px */
h5,h6{font-size:1.07692em}                   /* 14px */
p{margin:0 0 1.2em}
.skip{position:absolute;left:-9999px}
.skip:focus{left:8px;top:8px;z-index:100;background:#000;color:#fff;padding:10px 16px}
:focus-visible{outline:2px solid var(--black);outline-offset:3px}

/* full-bleed container — no max-width, just gutters. This is the whole trick. */
.wrapper{padding:0 var(--gutter)}
.margin-top{margin-top:50px}
.margin-bottom{margin-bottom:80px}
@media(max-width:749px){.margin-top{margin-top:25px}.margin-bottom{margin-bottom:40px}}

/* prose still needs a measure */
.measure{max-width:760px;margin-left:auto;margin-right:auto}
/* small section label above a page title — same idiom as the theme's .text-heading */
.eyebrow{font-family:var(--head);font-weight:400;font-size:13px;text-transform:uppercase;
  color:var(--grey);margin:0 0 10px}
.seo-container{margin:50px auto 25px;max-width:550px;text-align:center}
.seo-container h1{font-size:15px;margin-bottom:0}
.seo-container p{color:var(--grey);margin:14px 0 20px}
@media(max-width:749px){.seo-container{padding:0 25px;font-size:13px}}

/* ---------- display type ---------- */
.huge-text{font-family:var(--head);font-weight:500;font-size:3.5vw;line-height:1em;
  text-transform:uppercase;text-align:center;position:relative;z-index:9}
.huge-text .small{font-size:1.6vw;margin-top:13px;letter-spacing:.23em;line-height:1em;font-weight:500}
@media(min-width:2000px){.huge-text .small{font-size:30px}}
@media(max-width:749px){.huge-text .small{font-size:13px;line-height:150%;letter-spacing:.18em}}
@media(min-width:2000px){.huge-text{font-size:70px}}
@media(max-width:749px){.huge-text{font-size:30px;padding:0 25px}}
.huge-text-b{font-family:var(--head);font-size:49px;font-weight:500;line-height:110%;margin-bottom:20px;text-transform:uppercase}
@media(max-width:749px){.huge-text-b{font-size:26px}}

/* ---------- buttons ---------- */
.btn{display:inline-block;position:relative;font-family:var(--head);font-weight:500;letter-spacing:0;
  font-size:15px;text-transform:uppercase;padding:9px 15px;border:0;border-radius:0;
  background:var(--black);color:var(--white);cursor:pointer;text-align:center;
  transition:opacity .18s,transform .25s}
.btn:hover{opacity:.82}
.btn.white{background:var(--white);color:var(--black)}
.btn.large{padding:4px 14px 6px;font-size:16px}
.btn.ghost{background:transparent;color:var(--black);box-shadow:inset 0 0 0 1px var(--black)}
.btn.block{display:block;width:100%}
.btn.small{font-size:13px;padding:5px 10px}
@media(max-width:749px){.btn{font-size:13px}}
.link-u{text-transform:uppercase;text-decoration:underline;font-family:var(--head);font-weight:500;font-size:15px}

/* ---------- header: two rows, like the original ---------- */
.hdr{position:sticky;top:0;z-index:50;background:var(--white)}
.hdr__top{display:flex;align-items:flex-start;gap:16px;padding:14px var(--gutter) 0}
.logo-hor{margin-right:auto}
.logo-hor{width:208px}
.logo-hor img{width:100%;height:auto;vertical-align:top}
.hdr__util{font-family:var(--head);font-weight:400;font-size:13px;letter-spacing:0;text-transform:uppercase;color:var(--grey)}
.hdr__nav{display:flex;gap:26px;padding:10px var(--gutter) 14px;border-bottom:1px solid var(--rule)}
.hdr__nav a{font-family:var(--head);font-weight:400;font-size:15px;letter-spacing:0;
  text-transform:uppercase;padding:0 0 4px;border-bottom:1px solid transparent}
.hdr__nav a:hover{border-bottom-color:var(--black)}
.hdr__nav a[aria-current=page]{font-weight:700;border-bottom-color:var(--black)}
.hdr__toggle{display:none;background:none;border:0;padding:6px;cursor:pointer}
.hdr__toggle span{display:block;width:24px;height:1px;background:var(--black);margin:6px 0}
@media(max-width:899px){
  .logo-hor{width:95px}
  .hdr__top{align-items:center;gap:14px;padding:10px var(--gutter);border-bottom:1px solid var(--rule)}
  .hdr__toggle{display:block}
  .hdr__nav{position:fixed;inset:auto 0 auto 0;top:56px;background:var(--white);flex-direction:column;
    gap:0;padding:4px var(--gutter) 20px;display:none}
  .hdr__nav.is-open{display:flex}
  .hdr__nav a{padding:13px 0;border-bottom:1px solid var(--wash)}
}

/* ---------- full-bleed banner ---------- */
.banner{width:100%;height:900px;position:relative;text-align:center;overflow:hidden;background:var(--black)}
@media(min-width:2000px){.banner{height:1050px}}
@media(max-width:1099px){.banner{height:600px}}
@media(max-width:849px){.banner{height:500px}}
@media(max-width:749px){.banner{height:450px}}
.banner>video,.banner>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.banner .dim{position:absolute;inset:0;width:100%;height:100%;
  background:linear-gradient(0deg,#000,transparent,transparent);opacity:.2;z-index:2}
.banner .overlay{z-index:3;display:flex;align-items:center;justify-content:center;
  position:absolute;inset:0;width:100%;height:100%;color:var(--white)}
.banner .overlay.bottom{align-items:flex-end;padding-bottom:60px}
@media(max-width:749px){.banner .overlay.bottom{padding-bottom:50px}}
.banner .content-wrapper{max-width:900px}
.banner .logo{width:8%;min-width:70px;margin:0 auto 20px;position:relative;filter:invert(1)}
.banner .logo img{width:100%;height:auto}
.banner .logo img.ring{position:absolute;top:-2px;left:0;width:100%;height:auto;animation:spin 30s linear infinite}
@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
.banner .btn{margin:35px auto auto}
.banner .btn:hover{opacity:1;transform:scale(1.1)}

/* ---------- flex rows (250 / 500 / 750 basis, grow 1 / 2 / 3) ---------- */
.flex-container{display:flex}
.flex-container.gap{column-gap:var(--gap)}
.flex-container.gap-large{column-gap:var(--gap-lg)}
.flex-container.margin{margin-top:30px;margin-bottom:30px}
.flex-container.row-reverse{flex-direction:row-reverse}
.flex-basis-one{flex-basis:250px;flex-grow:1;position:relative}
.flex-basis-two{flex-basis:500px;flex-grow:2;position:relative}
.flex-basis-three{flex-basis:750px;flex-grow:3;position:relative}
img.img-cover{width:100%;height:100%;object-fit:cover;object-position:var(--focus,50% 50%)}

/* text block beside a big image */
.text-container{padding:10px;font-size:21px;font-weight:500;display:flex;flex-direction:column;justify-content:center;height:100%}
.text-container .text-heading{font-family:var(--head);text-transform:uppercase;color:var(--grey)}
.text-container .text-main{font-family:var(--head);font-size:3vw;line-height:1;font-weight:500;padding-top:4em}
.text-container .link{padding-top:20px}
@media(max-width:1400px){.text-container .text-main{padding-top:3em}}
@media(min-width:2000px){.text-container .text-main{font-size:60px}}
@media(max-width:899px){
  .flex-container.big-image-feature{flex-direction:column}
  .flex-container.big-image-feature.row-reverse{flex-direction:column}
  .text-container{padding:16px 0 0;height:auto}
  .text-container .text-main{font-size:21px;padding:0}
  .text-container .text-heading{font-size:15px}
  .text-container .link{padding-top:15px;font-size:15px}
}

/* the signature product row: narrow crop / big tile / big tile / narrow crop */
.tile-row{height:min(78vh,760px)}
@media(max-width:1099px){.tile-row{height:520px}}
@media(max-width:749px){.tile-row{height:auto;flex-wrap:wrap}}
.tile-row>*{overflow:hidden}
.tile{display:block;position:relative;height:100%;overflow:hidden;background:var(--wash)}
.tile img{transition:transform .7s ease}
.tile:hover img{transform:scale(1.04)}
.mobile-hide{display:block}
@media(max-width:749px){
  .mobile-hide{display:none!important}
  .tile-row>.flex-basis-three{flex-basis:100%;height:70vh}
}
/* matches the theme: top:50% with no translate, centred, tight leading */
.button-center{position:absolute;top:50%;width:100%;z-index:2;text-align:center;
  font-family:var(--head);font-weight:400;font-size:3vw;line-height:.7;text-transform:uppercase;
  color:var(--white);text-shadow:0 0 30px rgb(0 0 0);transition:all .2s}
.button-center span{display:block;font-size:19px;text-decoration:underline;margin-top:.8em;
  text-shadow:0 0 20px rgba(0,0,0,.8)}
.tile:hover .button-center{transform:scale(1.06)}
@media(min-width:2000px){.button-center{font-size:58px}}
@media(max-width:749px){
  /* on small screens the label drops below the photo on white, as the theme did */
  .tile{height:auto}
  .button-center{position:relative;top:auto;padding:5px 0 30px;font-size:21px;line-height:1;
    background:var(--white);color:var(--black);text-shadow:none}
  .button-center span{font-size:15px;text-shadow:none}
  .tile:hover .button-center{transform:none}
}

/* ---------- jackets grid (carried over from the narrow build) ---------- */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap)}
@media(max-width:900px){.grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.grid{grid-template-columns:1fr}}
.card{display:block}
.card__media{position:relative;overflow:hidden;background:var(--wash);aspect-ratio:3/4;margin-bottom:16px}
.card__media img{width:100%;height:100%;object-fit:cover;object-position:var(--focus,50% 50%);
  transition:opacity .35s,transform .6s}
.card__media img.alt{position:absolute;inset:0;opacity:0}
.card:hover .card__media img{transform:scale(1.03)}
.card:hover .card__media img.alt{opacity:1}
.card h3{font-size:1.07692em;margin-bottom:6px}
.card__meta{font-family:var(--body);font-size:13px;color:var(--grey)}
.card__price{font-family:var(--head);font-weight:500;font-size:14px;margin-top:4px}
.collection-head{padding:50px 0 34px}
.collection-head p{color:var(--grey);max-width:56ch;margin:12px 0 0}

/* ---------- info bar ---------- */
.info-bar .text{padding:20px 0}
.info-bar .text h3{font-size:1.23077em;margin-bottom:10px}
.info-bar .text p{color:var(--grey);font-size:14px;margin:0 0 .6em}
.info-bar .text a{text-decoration:underline}
@media(max-width:899px){.info-bar{flex-wrap:wrap}.info-bar>*{flex-basis:45%}}
@media(max-width:560px){.info-bar>*{flex-basis:100%}}

/* ---------- product page: photo column + sticky meta ---------- */
.product-single{display:flex;align-items:flex-start;position:relative}
.product-single .left-col{width:50%;display:flex}
.product-single .pos-bar{width:var(--gutter);flex-shrink:0}
.product-single .product-photos{flex-grow:1;min-width:0;display:grid;
  grid-template-columns:1fr 1fr;gap:6px;align-content:start}
.product-single .product-photos img:first-child{grid-column:1/-1}
.product-single .product-photos img{width:100%;height:auto;margin:0;background:var(--wash)}
.product-single .right-col{width:50%;max-width:450px;margin:30px var(--gutter) 0;padding-bottom:65px}
/* Stick the panel only where it genuinely fits under the header — a sticky box
   taller than the viewport pins its top and strands the overflow. */
@media(min-height:720px){
  .product-single .right-col{position:sticky;top:calc(var(--hdr-h) + 20px)}
}
@media(max-width:899px){
  .product-single{display:block}
  .product-single .left-col{width:auto;display:block;overflow-x:auto;scrollbar-width:none}
  .product-single .left-col::-webkit-scrollbar{display:none}
  .product-single .pos-bar{display:none}
  .product-single .product-photos{display:flex;gap:6px;padding:0 25px}
  .product-single .product-photos img{width:82vw;height:auto;flex:0 0 auto;align-self:flex-start;margin-bottom:0}
  .product-single .right-col{width:auto;max-width:none;margin:22px 25px 0;position:static;padding-bottom:40px}
}
.pdp__head{display:flex;align-items:flex-start;gap:10px}
.pdp__titles{flex-grow:1;padding-right:10px}
.pdp__titles h1{font-size:1.84615em;margin:0}
.pdp__titles p{color:var(--grey);font-size:13px;margin:6px 0 0;font-family:var(--body);text-transform:none}
.pdp__prices{font-family:var(--head);font-size:20px;padding-left:30px;align-self:flex-start;white-space:nowrap}
.pdp__note{font-size:12px;color:var(--light);letter-spacing:.04em;margin:18px 0 26px}
.field{margin-bottom:22px}
.field__label{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--head);
  font-weight:500;font-size:1.07692em;text-transform:uppercase;margin-bottom:10px}
.field__label a{color:var(--grey);text-transform:none;font-family:var(--body);font-size:12px;border-bottom:1px solid var(--rule)}
.swatch{display:flex;flex-wrap:wrap;gap:8px}
.swatch button{min-width:52px;padding:11px 8px;border:1px solid var(--rule);background:var(--white);
  font-family:var(--head);font-size:14px;cursor:pointer;transition:.15s}
.swatch button:hover{border-color:var(--black)}
.swatch button[aria-pressed=true]{background:var(--black);color:var(--white);border-color:var(--black)}
.check{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--rule);padding:14px 16px;cursor:pointer}
.check input{margin:3px 0 0}
.check strong{font-family:var(--head);font-size:13px;text-transform:uppercase;display:block}
.check span{font-size:13px;color:var(--grey)}
.pdp__mailto{display:block;text-align:center;font-size:13px;color:var(--grey);margin-top:14px}
.pdp__mailto a{border-bottom:1px solid var(--rule)}
.badges{display:flex;flex-wrap:wrap;gap:16px;margin-top:26px;padding-top:22px;border-top:1px solid var(--rule);
  font-family:var(--head);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--grey)}

/* details band — full width, below the photo column */
.product-details{border-top:1px solid var(--rule);margin-top:60px;padding:0 0 70px}
.product-details .acc{max-width:900px;margin:0 auto;border-top:0}
.product-details .acc summary{padding:20px 0}

/* accordion */
.acc{border-top:1px solid var(--rule);margin-top:30px}
.acc details{border-bottom:1px solid var(--rule)}
.acc summary{cursor:pointer;list-style:none;padding:17px 0;font-family:var(--head);font-size:1.07692em;font-weight:500;
  text-transform:uppercase;display:flex;justify-content:space-between;align-items:center}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"+";font-size:17px;color:var(--grey)}
.acc details[open] summary::after{content:"–"}
.acc__body{padding:0 0 20px;color:var(--grey);font-size:14px}
.acc__body p:last-child{margin-bottom:0}
.acc__body table{width:100%;border-collapse:collapse;margin:14px 0;font-size:13px}
.acc__body th,.acc__body td{border:1px solid var(--rule);padding:8px 10px;text-align:left}
.acc__body th{font-family:var(--head);font-size:11px;letter-spacing:.1em;text-transform:uppercase;background:var(--wash)}

/* ---------- editorial ---------- */
.ed{padding:50px 0 80px}
.ed h1{font-size:49px;line-height:110%;margin-bottom:20px}
@media(max-width:749px){.ed h1{font-size:26px}}
.ed h2{font-size:1.53846em;line-height:1.2em;margin:44px 0 14px}
.ed h3{font-size:1.23077em;margin:30px 0 10px}
.ed p,.ed li{color:#333;font-size:15px;line-height:1.6}
.ed img,.ed video{margin:32px 0;width:100%}
.ed table{width:100%;border-collapse:collapse;margin:26px 0;font-size:14px}
.ed th,.ed td{border:1px solid var(--rule);padding:11px 13px;text-align:left}
.ed th{font-family:var(--head);font-size:12px;text-transform:uppercase;background:var(--wash)}

/* ---------- lookbook ---------- */
.plx{position:relative;overflow:hidden;height:900px;background:var(--black)}
@media(min-width:2000px){.plx{height:1050px}}
@media(max-width:1099px){.plx{height:600px}}
@media(max-width:749px){.plx{height:450px}}
.plx__bg{position:absolute;top:-18%;left:0;width:100%;height:136%;will-change:transform}
.plx__bg img{width:100%;height:100%;object-fit:cover}
.plx::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.3),rgba(0,0,0,.05) 45%,rgba(0,0,0,.45))}
.plx__in{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;color:var(--white);padding:0 25px}
.plx__in p{margin-top:16px;color:rgba(255,255,255,.85);max-width:48ch}

.gy{max-width:1500px;margin:0 auto;padding:60px 25px}
.gy .row{position:relative;width:100%;height:400px;margin-top:-45px;pointer-events:none}
.gy .row.large{height:550px}
.gy .row.overlap{margin-top:-100px}
.gy .row.overlap-more{margin-top:-240px}
.gy .row.space{margin-top:60px}
.gy .row.space-more{margin-top:100px}
.gy .row:first-child{margin-top:0}
.gy .img{position:absolute;height:100%;overflow:hidden;pointer-events:auto;background:var(--wash);
  transition:transform .25s ease-in-out}
.gy .img img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.gy a.img.zoom:hover{transform:scale(1.15);z-index:9;cursor:crosshair}
.gy .img.overlap{margin-left:-60px}
.gy .img.nudge-up{margin-top:-5%}
.gy .img.nudge-down{margin-top:5%}
.gy .img.nudge-right{margin-left:5%}
.gy .img.nudge-left{margin-left:-5%}
.gy .pos-one{left:0}.gy .pos-two{left:20%}.gy .pos-three{left:40%}
.gy .pos-four{left:60%}.gy .pos-five{left:80%}
.gy .width-one{width:20%}.gy .width-two{width:40%}
.gy .width-three{width:60%}.gy .width-four{width:80%}.gy .width-five{width:100%}
@media(max-width:768px){
  .gy{padding:30px 20px}
  .gy .row{height:auto!important;margin:0!important}
  .gy .img{position:relative;display:block;height:auto!important;width:100%!important;left:0!important;margin:0 0 10px!important}
  .gy .img img{height:auto}
  .gy a.img.zoom:hover{transform:none}
}
.lb-film{width:100%;height:900px;position:relative;overflow:hidden;background:var(--black)}
@media(max-width:1099px){.lb-film{height:520px}}
@media(max-width:749px){.lb-film{height:400px}}
.lb-film video{width:100%;height:100%;object-fit:cover}

/* ---------- inquiry modal ---------- */
.modal{border:0;padding:0;max-width:520px;width:calc(100% - 32px);background:var(--white);color:var(--black)}
.modal::backdrop{background:rgba(0,0,0,.62)}
.modal__in{padding:30px}
.modal__head{display:flex;justify-content:space-between;align-items:start;gap:16px;margin-bottom:6px}
.modal__head h2{font-size:19px}
.modal__close{background:none;border:0;font-size:24px;line-height:1;cursor:pointer;padding:0 4px;color:var(--grey)}
.modal__sum{font-size:13px;color:var(--grey);border-bottom:1px solid var(--rule);padding-bottom:16px;margin-bottom:20px}
.modal label{display:block;font-family:var(--head);font-size:11px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:6px}
.modal input,.modal textarea{width:100%;padding:12px;border:1px solid var(--rule);font:inherit;font-size:14px;
  background:var(--white);color:var(--black);margin-bottom:16px;border-radius:0}
.modal input:focus,.modal textarea:focus{outline:0;border-color:var(--black)}
.modal textarea{min-height:88px;resize:vertical}
.hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important}
.modal__msg{font-size:13px;padding:12px;margin-bottom:14px;display:none}
.modal__msg.err{display:block;background:#fdecea;color:#8a1c12}
.modal__done{text-align:center;padding:14px 0}
.modal__done h2{margin-bottom:12px}
.modal__done p{color:var(--grey);font-size:14px}

/* ---------- footer ---------- */
.ftr{background:var(--black);color:var(--white);padding:70px 0 30px}
/* keep the footer link colours off buttons — .ftr a:hover would otherwise
   outrank .btn.white and turn its label white on a white ground */
.ftr a:not(.btn){color:rgba(255,255,255,.72)}
.ftr a:not(.btn):hover{color:var(--white)}
.ftr__cta{text-align:center;padding-bottom:52px;border-bottom:1px solid rgba(255,255,255,.2);margin-bottom:44px}
.ftr__cta p{color:rgba(255,255,255,.68);max-width:44ch;margin:12px auto 24px}
.ftr__cols{display:flex;column-gap:var(--gap-lg);flex-wrap:wrap}
.ftr h3{font-family:var(--head);font-size:1.07692em;margin-bottom:16px;color:rgba(255,255,255,.55);text-transform:uppercase}
.ftr ul{list-style:none;margin:0;padding:0}
.ftr li{margin-bottom:10px;font-size:14px}
.ftr__logo{width:180px;margin-bottom:16px}
.ftr__logo img{width:100%;height:auto;filter:invert(1)}
.ftr__blurb{color:rgba(255,255,255,.6);font-size:14px;max-width:34ch}
.ftr__base{margin-top:48px;padding-top:22px;border-top:1px solid rgba(255,255,255,.16);
  display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;font-size:12px;color:rgba(255,255,255,.5)}
@media(max-width:760px){.ftr__cols{flex-direction:column;row-gap:30px}}

/* ---------- reveal system (gated behind .js) ---------- */
.js [data-reveal]{opacity:0;
  transition:opacity var(--rv-dur) var(--rv-ease),transform var(--rv-dur) var(--rv-ease);
  transition-delay:var(--rv-delay,0ms)}
.js [data-reveal="up"]{transform:translate3d(0,20px,0)}
.js [data-reveal="fade"]{transform:none}
.js [data-reveal="rise"]{transform:translate3d(0,38px,0)}
.js [data-reveal].is-in{opacity:1;transform:none}
.js [data-reveal]:not(.is-in){will-change:opacity,transform}

@media(prefers-reduced-motion:reduce){
  .js [data-reveal]{opacity:1;transform:none;transition:none;will-change:auto}
  .gy .img,.tile img,.plx__bg,.button-center,.card__media img{transition:none}
  .plx__bg{transform:none!important}
  .banner .logo img.ring{animation:none}
}
