/* Commercial Group Canada: shared styles for every page except the homepage and gallery, which carry their own
   inline copy of the same design (palette, buttons, header, menu, frames, form, footer). If one of those changes on
   the homepage, change it here too so the inner pages keep matching. */
@font-face{font-family:"Gilda Display";src:url(/fonts/gilda-display-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Figtree";src:url(/fonts/figtree-300.woff2) format("woff2");font-weight:300;font-display:swap}
@font-face{font-family:"Figtree";src:url(/fonts/figtree-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Figtree";src:url(/fonts/figtree-500.woff2) format("woff2");font-weight:500;font-display:swap}
:root{
  --ground:#050a16; --ground-rgb:3,6,14; --velvet:url('/images/velvet-blue-dark.webp');
  --navy:#0a1428; --navy-deep:#02050c; --card:rgba(var(--ground-rgb),.6); --card-line:rgba(243,236,220,.08);
  --gold:#c4923f; --gold-hi:#dcb26a; --gold-lo:#9c7430;
  --cream:#f3ecdc; --cream-dim:rgba(243,236,220,.78); --cream-faint:rgba(243,236,220,.65);
  --display:"Gilda Display","Didot","Bodoni 72",Georgia,serif;
  --sans:"Figtree","Helvetica Neue",Arial,sans-serif;
  --ease:cubic-bezier(.22,.8,.24,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;background:var(--ground);-webkit-text-size-adjust:100%}
body{color:var(--cream);font-family:var(--sans);font-weight:300;font-size:1.06rem;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
::selection{background:rgba(196,146,63,.35);color:#fff}
a{color:inherit;text-decoration:none}
img,svg,video{display:block;max-width:100%;height:auto}
[id]{scroll-margin-top:100px}
.wrap{max-width:1220px;margin:0 auto;padding:0 32px}
.narrow{max-width:860px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--gold);color:var(--navy-deep);padding:.7rem 1rem;font-weight:500}
.skip:focus{left:12px;top:12px}

/* The velvet lives on a fixed layer behind the page (a fixed background on html is ignored by iOS Safari).
   A soft band of light crosses it slowly; both stop under reduced motion. */
.velvet{position:fixed;inset:0;z-index:-1;background:var(--ground) var(--velvet) center/cover no-repeat;overflow:hidden;transform:translateZ(0)}
.velvet .sheen{position:absolute;inset:-30% -60%;background:linear-gradient(112deg,transparent 42%,rgba(243,236,220,.055) 50%,transparent 58%);transform:translateX(-38%)}
@media (prefers-reduced-motion:no-preference){
  .velvet{animation:drift 48s ease-in-out infinite alternate}
  .velvet .sheen{animation:sweep 28s linear infinite}
}
@keyframes drift{from{transform:scale(1)}to{transform:scale(1.03)}}
@keyframes sweep{from{transform:translateX(-38%)}to{transform:translateX(38%)}}
/* film grain over everything */
body::after{content:"";position:fixed;inset:0;z-index:60;pointer-events:none;opacity:.09;mix-blend-mode:overlay;background-size:160px 160px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* type */
h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.1;color:var(--cream);letter-spacing:-.005em}
h1{font-size:clamp(2.1rem,4.8vw,3.7rem)}
h2{font-size:clamp(1.8rem,3.4vw,2.7rem)}
h3{font-size:clamp(1.3rem,2.1vw,1.6rem);line-height:1.2}
.g{color:var(--gold)}
.label{font-family:var(--display);font-size:.84rem;letter-spacing:.24em;word-spacing:.2em;text-transform:uppercase;color:var(--gold)}
small,.small,.micro,.consent,.cap,.hint,.facts dd{font-weight:400}
:focus-visible{outline:2px solid var(--gold-hi);outline-offset:3px}

/* buttons: the solid one reads as metal (gradient, edge light, a sweep on hover) */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;text-align:center;font-family:var(--display);font-size:.82rem;letter-spacing:.2em;word-spacing:.25em;text-transform:uppercase;padding:.85rem 1.6rem;min-height:46px;border:1px solid var(--gold);color:var(--gold);background:transparent;cursor:pointer;overflow:hidden;transition:background .25s,color .25s,border-color .25s,transform .25s var(--ease),box-shadow .25s}
.btn:hover{background:rgba(196,146,63,.12);border-color:var(--gold-hi);color:var(--gold-hi)}
.btn.solid{color:var(--navy-deep);border-color:rgba(224,187,118,.85);background:linear-gradient(170deg,#e2bb74 0%,var(--gold) 48%,#a67a33 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.3),inset 0 -1px 0 rgba(0,0,0,.2),0 10px 30px -12px rgba(196,146,63,.5)}
.btn.solid::after{content:"";position:absolute;top:-30%;bottom:-30%;left:-20%;width:32%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.28),transparent);transform:translateX(-140%) skewX(-14deg)}
.btn.solid:hover{color:var(--navy-deep);background:linear-gradient(170deg,#ecc884 0%,var(--gold-hi) 48%,#b4863a 100%);transform:translateY(-1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),inset 0 -1px 0 rgba(0,0,0,.2),0 16px 36px -12px rgba(196,146,63,.6)}
.btn.solid:active{transform:none}
.btn:disabled{opacity:.55;cursor:default}
@media (prefers-reduced-motion:no-preference){.btn.solid:hover::after{transition:transform .65s var(--ease);transform:translateX(480%) skewX(-14deg)}}

/* header */
header.top{position:fixed;inset:0 0 auto;z-index:40;transition:background .35s,border-color .35s;border-bottom:1px solid rgba(243,236,220,.12)}
header.top.solid{background:rgba(var(--ground-rgb),.86);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-color:rgba(196,146,63,.25)}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;height:78px;gap:24px;max-width:1320px}
.brand{display:flex;align-items:center;gap:12px;position:relative;z-index:1}
.brand img{width:44px;height:44px;border-radius:50%;box-shadow:0 0 0 1px rgba(196,146,63,.35)}
.brand span{font-family:var(--display);font-size:.86rem;letter-spacing:.2em;text-transform:uppercase;line-height:1.15}
nav.links{display:flex;gap:34px}
nav.links a{position:relative;padding:6px 0;font-family:var(--display);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;opacity:.9;transition:color .25s}
nav.links a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--gold);transform:scaleX(0);transition:transform .3s var(--ease)}
nav.links a:hover,nav.links a.cur{color:var(--gold);opacity:1}
nav.links a:hover::after,nav.links a.cur::after{transform:scaleX(1)}
.hright{display:flex;align-items:center;gap:12px}
.hbtns .btn{font-size:.72rem;padding:.6rem 1.2rem;min-height:44px}
.menu{display:none;width:44px;height:44px;border:1px solid rgba(196,146,63,.45);background:transparent;cursor:pointer;position:relative;z-index:1;flex:none}
.menu span{position:absolute;left:12px;right:12px;height:1px;background:var(--cream);transition:transform .3s var(--ease),opacity .2s}
.menu span:nth-child(1){top:15px}.menu span:nth-child(2){top:21px}.menu span:nth-child(3){top:27px}
body.nav-open .menu span:nth-child(1){transform:translateY(6px) rotate(45deg)}
body.nav-open .menu span:nth-child(2){opacity:0}
body.nav-open .menu span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
/* phone menu: a velvet panel under the header */
.mnav{position:fixed;inset:0;z-index:35;background:rgba(var(--ground-rgb),.93);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);padding:112px 28px 40px;display:flex;flex-direction:column;gap:.2rem;overflow:auto}
.mnav[hidden]{display:none}
.mnav a.l{font-family:var(--display);font-size:1.75rem;color:var(--cream);padding:.65rem 0;border-bottom:1px solid rgba(243,236,220,.1);opacity:0;transform:translateY(12px);transition:opacity .4s ease,transform .45s var(--ease)}
.mnav a.l.cur{color:var(--gold)}
.mnav a.l:nth-child(2){transition-delay:60ms}.mnav a.l:nth-child(3){transition-delay:120ms}.mnav a.l:nth-child(4){transition-delay:180ms}.mnav a.l:nth-child(5){transition-delay:240ms}.mnav a.l:nth-child(6){transition-delay:300ms}
.mnav .btn{margin-top:1.6rem;width:100%;min-height:56px;font-size:.9rem;opacity:0;transition:opacity .4s ease .3s}
.mnav .mfoot{margin-top:auto;padding-top:2rem;font-family:var(--display);font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:var(--cream-faint);line-height:2}
body.nav-open .mnav a.l,body.nav-open .mnav .btn{opacity:1;transform:none}
body.nav-open{overflow:hidden}

/* page hero */
.phero{position:relative;padding:150px 0 70px;text-align:center;background:radial-gradient(60% 60% at 50% 60%,rgba(196,146,63,.07),transparent 72%)}
.phero .wrap{max-width:980px}
.crumbs{font-family:var(--display);font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--cream-faint);margin-bottom:1.6rem}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem .7rem}
.crumbs li+li::before{content:"\25C7";color:var(--gold-lo);margin-right:.7rem;font-size:.6rem;vertical-align:.12em}
.crumbs a:hover{color:var(--gold)}
.phero h1{margin:1rem auto 0;max-width:900px;text-wrap:balance}
.phero .lede{margin:1.5rem auto 0;max-width:760px;font-family:var(--display);font-size:clamp(1.15rem,2vw,1.4rem);line-height:1.7;color:var(--cream)}
.phero .sub{margin:1rem auto 0;max-width:700px;color:var(--cream-dim)}
.ctas{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:2rem}
.updated{margin-top:1.6rem;font-size:.86rem;color:var(--cream-faint)}
.drule{display:flex;align-items:center;justify-content:center;gap:1rem;max-width:520px;margin:0 auto}
.drule span{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--gold))}
.drule span:last-child{background:linear-gradient(90deg,var(--gold),transparent)}
.drule i{width:10px;height:10px;border:1px solid var(--gold);transform:rotate(45deg)}

/* sections */
section{position:relative}
.sec{padding:84px 0}
.sec.tight{padding:48px 0}
.band{background:linear-gradient(180deg,rgba(var(--ground-rgb),.38),rgba(var(--ground-rgb),.58));border-top:1px solid rgba(196,146,63,.18);border-bottom:1px solid rgba(196,146,63,.18)}
.head-c{text-align:center;max-width:780px;margin:0 auto 44px}
.head-c p{margin-top:1rem;color:var(--cream-dim);font-size:1.08rem}
.head-c .label+h2{margin-top:.9rem}

/* long-form copy */
.prose{max-width:780px;margin:0 auto}
.prose>*+*{margin-top:1.15rem}
.prose h2{margin-top:3.2rem;padding-top:.2rem}
.prose h2:first-child{margin-top:0}
.prose h3{margin-top:2.2rem;color:var(--gold-hi)}
.prose p,.prose li{color:var(--cream-dim)}
.prose strong,.prose b{color:var(--cream);font-weight:500}
.prose ul,.prose ol{padding-left:1.3rem}
.prose li+li{margin-top:.5rem}
.prose li::marker{color:var(--gold)}
.prose a,.tl{color:var(--gold-hi);border-bottom:1px solid rgba(196,146,63,.45);transition:color .2s,border-color .2s}
.prose a:hover,.tl:hover{color:#f0d49b;border-color:var(--gold-hi)}
.prose .answer{font-family:var(--display);font-size:clamp(1.12rem,1.8vw,1.28rem);line-height:1.7;color:var(--cream)}
.prose .small,.small{font-size:.9rem;color:var(--cream-faint)}
.src{margin-top:3rem;padding-top:1.4rem;border-top:1px solid rgba(243,236,220,.14);font-size:.9rem;color:var(--cream-faint)}
.src h2{font-size:1rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin:0 0 .8rem}
.src li{color:var(--cream-faint)}

/* jewel frame: double border with corner diamonds, lifted off the velvet */
.jewel{position:relative;border:1px solid var(--gold-lo);background-color:rgba(var(--ground-rgb),.6);background-repeat:no-repeat;
  background-image:var(--j),var(--j),var(--j),var(--j);
  background-position:left 3px top 3px,right 3px top 3px,left 3px bottom 3px,right 3px bottom 3px;
  --j:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11'%3E%3Crect x='2' y='2' width='7' height='7' transform='rotate(45 5.5 5.5)' fill='none' stroke='%23c4923f' stroke-width='1'/%3E%3C/svg%3E");
  box-shadow:inset 0 1px 0 rgba(243,236,220,.06),0 1px 0 rgba(0,0,0,.55),0 40px 70px -46px rgba(0,0,0,.9)}
.jewel::before{content:"";position:absolute;inset:7px;border:1px solid var(--gold-lo);opacity:.55;pointer-events:none}
.jewel>*{position:relative}

/* key facts */
.kf{max-width:780px;margin:0 auto;padding:2.4rem 2.4rem 2rem}
.kf h2{font-size:1rem;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);text-align:center;margin-bottom:1.2rem}
.facts{border-top:1px solid rgba(243,236,220,.14)}
.facts div{display:flex;justify-content:space-between;gap:24px;padding:13px 0;border-bottom:1px solid rgba(243,236,220,.14)}
.facts dt{font-family:var(--display);font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);padding-top:4px;flex:none;max-width:42%}
.facts dd{text-align:right;color:var(--cream)}
.facts dd a{color:var(--gold-hi);border-bottom:1px solid rgba(196,146,63,.45)}

/* cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.cards.two{grid-template-columns:repeat(2,1fr)}
.cards.four{grid-template-columns:repeat(4,1fr)}
.card{display:block;background:var(--card);border:1px solid rgba(156,116,48,.55);padding:2rem 1.8rem 1.9rem;box-shadow:inset 0 1px 0 rgba(243,236,220,.06),0 1px 0 rgba(0,0,0,.55);transition:transform .45s var(--ease),border-color .3s}
a.card:hover{transform:translateY(-3px);border-color:rgba(196,146,63,.8)}
.card .label{font-size:.72rem}
.card h3,.card h2{margin-top:.6rem;font-size:1.4rem;line-height:1.2}
.card p{margin-top:.75rem;color:var(--cream-dim);font-size:.99rem;line-height:1.65}
.card .more{display:inline-block;margin-top:1rem;font-family:var(--display);font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}

/* steps */
.steps{list-style:none;counter-reset:s;max-width:780px;margin:0 auto}
.steps li{position:relative;padding-left:58px;margin-top:18px;color:var(--cream-dim);line-height:1.7}
.steps li::before{counter-increment:s;content:counter(s,upper-roman);position:absolute;left:0;top:-5px;font-family:var(--display);font-size:1.5rem;color:var(--gold)}
.steps b{color:var(--cream);font-weight:500}

/* tables */
.tblwrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--card-line);background:var(--card)}
.tblwrap:focus-visible{outline-offset:0}
table.tbl{width:100%;border-collapse:collapse;min-width:720px;font-size:.96rem;line-height:1.5}
.tbl caption{caption-side:top;text-align:left;padding:14px 16px 0;font-size:.86rem;color:var(--cream-faint)}
.tbl th,.tbl td{padding:14px 16px;text-align:left;vertical-align:top;border-bottom:1px solid rgba(243,236,220,.12)}
.tbl thead th{font-family:var(--display);font-weight:400;font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);border-bottom:1px solid rgba(196,146,63,.4);white-space:nowrap}
.tbl tbody th{font-family:var(--display);font-weight:400;font-size:1.06rem;color:var(--cream);min-width:170px}
.tbl td{color:var(--cream-dim)}
.tbl tr:last-child th,.tbl tr:last-child td{border-bottom:0}
.tbl tr.us th,.tbl tr.us td{background:rgba(196,146,63,.09)}
.tbl a{color:var(--gold-hi);border-bottom:1px solid rgba(196,146,63,.45)}

/* calendar list */
.cal{list-style:none;max-width:860px;margin:0 auto}
.cal li{display:grid;grid-template-columns:150px 1fr;gap:26px;padding:22px 0;border-top:1px solid rgba(243,236,220,.14)}
.cal li:last-child{border-bottom:1px solid rgba(243,236,220,.14)}
.cal li[hidden]{display:none}
.cal .when{font-family:var(--display);color:var(--gold);font-size:1.05rem;line-height:1.35}
.cal .when small{display:block;font-family:var(--sans);font-size:.82rem;color:var(--cream-faint);letter-spacing:0;margin-top:.2rem}
.cal h3{font-size:1.3rem}
.cal p{margin-top:.45rem;color:var(--cream-dim);font-size:.98rem}
.cal .tag{display:inline-block;margin-top:.6rem;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cream-faint);border:1px solid rgba(243,236,220,.2);padding:.15rem .55rem}
.cal .tag.ours{color:var(--gold);border-color:rgba(196,146,63,.6)}

/* photographs */
.strip{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:1100px;margin:0 auto}
.ph{position:relative;margin:0;padding:5px;border:1px solid var(--gold-lo);background:rgba(var(--ground-rgb),.5);overflow:hidden}
.ph::before{content:"";position:absolute;inset:0;border:1px solid rgba(196,146,63,.22);pointer-events:none;z-index:1}
.ph::after{content:"";position:absolute;inset:5px;border:1px solid rgba(243,236,220,.08);pointer-events:none;z-index:1}
.ph picture{display:contents}
.ph img{display:block;width:100%;height:100%;aspect-ratio:3/2;object-fit:cover;filter:saturate(.92);transition:transform .9s var(--ease)}
.ph:hover img{transform:scale(1.04)}
.strip-cap,.cap{margin:1rem auto 0;text-align:center;font-family:var(--display);font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--cream-faint)}
.strip-cap a,.cap a{color:var(--gold);border-bottom:1px solid rgba(196,146,63,.4);transition:color .25s,border-color .25s}
.strip-cap a:hover,.cap a:hover{color:var(--gold-hi);border-color:var(--gold-hi)}

/* stats */
.statbox{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(243,236,220,.18);border-bottom:1px solid rgba(243,236,220,.18);max-width:1100px;margin:0 auto}
.statbox .stat{padding:44px 18px 40px;text-align:center;border-left:1px solid rgba(243,236,220,.18)}
.statbox .stat:first-child{border-left:0}
.statbox .v{font-family:var(--display);font-size:clamp(2.4rem,4.2vw,3.5rem);line-height:1;font-variant-numeric:lining-nums;white-space:nowrap;
  background:linear-gradient(96deg,#f3ecdc 0%,#fbf5e6 40%,#e8cf96 70%,#d6b26e 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.statbox .k{margin-top:1rem;font-family:var(--display);font-size:.8rem;letter-spacing:.22em;text-transform:uppercase;color:var(--cream-dim);line-height:1.6}

/* FAQ */
.faq{max-width:820px;margin:0 auto}
.faq details{border-top:1px solid rgba(243,236,220,.14)}
.faq details:last-child{border-bottom:1px solid rgba(243,236,220,.14)}
.faq summary{list-style:none;display:flex;justify-content:space-between;gap:1.2rem;align-items:center;padding:1.2rem .2rem;cursor:pointer;font-family:var(--display);font-size:1.2rem;line-height:1.35;color:rgba(243,236,220,.92);transition:color .25s}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--gold)}
.faq summary h3{font-size:inherit;line-height:inherit;color:inherit;font-family:inherit}
.faq .pl{position:relative;width:14px;height:14px;flex:none}
.faq .pl::before,.faq .pl::after{content:"";position:absolute;background:var(--gold);transition:transform .3s}
.faq .pl::before{left:0;top:6px;width:14px;height:1.5px}
.faq .pl::after{left:6px;top:0;width:1.5px;height:14px}
.faq details[open] .pl::after{transform:scaleY(0)}
.faq .a{padding:0 .2rem 1.3rem;color:var(--cream-dim);max-width:42em}
.faq .a>*+*{margin-top:.8rem}
.faq .a a{color:var(--gold-hi);border-bottom:1px solid rgba(196,146,63,.45)}
.faq .a ul{padding-left:1.2rem}

/* related pages: two quiet rows of links before the closing call to action */
.related{max-width:920px;margin:0 auto;text-align:center;font-family:var(--display);font-size:1.02rem;line-height:2.1;color:var(--cream-dim)}
.related p+p{margin-top:1.3rem}
.related span{display:block;font-size:.78rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.related a{color:var(--gold-hi);border-bottom:1px solid rgba(196,146,63,.45);margin:0 .55rem;transition:color .2s,border-color .2s}
.related a:hover{color:#f0d49b;border-color:var(--gold-hi)}

/* notes and callouts */
.note{max-width:780px;margin:0 auto;padding:1.5rem 1.7rem;border-left:3px solid var(--gold);background:rgba(var(--ground-rgb),.5);color:var(--cream-dim)}
.note b,.note strong{color:var(--cream);font-weight:500}
.note a{color:var(--gold-hi);border-bottom:1px solid rgba(196,146,63,.45)}
.prose .note{margin-top:1.8rem}

/* closing call to action */
.byapp{text-align:center;padding:96px 0}
.byapp .label{margin-top:2rem;color:var(--cream-dim)}
.byapp h2{max-width:860px;margin:1.6rem auto 0;font-size:clamp(2rem,4vw,3.2rem);text-wrap:balance}
.byapp p{max-width:660px;margin:1.4rem auto 0;color:var(--cream-dim);font-size:1.1rem;line-height:1.75}
.byapp .btn{margin-top:2.2rem;padding:1.05rem 2.4rem;min-height:56px;font-size:.9rem}
.byapp .fine{font-size:.9rem;color:var(--cream-faint);margin-top:1.2rem}

/* forms (the same card as the homepage application) */
.apply{display:grid;grid-template-columns:.95fr 1.05fr;gap:60px;align-items:start}
form.fcard{padding:52px 48px 40px;display:flex;flex-direction:column;gap:1.4rem}
form .fdia{width:10px;height:10px;border:1px solid var(--gold);transform:rotate(45deg);margin:0 auto}
form .ft{font-family:var(--display);font-size:1.9rem;text-align:center;line-height:1.15}
form .fs{text-align:center;color:var(--cream-dim);margin-top:-.9rem;font-size:.98rem}
.field{display:block}
.field>span{display:block;font-family:var(--display);font-size:.76rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.field .hint{display:block;margin-top:.3rem;font-size:.8rem;font-style:normal;color:var(--cream-faint);letter-spacing:0;text-transform:none;font-family:var(--sans)}
.field input,.field select,.field textarea{width:100%;min-height:44px;padding:.55rem .05rem;font-family:var(--sans);font-weight:300;font-size:1.05rem;color:var(--cream);border:0;border-bottom:1px solid rgba(243,236,220,.28);border-radius:0;appearance:none;caret-color:var(--gold-hi);
  background:transparent linear-gradient(var(--gold),var(--gold)) no-repeat center bottom/0% 2px;transition:border-color .25s,background-size .45s var(--ease)}
.field textarea{min-height:84px;resize:vertical}
.field select option{color:var(--navy)}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-bottom-color:var(--gold);background-size:100% 2px}
.field.err input,.field.err select,.field.err textarea{border-bottom-color:#e08c78}
.field.ok>span::after{content:"";display:inline-block;width:6px;height:10px;margin-left:.6rem;border:solid var(--gold);border-width:0 1.5px 1.5px 0;transform:rotate(45deg) translateY(-2px)}
.sel{position:relative}
.sel::after{content:"";position:absolute;right:6px;top:50%;width:7px;height:7px;margin-top:-6px;border-right:1px solid var(--gold);border-bottom:1px solid var(--gold);transform:rotate(45deg);pointer-events:none}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}
.consent{display:flex;gap:.8rem;align-items:flex-start;font-size:.9rem;line-height:1.55;color:var(--cream-dim);cursor:pointer}
.consent input{width:22px;height:22px;margin-top:.05rem;accent-color:var(--gold);flex:none}
.consent a{color:var(--gold);border-bottom:1px solid rgba(196,146,63,.4)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
form .btn{width:100%;min-height:56px;font-size:.88rem}
.micro{text-align:center;font-family:var(--display);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;line-height:1.9;color:var(--cream-faint)}
.micro a{color:var(--gold);border-bottom:1px solid rgba(196,146,63,.4)}
.status{text-align:center;color:#f0a49a;font-size:.95rem;min-height:1.2em;margin-top:-.5rem;opacity:0;transition:opacity .3s}
.status.show{opacity:1}

/* modal */
.modal{position:fixed;inset:0;z-index:70;display:none;place-items:center;padding:1.5rem;background:rgba(var(--ground-rgb),.78);backdrop-filter:blur(4px)}
.modal.open{display:grid}
.modal .box{position:relative;width:min(470px,100%);text-align:center;padding:2.8rem 2rem 2.2rem;background:var(--navy);border:1px solid rgba(196,146,63,.4)}
.modal .box img{width:64px;margin:0 auto;border-radius:50%}
.modal h2{font-size:2rem;margin-top:1rem}
.modal p{margin-top:.8rem;color:var(--cream-dim);font-size:.98rem}
.modal .btn{margin-top:1.6rem}
.modal .x{position:absolute;right:.6rem;top:.4rem;width:44px;height:44px;background:none;border:0;color:var(--cream-faint);font-size:1.6rem;cursor:pointer}
@media (prefers-reduced-motion:no-preference){.modal .box{animation:rise .35s var(--ease)}}
@keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

/* footer: the brand, three columns of pages, and the contact details */
footer{background:rgba(var(--ground-rgb),.74);border-top:1px solid rgba(243,236,220,.12);padding:64px 0 40px}
.foot{display:grid;grid-template-columns:1.35fr .85fr 1.1fr 1fr 1.15fr;gap:36px}
.foot .brand span{font-family:var(--display);font-size:1.3rem;letter-spacing:.01em;text-transform:none;line-height:1.2}
.foot .spons{margin-top:14px;font-family:var(--display);font-style:italic;font-size:1.08rem;line-height:1.6;color:var(--cream-dim);max-width:320px}
.foot .about{margin-top:14px;font-size:.92rem;line-height:1.6;color:var(--cream-faint);max-width:330px}
.foot .fh{font-family:var(--display);font-weight:400;font-size:.8rem;line-height:1.4;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:16px}
.foot-guides{margin-top:40px;font-family:var(--display);font-size:1rem;line-height:2;color:var(--cream-dim)}
.foot-guides span{font-size:.8rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-right:1rem}
.foot-guides a{color:var(--cream);margin-right:1.4rem;white-space:nowrap}
.foot-guides a:hover{color:var(--gold)}
.foot-guides+.legal{margin-top:26px}
.foot li{list-style:none;margin-top:10px;font-family:var(--display);font-size:1.06rem;line-height:1.35;color:var(--cream)}
.foot li.addr{color:var(--cream-dim);font-size:1rem;line-height:1.5}
.foot a:hover{color:var(--gold)}
.legal{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:56px;padding-top:26px;border-top:1px solid rgba(243,236,220,.14);font-family:var(--display);font-size:.98rem;color:var(--cream-dim)}
.legal a{border-bottom:1px solid rgba(243,236,220,.25)}
.legal a:hover{color:var(--gold)}

/* reveal: content is visible by default; the animation only applies once the script has run */
@media (prefers-reduced-motion:no-preference){
  html.js .rv{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .7s var(--ease);transition-delay:calc(var(--i,0)*90ms)}
  html.js .rv.in{opacity:1;transform:none}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{animation:none !important;transition:none !important}
}

/* responsive */
@media (max-width:1180px){
  .foot{grid-template-columns:1.4fr 1fr 1fr}
}
@media (max-width:1060px){
  nav.links{display:none}
  .menu{display:block}
  .apply{grid-template-columns:1fr;gap:44px}
  .cards,.cards.four{grid-template-columns:repeat(2,1fr)}
  .statbox{grid-template-columns:repeat(2,1fr)}
  .statbox .stat:nth-child(3){border-left:0}
  .statbox .stat:nth-child(n+3){border-top:1px solid rgba(243,236,220,.18)}
}
@media (max-width:640px){
  body{font-size:1.04rem}
  .wrap{padding:0 20px}
  .brand span{display:none}
  .phero{padding:124px 0 52px}
  .sec{padding:60px 0}
  .byapp{padding:72px 0}
  .cards,.cards.two,.cards.four,.row2{grid-template-columns:1fr}
  .card{padding:1.7rem 1.4rem 1.6rem}
  .strip{grid-template-columns:1fr 1fr;gap:8px}
  .strip .ph:first-child{grid-column:1/-1}
  .ph{padding:3px}
  .kf{padding:2rem 1.3rem 1.6rem}
  .facts div{flex-direction:column;gap:2px}
  .facts dt{max-width:none}
  .facts dd{text-align:left}
  .cal li{grid-template-columns:1fr;gap:6px}
  /* tables stack into one card per row; the column heading is repeated above each value */
  table.tbl{min-width:0;font-size:1rem}
  .tbl thead{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
  .tbl,.tbl tbody,.tbl tr,.tbl th,.tbl td{display:block}
  .tbl tr{padding:16px 16px 14px;border-bottom:1px solid rgba(243,236,220,.14)}
  .tbl tr:last-child{border-bottom:0}
  .tbl tbody th,.tbl td{padding:0;border:0;min-width:0;background:none !important}
  .tbl tbody th{font-size:1.2rem;margin-bottom:.5rem}
  .tbl td{margin-top:.6rem}
  .tbl td::before{content:attr(data-l);display:block;font-family:var(--display);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:.1rem}
  .tbl tr.us{background:rgba(196,146,63,.09)}
  form.fcard{padding:40px 22px 30px}
  .foot{grid-template-columns:1fr 1fr;gap:30px 20px}
  .foot>div:first-child,.foot>div:last-child{grid-column:1/-1}
  .legal{flex-direction:column;gap:8px}
  .ctas .btn{width:100%}
  .statbox .stat{padding:30px 8px}
  .steps li{padding-left:48px}
}
