/*
Theme Name: GILLIS+Co.
Theme URI: https://gillisco.au
Author: GILLIS+Co.
Description: Bespoke coded theme for GILLIS+Co. Lawyers & Advisors. No page builder required.
Version: 2.3
Requires at least: 6.0
Requires PHP: 7.4
License: Proprietary
Text Domain: gillisco
*/

:root{
  --bg:#09121F;
  --bg-raised:#09121F;
  --ink:#E9E5DC;
  --ink-strong:#F5F1E9;
  --accent:#FF0000;
  --rule:rgba(233,229,220,.14);
  --display:'Cormorant Garamond',Georgia,serif;
  --serif:'Spectral',Georgia,serif;
  --ui:Arial,'Helvetica Neue',Helvetica,sans-serif;
}
/* Fluid page scale: identical to the original design up to 1440px wide, then the whole
   layout (type, spacing, imagery) scales proportionally with the window, Black Bay style.
   Everything below is rem-based so it follows the root font size. */
html{font-size:16px}
@media(min-width:1441px){html{font-size:1.1111vw}}
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:var(--bg);color:var(--ink);font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}
img{max-width:100%}
a{color:var(--ink-strong)}
a:hover{color:var(--accent)}
h1,h2,h3{font-family:var(--display);font-weight:400;margin:0;color:var(--ink-strong)}
.wrap{max-width:76.25rem;margin:0 auto;padding-left:clamp(1.25rem,5vw,3.75rem);padding-right:clamp(1.25rem,5vw,3.75rem)}
.wrap-narrow{max-width:58.75rem}
.eyebrow{font-family:var(--ui);font-size:0.6875rem;letter-spacing:.28em;color:var(--accent);font-weight:600;text-transform:uppercase}
.rule{height:0.0625rem;background:var(--rule)}
/* eyebrow: cream text over a 3rem signal-red rule (heroes, bands, section openers) */
.page-hero .eyebrow,.section>.eyebrow{color:var(--ink-strong)}
.page-hero .eyebrow::after,.section>.eyebrow::after{content:"";display:block;width:3rem;height:0.125rem;background:var(--accent);margin-top:0.75rem}
.page-hero .eyebrow::after{margin-left:auto;margin-right:auto}
.skip-link{position:absolute;left:-624.9375rem}
.skip-link:focus{left:1.25rem;top:1.25rem;background:var(--accent);color:#fff;padding:0.625rem 1rem;z-index:99}

/* header */
.site-bar{position:fixed;top:0;left:0;right:0;z-index:60;background:#09121F;transition:transform .34s cubic-bezier(.4,0,.2,1);will-change:transform}
.site-bar.is-hidden{transform:translateY(-102%)}
.site-bar.is-stuck{box-shadow:0 0.0625rem 0 rgba(233,229,220,.14)}
.hdr-spacer{height:clamp(4.5rem,7.6vw,5.75rem)}
.hdr-right{display:flex;align-items:stretch;gap:clamp(0.875rem,2.2vw,1.625rem)}
.hdr-search-btn{display:flex;align-items:center;justify-content:center;border:none;border-bottom:0.125rem solid transparent;background:none;color:var(--ink-strong);cursor:pointer;padding:0 0.125rem;transition:background .2s}
.hdr-search-btn:hover{border-bottom-color:rgba(255,0,0,.6)}
.gc-search{position:fixed;inset:0;z-index:120;background:rgba(9,18,31,.94);opacity:0;visibility:hidden;transition:opacity .2s;display:flex;justify-content:center;padding:clamp(5rem,14vh,10rem) clamp(1.25rem,5vw,3.75rem) 2.5rem}
.gc-search.on{opacity:1;visibility:visible}
.gc-search-form{width:100%;max-width:45rem;height:max-content;display:flex;align-items:center;gap:0.875rem;border-bottom:0.0313rem solid rgba(255,0,0,.85);padding-bottom:0.875rem}
.gc-search-form input{flex:1;background:transparent;border:0;outline:none;color:var(--ink-strong);font-family:var(--ui);font-size:clamp(0.9375rem,2vw,1.125rem);padding:0.375rem 0}
.gc-search-form input::placeholder{color:rgba(233,229,220,.45)}
.gc-search-close{background:none;border:0;color:rgba(233,229,220,.7);font-size:1.375rem;line-height:1;cursor:pointer;padding:0.25rem 0.375rem}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1rem clamp(1.25rem,5vw,3.25rem);border-bottom:0.0313rem solid rgba(233,229,220,.2)}
.site-header .brand{display:block;flex-shrink:0;text-decoration:none}
.site-header .brand img{display:block;height:auto;width:clamp(10rem,17vw,14.0625rem)}
.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:0.375rem;width:3rem;height:3rem;background:none;border:0.0313rem solid rgba(233,229,220,.28);cursor:pointer;padding:0 0.75rem}
.nav-toggle span{display:block;height:0.0625rem;background:var(--ink-strong)}
.main-nav{display:flex;gap:clamp(0.875rem,2.2vw,1.625rem);list-style:none;margin:0;padding:0}
.main-nav li{display:flex}
.main-nav a{display:flex;align-items:center;gap:0.5rem;border-bottom:0.125rem solid transparent;white-space:nowrap;font-family:var(--ui);font-size:clamp(0.625rem,1vw,0.75rem);letter-spacing:.16em;padding:clamp(0.375rem,.75vw,0.5rem) 0.0625rem;text-transform:uppercase;padding:clamp(0.4375rem,.9vw,0.5625rem) 0.0625rem;color:var(--ink-strong);text-decoration:none;transition:border-color .2s}
.main-nav a:hover{border-bottom-color:rgba(255,0,0,.6)}
.main-nav .current-menu-item>a,.main-nav .current_page_item>a,.main-nav .current-page-ancestor>a{border-bottom-color:var(--accent)}
.main-nav a .caret{font-size:0.5625rem;letter-spacing:0}

/* practice-areas dropdown */
.hdr-dd{position:absolute;top:100%;left:0;right:0;border-bottom:0.0313rem solid rgba(233,229,220,.22);box-shadow:0 1.625rem 3rem rgba(0,0,0,.45);opacity:0;visibility:hidden;transform:translateY(-0.5rem);transition:opacity .22s ease,transform .22s ease;background:#09121F;border-top:0.0313rem solid var(--accent);padding:1.5rem clamp(1.25rem,5vw,3.25rem) 1.375rem}
.hdr-dd.open{opacity:1;visibility:visible;transform:translateY(0)}
.hdr-dd-top .eyebrow{font-size:0.625rem;letter-spacing:.28em}
.hdr-dd-top{display:flex;justify-content:space-between;align-items:flex-end;gap:2.5rem;flex-wrap:wrap;margin-bottom:1rem}
.hdr-dd-all{font-family:var(--ui);font-size:clamp(0.5938rem,.9vw,0.6875rem);letter-spacing:.18em;text-transform:uppercase;color:rgba(233,229,220,.72);text-decoration:none;border-bottom:0.0313rem solid rgba(255,0,0,.7);padding-bottom:0.1875rem}
.hdr-dd-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(15.625rem,1fr));column-gap:clamp(1.5rem,5vw,4.5rem);row-gap:0.125rem;max-width:68.75rem}
.hdr-dd-grid a{font-family:var(--ui);font-size:clamp(0.8125rem,1vw,0.875rem);color:#f3efe7;text-decoration:none;padding:0.5625rem 0;border-bottom:0.0313rem solid rgba(233,229,220,.16)}
.hdr-dd-grid a:hover,.hdr-dd-all:hover{color:var(--accent)}

/* mobile drawer */
.hdr-scrim{position:fixed;inset:0;background:rgba(1,4,14,.7);opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;z-index:70}
.hdr-scrim.open{opacity:1;visibility:visible}
.hdr-drawer{position:fixed;top:0;right:0;bottom:0;width:min(86vw,23.75rem);background:#09121F;z-index:80;transform:translateX(100%);transition:transform .34s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;border-left:0.0313rem solid rgba(255,0,0,.6)}
.hdr-drawer.open{transform:translateX(0)}
.hdr-drawer-head{display:flex;justify-content:flex-end;padding:1.25rem 1.375rem 0.5rem}
.hdr-drawer-close{background:none;border:0.0313rem solid rgba(233,229,220,.4);color:var(--ink-strong);width:2.75rem;height:2.75rem;font-size:1.5rem;line-height:1;cursor:pointer;font-family:var(--ui)}
.hdr-drawer-body{display:flex;flex-direction:column;padding:0.5rem 1.625rem 0;overflow-y:auto;flex:1}
.hdr-drawer-main{display:flex;flex-direction:column}
.hdr-drawer-main a{font-family:var(--display);font-size:1.625rem;color:#f3efe7;text-decoration:none;padding:0.9375rem 0;border-bottom:0.0313rem solid rgba(233,229,220,.18)}
.hdr-drawer-main summary{display:flex;align-items:center;justify-content:space-between;gap:0.75rem;list-style:none;font-family:var(--display);font-size:1.625rem;color:#f3efe7;padding:0.9375rem 0;border-bottom:0.0313rem solid rgba(233,229,220,.18);cursor:pointer}
.hdr-drawer-main summary::-webkit-details-marker{display:none}
.hdr-drawer-main .acc-caret{font-family:var(--ui);font-size:0.875rem;color:var(--accent);transition:transform .2s ease}
.hdr-drawer-main details[open] .acc-caret{transform:rotate(180deg)}
.hdr-drawer-main details .hdr-drawer-areas{padding:0.375rem 0 0.75rem}
.hdr-drawer-body .eyebrow{margin:1.625rem 0 0.5rem}
.hdr-drawer-areas{display:flex;flex-direction:column}
.hdr-drawer-areas a{font-size:0.9375rem;line-height:1.4;color:rgba(233,229,220,.78);text-decoration:none;padding:0.5625rem 0}
.hdr-drawer-all{font-family:var(--ui);font-size:0.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)!important;padding:0.875rem 0 0.25rem!important}
.hdr-drawer-main a:hover,.hdr-drawer-areas a:hover{color:var(--accent)}
.hdr-drawer-foot{padding:1.375rem 1.625rem 1.875rem}
.hdr-drawer-foot .btn-primary{display:block;text-align:center;background:var(--accent);color:var(--ink-strong);font-family:var(--ui);font-size:0.8125rem;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;padding:1rem 0.75rem}

@media(max-width:800px){
  .hdr-right{display:none}
  .main-nav{display:none}
  .nav-toggle{display:flex}
  .hdr-dd{display:none}
}

/* footer */
.site-footer{padding:2.25rem clamp(1.25rem,5vw,3.75rem) 0;background:linear-gradient(180deg,#09121F 0%,#050C16 100%);border-top:0.0313rem solid rgba(233,229,220,.2);font-family:var(--ui)}
.footer-grid{max-width:73.75rem;margin:0 auto;display:grid;grid-template-columns:minmax(12.5rem,1fr) minmax(0,2fr) max-content;gap:clamp(1.75rem,4vw,3.5rem)}
@media(max-width:860px){.footer-grid{grid-template-columns:1fr}}
.footer-grid h2{font-family:var(--ui);font-size:0.6875rem;letter-spacing:.28em;color:var(--accent);font-weight:600;margin:0 0 1.25rem}
.footer-contact{display:flex;flex-direction:column;gap:1rem;font-size:0.875rem;line-height:1.5;color:rgba(233,229,220,.72)}
.footer-contact a{color:rgba(233,229,220,.72);text-decoration:none}
.footer-contact li{display:flex;align-items:flex-start;gap:0.75rem;list-style:none}
.footer-contact svg{flex-shrink:0;margin-top:0.1875rem}
.footer-contact ul{margin:0;padding:0;display:flex;flex-direction:column;gap:1rem}
.footer-about{margin:0;font-size:0.7813rem;line-height:1.55;color:rgba(233,229,220,.6);text-align:justify;max-width:28.75rem}
.footer-links ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:0.6875rem;font-size:0.875rem}
.footer-links a{color:rgba(233,229,220,.72);text-decoration:none}
.footer-bottom{max-width:73.75rem;margin:3.5rem auto 0;padding:1.375rem 0 1.25rem;border-top:0.0313rem solid rgba(233,229,220,.2);display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:0.6875rem;letter-spacing:.12em;color:rgba(233,229,220,.4)}
.footer-bottom nav{display:flex;gap:1.75rem}
.footer-bottom a{color:rgba(233,229,220,.4);text-decoration:none}

/* page hero */
.page-hero{padding:clamp(3rem,7vw,5rem) clamp(1.25rem,5vw,3.75rem) clamp(2.25rem,4.5vw,3.5rem);display:flex;flex-direction:column;align-items:center;text-align:center}
.page-hero .eyebrow{margin-bottom:1.75rem;font-size:0.75rem;letter-spacing:.34em}
.page-hero h1{font-size:clamp(1.625rem,3.6vw,2.375rem);line-height:1.24;max-width:60rem;text-wrap:pretty}
.page-hero .lede p{margin:0}
.page-hero .lede{margin:1.5rem 0 0;font-family:var(--serif);font-weight:300;font-size:clamp(1.0625rem,1.7vw,1.25rem);line-height:1.75;color:rgba(233,229,220,.72);max-width:52.5rem;text-wrap:pretty}

/* home */
.home-hero{position:relative;height:clamp(32.5rem,74vh,50rem);background:#0a1826;overflow:hidden}
.home-hero .hero-scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,18,31,.85) 0%,rgba(9,18,31,.3) 58%,rgba(9,18,31,0) 100%)}
.home-hero .hero-rule{position:absolute;left:0;top:0;bottom:0;width:0.1875rem;background:linear-gradient(180deg,rgba(255,0,0,0) 0%,var(--accent) 22%,var(--accent) 78%,rgba(255,0,0,0) 100%)}
.home-hero img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 41%}
.home-hero .fade-top{position:absolute;top:0;left:0;right:0;height:5.3125rem;background:linear-gradient(180deg,var(--bg),rgba(5,13,24,0))}
.home-hero .fade-bottom{position:absolute;bottom:0;left:0;right:0;height:18.75rem;background:linear-gradient(180deg,rgba(9,18,31,0) 0%,rgba(9,18,31,.55) 45%,var(--bg) 100%)}
.band-cream{background:linear-gradient(180deg,#FBFAF7 0%,#F1EDE5 100%);color:#09121F}
.band-cream a{color:#09121F}
.band-cream a:hover{color:var(--accent)}
.eyebrow-stack{display:flex;flex-direction:column;align-items:center;gap:0.75rem;margin-bottom:1.625rem}
.eyebrow-stack-left{align-items:flex-start;width:100%;max-width:73.75rem;margin-bottom:clamp(1.875rem,4vw,2.875rem)}
.eyebrow-label{font-family:var(--ui);font-size:clamp(0.6563rem,.95vw,0.75rem);letter-spacing:.28em;text-transform:uppercase;font-weight:700}
.eyebrow-stack-left .eyebrow-label{font-weight:400;color:rgba(245,241,233,.86)}
.eyebrow-dash{display:inline-block;width:3rem;height:0.125rem;background:var(--accent);flex-shrink:0}
.home-intro{padding:clamp(3.5rem,7vw,5.5rem) clamp(1.25rem,5vw,3.5rem);display:flex;flex-direction:column;align-items:center;text-align:center}
.home-intro h2{color:#09121F;font-family:var(--serif);font-weight:200;font-size:clamp(1.25rem,2.5vw,1.6875rem);line-height:1.3;margin:0 0 1.5rem;max-width:65.625rem;width:100%;text-wrap:pretty}
.home-intro p{font-size:clamp(0.9063rem,1.2vw,1rem);line-height:1.85;color:rgba(9,18,31,.66);margin:0;max-width:45rem;text-wrap:pretty}
.home-firm{padding:clamp(3.5rem,7vw,5.25rem) clamp(1.25rem,5vw,3.5rem) clamp(2.5rem,5vw,4rem);display:flex;flex-direction:column;align-items:center;background:linear-gradient(180deg,#09121F 0%,#050C16 100%)}
.link-rule{align-self:flex-start;margin-top:auto;padding:0 0.0625rem 0.5rem;font-family:var(--ui);font-size:clamp(0.6563rem,.95vw,0.75rem);letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;color:var(--ink-strong);text-decoration:none;border-bottom:0.125rem solid var(--accent);transition:border-color .2s}
.link-rule:hover{color:var(--ink-strong);border-bottom-color:rgba(255,0,0,.55)}
.btn-solid{background:var(--accent);padding:1rem 2.5rem;font-family:var(--ui);font-size:clamp(0.8125rem,1vw,0.875rem);letter-spacing:.24em;text-transform:uppercase;white-space:nowrap;color:#f5f1e9;text-decoration:none;transition:background .2s}
.btn-solid:hover{background:#d40000;color:#f5f1e9}
.band-cream a.btn-solid{color:#f5f1e9}
.band-cream a.btn-solid:hover{color:#f5f1e9}
/* Only hidden when scripting is available to reveal it again. */
.gc-js [data-reveal]{opacity:0;transform:translateY(1.75rem);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}
.gc-js [data-reveal].is-in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.gc-js [data-reveal]{opacity:1;transform:none;transition:none}}
.mark{height:3.0625rem;width:3.0625rem;background:var(--accent);-webkit-mask:var(--mark) center/contain no-repeat;mask:var(--mark) center/contain no-repeat;margin:2.75rem auto 0}
.home-cards{width:100%;max-width:73.75rem;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,11.875rem),1fr));gap:clamp(1rem,2.8vw,3rem)}
.home-card{display:flex;flex-direction:column}
.home-card-img{position:relative;display:block;width:100%;aspect-ratio:1/1;overflow:hidden;background:#09121F;margin:0 0 clamp(1rem,2.2vw,1.625rem)}
.home-card-img img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(1) contrast(1.02);transition:transform .5s ease,filter .5s ease}
.home-card-img:hover img{transform:scale(1.03);filter:grayscale(0) contrast(1.02)}
.home-card h3{font-size:clamp(1.4375rem,2.6vw,1.875rem);line-height:1.1;margin:0 0 clamp(0.875rem,1.8vw,1.375rem)}
.home-card p{font-size:clamp(0.8125rem,1.3vw,0.875rem);line-height:1.85;color:rgba(233,229,220,.68);margin:0 0 clamp(1.25rem,2.6vw,1.875rem)}
.btn{align-self:flex-start;white-space:nowrap;margin-top:auto;border:0.0313rem solid var(--accent);padding:0.75rem 1.5rem;font-family:var(--ui);font-size:0.8125rem;letter-spacing:.2em;color:var(--ink-strong);text-decoration:none;text-transform:uppercase;transition:background .2s}
.btn:hover{background:var(--accent);color:var(--ink-strong)}
.btn-ghost{border-color:rgba(233,229,220,.3)}
.btn-ghost:hover{background:none;border-color:var(--accent)}

.home-hero-title{position:absolute;left:clamp(1.25rem,5vw,3.5rem);bottom:clamp(3.5rem,7vw,5.75rem);margin:0;max-width:min(90%,45rem);font-family:var(--display);font-weight:300;font-size:clamp(1.875rem,4vw,3.25rem);line-height:1.12;color:var(--ink-strong);text-wrap:pretty}

.gc-hero-br{display:inline}
@media(max-width:700px){.gc-hero-br{display:none}}

/* home contact */
.home-contact{padding:clamp(3.5rem,7vw,5.5rem) clamp(1.25rem,5vw,3.5rem);display:flex;flex-direction:column;align-items:center;text-align:center}
.home-contact-rule{max-width:73.75rem;margin:0 auto;height:0.0625rem;background:rgba(233,229,220,.14)}
.home-contact h2{color:#09121F;font-family:var(--serif);font-weight:200;font-size:clamp(1.25rem,2.5vw,1.6875rem);line-height:1.3;margin:0 0 1.5rem;max-width:65.625rem;width:100%;text-wrap:pretty}
.home-contact p{margin:0;font-size:clamp(0.9063rem,1.2vw,1rem);line-height:1.85;color:rgba(9,18,31,.66);max-width:45rem;text-wrap:pretty}
.home-contact .btn-solid{margin-top:clamp(1.625rem,3.4vw,2.25rem)}
.band-cream .mark{margin:2.75rem auto 0}

/* service panels */
.panel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,14.5rem),1fr));gap:clamp(0.75rem,1.6vw,1.25rem)}
.panel{position:relative;display:block;overflow:hidden;background:#09121F;text-decoration:none;aspect-ratio:4/5}
.panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.02);transition:transform .6s ease,filter .5s ease}
.panel:hover img{transform:scale(1.07);filter:grayscale(0) contrast(1.02)}
.panel .shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(1,4,14,.1) 0%,rgba(1,4,14,.4) 50%,rgba(1,4,14,.92) 100%)}
.panel .panel-text{position:absolute;left:0;right:0;bottom:0;padding:clamp(1.125rem,2.4vw,1.875rem) clamp(1.125rem,2.6vw,2rem)}
.panel .panel-mark{position:absolute;top:clamp(0.875rem,1.8vw,1.25rem);left:clamp(1rem,2.2vw,1.625rem);height:clamp(1.25rem,2vw,1.625rem);width:clamp(1.25rem,2vw,1.625rem);background:var(--accent);-webkit-mask:url('assets/logo-mark.png') center/contain no-repeat;mask:url('assets/logo-mark.png') center/contain no-repeat}
.panel h3{font-weight:600;font-size:clamp(1.125rem,1.8vw,1.5rem);margin:0 0 0.5rem;color:#f3efe7;transition:color .3s}
.panel p{margin:0;font-size:clamp(0.7813rem,1.1vw,0.875rem);line-height:1.55;color:rgba(233,229,220,.72)}
.panel:hover h3{color:var(--ink-strong)}

/* single service */
.service-hero{position:relative;min-height:clamp(22.5rem,46vw,32.5rem);display:flex;align-items:flex-end;overflow:hidden}
.service-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.02)}
.service-hero .shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(1,4,14,.55) 0%,rgba(1,4,14,.72) 45%,rgba(1,4,14,.96) 100%)}
.service-hero .inner{position:relative;width:100%;max-width:76.25rem;margin:0 auto;padding:0 clamp(1.25rem,5vw,3.75rem) clamp(2.75rem,5vw,4rem)}
.service-hero h1{font-size:clamp(1.625rem,3.6vw,2.375rem);line-height:1.24;max-width:56.25rem;text-wrap:pretty}
.back-link{display:inline-block;font-family:var(--ui);font-size:0.6875rem;letter-spacing:.28em;color:var(--accent);font-weight:600;text-decoration:none;margin-bottom:1.375rem}
.service-intro{display:grid;grid-template-columns:repeat(auto-fit,minmax(18.75rem,1fr));gap:clamp(2rem,5vw,4.5rem);align-items:start;padding-top:clamp(3rem,6vw,5rem);padding-bottom:clamp(3.5rem,7vw,5.25rem)}
.service-intro .lede{margin:0 0 1.625rem;font-family:var(--serif);font-weight:300;font-size:clamp(1.125rem,1.6vw,1.375rem);line-height:1.7;color:rgba(233,229,220,.88);text-wrap:pretty}
.service-intro .body p{margin:0 0 1.125rem;font-size:1rem;line-height:1.85;color:rgba(233,229,220,.7);text-wrap:pretty}
.contact-card{border:0.0313rem solid rgba(233,229,220,.24);padding:clamp(1.625rem,3vw,2.25rem);display:flex;flex-direction:column;gap:1.125rem;background:var(--bg-raised)}
.contact-card p{margin:0;font-size:0.9375rem;line-height:1.7;color:rgba(233,229,220,.72)}
.contact-card .lines{display:flex;flex-direction:column;gap:0.75rem;font-family:var(--ui);font-size:0.875rem}
.contact-card .lines a{display:flex;align-items:center;gap:0.75rem;color:rgba(233,229,220,.82);text-decoration:none}
.help-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(20rem,1fr));gap:0.0625rem;background:rgba(233,229,220,.12);border:0.0313rem solid rgba(233,229,220,.2)}
.help-grid>div{background:var(--bg);padding:clamp(1.625rem,3vw,2.375rem)}
.help-grid .mark-sm{float:left;height:1.0625rem;width:1.0625rem;background:var(--accent);-webkit-mask:var(--mark) center/contain no-repeat;mask:var(--mark) center/contain no-repeat;margin:0.3125rem 0.75rem 0 0}
.help-grid h3{font-size:1.4375rem;margin:0 0 0.75rem}
.help-grid p{clear:both;margin:0;font-size:0.9375rem;line-height:1.75;color:rgba(233,229,220,.68);text-wrap:pretty}
.related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,16.25rem),1fr));gap:1.25rem}
.related-grid .panel{aspect-ratio:16/10}
.related-grid .panel-text{padding:1.5rem 1.625rem}
.related-grid h3{font-size:1.4375rem;margin:0}
.section{padding-top:clamp(3rem,6vw,5.25rem);padding-bottom:clamp(3.5rem,7vw,5.25rem)}
.section>.eyebrow{display:block;margin-bottom:1.75rem}

/* who we are */
.split-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(20rem,1fr));gap:0.0625rem;background:rgba(233,229,220,.12);border:0.0313rem solid rgba(233,229,220,.2);max-width:73.75rem;margin:0 auto}
.split-grid>div{background:var(--bg);padding:3.25rem 2.75rem}
.split-grid h3{font-size:2.125rem;margin:0 0 1.25rem}
.split-grid p{margin:0;font-size:1rem;line-height:1.8;color:rgba(233,229,220,.7)}
.prose{font-size:1.0313rem;line-height:1.85;color:rgba(233,229,220,.75)}
.prose p{margin:0 0 1.25rem;text-wrap:pretty}
.prose h2{font-size:2rem;margin:2.5rem 0 1rem}
.prose h3{font-size:1.5rem;margin:2rem 0 0.75rem}
.prose ul,.prose ol{padding-left:1.5rem;display:flex;flex-direction:column;gap:0.625rem;margin:0 0 1.25rem}
.prose a{color:var(--ink-strong);text-decoration:none;border-bottom:0.0313rem solid var(--accent)}
/* opening narrative on Who We Are: larger serif, as designed */
.prose-lede{font-family:var(--serif);font-weight:300;font-size:clamp(1.0625rem,1.6vw,1.3125rem);line-height:1.75;color:rgba(233,229,220,.82)}
.prose-lede p{margin:0 0 1.875rem}
.prose-lede p:last-child{margin-bottom:0}
.prose-lede .gc-pull{font-family:var(--display);font-weight:400;font-size:clamp(1.6875rem,3.1vw,2.25rem);line-height:1.3;color:var(--ink-strong);padding-top:0.5rem}
.section-mark{height:clamp(2.125rem,3.6vw,2.875rem);width:clamp(2.125rem,3.6vw,2.875rem);margin:clamp(3rem,6vw,4.75rem) auto 0}



/* team */
.gc-card .gc-photo.flip,.modal-photo .gc-photo.flip{transform:scaleX(-1)}
.portrait-empty{position:absolute;inset:0;background:#8A8378;display:flex;align-items:center;justify-content:center}
.portrait-empty .mark{width:30%;height:auto;aspect-ratio:1;opacity:.9;margin:0}
.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(18.75rem,1fr));gap:3rem 2.25rem;margin:0 auto}
.team-card{position:relative;display:block;width:100%;border:0;padding:0;background:#09121F;aspect-ratio:4/5;overflow:hidden;cursor:pointer;text-align:left}
.team-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;filter:grayscale(1) contrast(.94) brightness(1.16);transition:filter .35s ease}
.team-card:hover img{filter:grayscale(0) contrast(.94) brightness(1.16)}
.team-card .shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(1,4,14,0) 40%,rgba(1,4,14,.55) 72%,rgba(1,4,14,.92) 100%)}
.team-card .card-mark{position:absolute;top:0.875rem;left:0.875rem;height:1.625rem;width:1.625rem;background:var(--accent);-webkit-mask:var(--mark) center/contain no-repeat;mask:var(--mark) center/contain no-repeat;margin:0}
.team-card .meta{position:absolute;left:0;right:0;bottom:0;padding:1.125rem 1.25rem}
.team-card h3{font-size:clamp(1.375rem,2.2vw,1.75rem);line-height:1.1;margin:0 0 0.4375rem}
.team-card .role{font-family:var(--ui);font-size:0.7188rem;letter-spacing:.18em;line-height:1.35;color:var(--accent);font-weight:600;text-transform:uppercase}
.modal{position:fixed;inset:0;background:rgba(1,4,14,.9);display:none;align-items:center;justify-content:center;padding:clamp(1rem,4vw,3rem);z-index:100}
.modal.open{display:flex}
.modal-inner{position:relative;background:var(--bg);border:0.0313rem solid rgba(233,229,220,.26);max-width:58.75rem;width:100%;max-height:90vh;overflow:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(17.5rem,1fr))}
.modal-photo{position:relative;min-height:20rem;background:#09121F}
.modal-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;filter:none}
/* single column on phones: shorter photo box; contain keeps the full portrait visible */
@media(max-width:700px){
  .modal{padding:0.75rem}
  .modal-inner{grid-template-columns:1fr;grid-template-rows:auto 1fr;max-height:92vh;-webkit-overflow-scrolling:touch}
  .modal-photo{min-height:0;height:42vh;aspect-ratio:auto;flex:none}
  .modal-body{padding:1.375rem 1.375rem 1.625rem}
  .modal-body h2{font-size:1.625rem}
  .modal-body .contact-lines{margin-top:1.5rem}
}
.modal-body{padding:clamp(1.75rem,4vw,2.75rem);display:flex;flex-direction:column}
.modal-body h2{font-size:2.125rem;margin:0}
.modal-body .role{font-family:var(--ui);font-size:0.75rem;letter-spacing:.2em;color:var(--accent);font-weight:600;margin-top:0.625rem;text-transform:uppercase}
.modal-body .bio{margin:1.25rem 0 0;font-family:var(--serif);font-weight:300;font-size:1rem;line-height:1.6;color:rgba(233,229,220,.78);text-wrap:pretty}
.modal-body .contact-lines{margin-top:auto;padding-top:1.25rem;display:flex;flex-direction:column;gap:0.875rem}
.modal-body .contact-lines a{display:flex;align-items:center;gap:0.75rem;color:rgba(233,229,220,.78);text-decoration:none;font-size:0.875rem;letter-spacing:.08em}
.modal-close{position:absolute;top:0.875rem;right:1rem;background:rgba(1,4,14,.55);border:0.0313rem solid rgba(233,229,220,.26);width:2.375rem;height:2.375rem;color:var(--ink-strong);font-size:1.625rem;line-height:1;cursor:pointer;z-index:2}
.modal-inner.single{display:block;max-width:60rem}
.modal-service .modal-hero{position:relative;height:clamp(9.375rem,20vw,13.75rem);overflow:hidden;background:#09121F}
.modal-service .modal-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.02)}
.modal-service .modal-hero .shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(1,4,14,.35) 0%,rgba(1,4,14,.7) 55%,rgba(1,4,14,.98) 100%)}
.modal-service .modal-hero-text{position:absolute;left:0;right:0;bottom:0;padding:0 clamp(1.5rem,4vw,2.75rem) clamp(1.125rem,2.4vw,1.625rem)}
.modal-service .modal-hero-text h2{font-size:clamp(1.75rem,3.4vw,2.75rem);line-height:1.1;margin:0.75rem 0 0}
.modal-service .modal-wide-body{padding:clamp(1.5rem,3.4vw,2.375rem) clamp(1.5rem,4vw,2.75rem) clamp(1.75rem,4vw,2.75rem);display:flex;flex-direction:column;gap:1.375rem}
.modal-service .lede{margin:0;font-family:var(--serif);font-weight:300;font-size:clamp(1.0625rem,1.5vw,1.25rem);line-height:1.7;color:rgba(233,229,220,.88);text-wrap:pretty}
.modal-service .body p{margin:0 0 0.875rem;font-size:0.9375rem;line-height:1.85;color:rgba(233,229,220,.7);text-wrap:pretty}
.modal-service .help-grid{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}
.modal-service .help-grid>div{padding:1.375rem 1.5rem}
.modal-service .help-grid h3{font-size:1.3125rem;margin:0 0 0.5rem}
.modal-service .help-grid p{clear:both;margin:0;font-size:0.875rem;line-height:1.7;color:rgba(233,229,220,.68)}
.modal-service .mark-sm{float:left;height:0.9375rem;width:0.9375rem;background:var(--accent);-webkit-mask:var(--mark) center/contain no-repeat;mask:var(--mark) center/contain no-repeat;margin:0.25rem 0.75rem 0 0}
.modal-service .modal-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;padding-top:1.25rem;border-top:0.0313rem solid rgba(233,229,220,.2);font-family:var(--ui);font-size:0.875rem}
.modal-service .modal-actions a{display:flex;align-items:center;gap:0.625rem;color:rgba(233,229,220,.82);text-decoration:none}
.modal-service .modal-actions .modal-full-link{font-family:var(--ui);font-size:0.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}
.modal-service .modal-actions .btn{margin:0 0 0 auto}
.panel[data-modal]{cursor:pointer}

/* legal pages */
.legal details{border-top:0.0313rem solid rgba(233,229,220,.22)}
.legal summary{list-style:none;cursor:pointer;display:flex;align-items:baseline;justify-content:space-between;gap:1.75rem;padding:1.375rem 0}
.legal summary::-webkit-details-marker{display:none}
.legal summary h2{font-size:1.5rem;transition:color .2s}
.legal details[open] summary h2{color:#fff}
.legal .plus{font-family:var(--ui);font-size:1.625rem;line-height:1;color:var(--accent);flex-shrink:0;transition:transform .25s ease}
.legal details[open] .plus{transform:rotate(45deg)}
.legal .details-body{display:flex;flex-direction:column;gap:1rem;padding:0.125rem 0 2.125rem}
.legal p,.legal li{font-family:var(--serif);font-weight:300;font-size:1.0625rem;line-height:1.8;color:rgba(233,229,220,.78);text-wrap:pretty;margin:0}
.legal ul{padding-left:1.625rem;display:flex;flex-direction:column;gap:0.625rem}
/* the .prose defaults must not add block margins inside the accordions */
.legal .prose h2,.legal summary h2{margin:0;font-size:1.5rem}
.legal details,.legal .prose details{margin:0}
.legal .details-body p,.legal .prose p{margin:0}
.legal .details-body ul,.legal .prose ul,.legal .prose ol{margin:0}

/* contact */
.contact-grid{display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1fr);gap:clamp(2rem,4vw,3.5rem);align-items:start}
@media(max-width:820px){.contact-grid{grid-template-columns:1fr}}
.contact-details{display:flex;flex-direction:column;gap:2.25rem;align-items:flex-start}
.contact-details>div:not(.contact-mark){width:max-content;max-width:100%}
.contact-details .eyebrow{display:block;margin-bottom:0.75rem;font-size:0.75rem;letter-spacing:.28em}
.contact-details a{font-family:var(--ui);font-weight:400;font-size:1.0625rem;line-height:1.55;color:var(--ink-strong);text-decoration:none}
.contact-details a:hover{color:var(--accent)}
.contact-mark{width:clamp(4rem,7vw,5.75rem);height:auto;aspect-ratio:1;margin:clamp(1.25rem,3vw,2.25rem) 0 0}
.contact-map{max-width:73.75rem;margin:2rem auto 0;border:0.0313rem solid rgba(233,229,220,.22);overflow:hidden}
.contact-map iframe{display:block;border:0;width:100%;filter:grayscale(1) invert(.92) contrast(.9)}
.form-slot input,.form-slot textarea,.form-slot select{width:100%;background:transparent;border:0.0313rem solid rgba(233,229,220,.28);color:var(--ink-strong);font-family:var(--ui);font-size:0.875rem;padding:0.75rem 0.875rem;margin-bottom:0.875rem}
.form-slot input:focus,.form-slot textarea:focus{outline:none;border-color:var(--accent)}
.form-slot button,.form-slot input[type=submit]{background:transparent;border:0.0313rem solid var(--accent);color:var(--ink-strong);font-family:var(--ui);font-size:0.875rem;letter-spacing:.24em;white-space:nowrap;padding:1rem 2.5rem;text-transform:uppercase;cursor:pointer;width:auto}
.form-slot button:hover,.form-slot input[type=submit]:hover{background:var(--accent)}
/* Contact Form 7 */
.form-slot .wpcf7 p{margin:0}
.form-slot .wpcf7 br{display:none}
.form-slot .wpcf7-form{display:flex;flex-direction:column;gap:0.75rem}
.form-slot .gc-row{display:grid;grid-template-columns:1fr 1fr;gap:0.75rem}
.form-slot .wpcf7 label{display:flex;flex-direction:column;gap:0.375rem;font-family:var(--ui);font-size:0.6875rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(233,229,220,.55)}
.form-slot .wpcf7 input::placeholder,.form-slot .wpcf7 textarea::placeholder{color:rgba(233,229,220,.4)}
.form-slot .wpcf7 textarea{min-height:9.375rem;resize:vertical}
.form-slot .wpcf7-list-item{margin:0}
.form-slot .wpcf7-acceptance .wpcf7-list-item-label{font-family:var(--ui);font-size:0.7813rem;letter-spacing:0;text-transform:none;line-height:1.6;color:rgba(233,229,220,.6)}
.form-slot .wpcf7 input[type=checkbox]{width:auto;margin-right:0.625rem;accent-color:var(--accent)}
.form-slot .wpcf7-spinner{margin:0 0 0 0.75rem}
.form-slot .wpcf7-not-valid-tip{font-family:var(--ui);font-size:0.75rem;letter-spacing:.04em;color:var(--accent);margin-top:0.375rem}
.form-slot .wpcf7 input.wpcf7-not-valid,.form-slot .wpcf7 textarea.wpcf7-not-valid{border-color:var(--accent)}
.form-slot .wpcf7-response-output{margin:1.25rem 0 0;padding:0.875rem 1rem;border:0.0313rem solid rgba(233,229,220,.34);font-family:var(--ui);font-size:0.8438rem;line-height:1.6;color:rgba(233,229,220,.82)}
.form-slot .wpcf7 form.sent .wpcf7-response-output{border-color:rgba(233,229,220,.45)}
.form-slot .wpcf7 form.invalid .wpcf7-response-output,.form-slot .wpcf7 form.failed .wpcf7-response-output,.form-slot .wpcf7 form.aborted .wpcf7-response-output{border-color:var(--accent)}
.form-slot .gc-hp{position:absolute;left:-624.9375rem;width:0.0625rem;height:0.0625rem;overflow:hidden}
@media(max-width:600px){.form-slot .gc-row{grid-template-columns:1fr}}

/* 404 */
.error-page{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:clamp(3.75rem,10vw,7.5rem) clamp(1.25rem,5vw,3.75rem)}
.error-page .mark{margin:0 0 2.375rem;height:4.875rem;width:4.875rem}
.error-page h1{font-size:clamp(2.375rem,5vw,4.25rem);line-height:1.08;max-width:48.75rem;text-wrap:pretty}
.error-page p{margin:1.625rem 0 0;font-family:var(--serif);font-weight:300;font-size:clamp(1rem,1.5vw,1.1875rem);line-height:1.75;color:rgba(233,229,220,.7);max-width:35rem}
.error-actions{display:flex;flex-wrap:wrap;gap:clamp(0.625rem,2.4vw,2.75rem);justify-content:center;margin-top:2.75rem;letter-spacing:.16em}
.error-actions .btn{margin-top:0;border-color:var(--accent);padding:0.5rem 0.625rem;font-size:0.875rem;letter-spacing:.16em;white-space:nowrap}
.error-actions .btn:hover{background:var(--accent)}

/* ---- cream band (Who We Are narrative, How we help) ---- */
.band-light{background:linear-gradient(180deg,#FBFAF7 0%,#F1EDE5 100%);padding:clamp(3.5rem,6.5vw,5.25rem) clamp(1.25rem,5vw,3.75rem)}
.band-light-inner{max-width:56.25rem;margin:0 auto}
.band-light-wide{max-width:73.75rem}
.band-light .prose-lede{color:rgba(9,18,31,.78)}
.band-light .prose-lede .gc-pull{color:#09121F}
.band-light .prose-lede a{color:#09121F}
.band-light .mark{margin:clamp(1.125rem,2.4vw,1.875rem) auto 0}
.eyebrow-dark{display:block;color:#09121F;font-weight:700;margin-bottom:1.75rem}
.eyebrow-dark::after{content:"";display:block;width:3rem;height:0.125rem;background:var(--accent);margin-top:0.75rem}
.eyebrow-bare::after{display:none}
.help-grid-light{background:rgba(9,18,31,.14);border:0.0313rem solid rgba(9,18,31,.16)}
.help-grid-light>div{background:rgba(255,255,255,.55)}
.help-grid-light h3{font-size:clamp(1.1563rem,1.8vw,1.4375rem);color:#09121F}
.help-grid-light p{font-size:clamp(0.8438rem,1.1vw,0.9375rem);color:rgba(9,18,31,.68)}

/* ---- two-column statement band (Who We Are) ---- */
.band-split{padding:clamp(3.5rem,6.5vw,5.25rem) clamp(1.25rem,5vw,3.75rem)}
.band-split-inner{max-width:73.75rem;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(20.625rem,1fr));gap:clamp(1.75rem,4vw,4rem);align-items:start}
.band-split .eyebrow{display:block;color:var(--ink-strong);margin-bottom:1.375rem}
.band-split .eyebrow::after{content:"";display:block;width:3rem;height:0.125rem;background:var(--accent);margin-top:0.75rem}
.band-split h2{font-size:clamp(1.625rem,3.6vw,2.375rem);line-height:1.24;margin:0;text-wrap:pretty}
.band-split p{margin:0;font-family:var(--serif);font-weight:300;font-size:clamp(1.0625rem,1.55vw,1.3125rem);line-height:1.75;color:rgba(233,229,220,.72);text-wrap:pretty}

/* ---- partners strip (Who We Are) ---- */
.partners{padding:clamp(1.75rem,3.2vw,2.5rem) clamp(1.25rem,5vw,3.75rem) clamp(3.5rem,6.5vw,5.25rem)}
.partners-inner{max-width:73.75rem;margin:0 auto}
.partners-head{display:flex;align-items:baseline;justify-content:space-between;gap:2rem;flex-wrap:wrap;margin-bottom:clamp(1.375rem,2.6vw,2rem)}
.partners-head .eyebrow{color:var(--ink-strong);font-size:clamp(0.5938rem,.9vw,0.6875rem)}
.partners-all{font-family:var(--ui);font-size:clamp(0.5938rem,.9vw,0.6875rem);letter-spacing:.18em;text-transform:uppercase;color:rgba(233,229,220,.72);text-decoration:none;border-bottom:0.0313rem solid rgba(255,0,0,.7);padding-bottom:0.1875rem}
.partners-all:hover{color:var(--ink-strong)}
.partners-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1.125rem,2.2vw,1.875rem)}
@media(max-width:760px){.partners-grid{grid-template-columns:repeat(2,1fr)}}
.partner-card{display:flex;flex-direction:column;gap:1rem;text-decoration:none;cursor:pointer}
.partner-photo{position:relative;display:block;width:100%;aspect-ratio:3/4;overflow:hidden;background:#0C1828}
.partner-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;filter:grayscale(1) contrast(.94) brightness(1.16);transition:filter .35s}
.partner-card:hover .partner-photo img{filter:grayscale(0) contrast(.94) brightness(1.16)}
.partner-name{font-family:var(--display);font-weight:400;font-size:clamp(1.1875rem,1.6vw,1.375rem);line-height:1.2;color:var(--ink-strong)}

/* ---- closing link cards ---- */
.closing-cards{padding:clamp(3.75rem,7vw,5.75rem) clamp(1.25rem,5vw,3.75rem);background:linear-gradient(180deg,#F1EDE5 0%,#FBFAF7 100%)}
.closing-inner{max-width:73.75rem;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(18.75rem,1fr));gap:0.0625rem;background:rgba(9,18,31,.14);border:0.0313rem solid rgba(9,18,31,.14)}
.closing-inner>a{background:#FBFAF7;padding:clamp(2.125rem,3.6vw,2.875rem) clamp(1.75rem,3vw,2.5rem);text-decoration:none;display:flex;flex-direction:column;gap:0.875rem;transition:background .25s}
.closing-inner>a:hover{background:#F6F2EA}
.closing-inner .eyebrow{color:var(--accent)}
.closing-row{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem}
.closing-title{font-family:var(--display);font-weight:400;font-size:clamp(1.4375rem,2.4vw,1.8125rem);line-height:1.28;color:#09121F;text-wrap:pretty}
.closing-arrow{font-family:var(--ui);font-size:clamp(1.0313rem,1.5vw,1.25rem);color:var(--accent);flex-shrink:0;line-height:1}

/* ---- keyword line on a practice area ---- */
.terms-line{margin:0.25rem 0 0;font-family:var(--ui);font-size:0.5938rem;letter-spacing:.18em;line-height:1.7;color:rgba(233,229,220,.55)}

/* ---- related areas ribbon ---- */
.ribbon-wrap{position:relative}
.ribbon{display:flex;gap:1.25rem;overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.ribbon::-webkit-scrollbar{display:none}
.ribbon .panel{flex:0 0 clamp(16.125rem,27vw,21.25rem);aspect-ratio:16/10;scroll-snap-align:start}
.ribbon .panel .shade{background:linear-gradient(180deg,rgba(1,4,14,.1) 0%,rgba(1,4,14,.45) 50%,rgba(1,4,14,.92) 100%)}
.ribbon .panel-text{padding:1.5rem 1.625rem}
.ribbon .panel h3{font-size:clamp(1.1563rem,1.8vw,1.4375rem);margin:0}
.ribbon-btn{position:absolute;top:50%;transform:translateY(-50%);width:2.75rem;height:2.75rem;display:flex;align-items:center;justify-content:center;background:rgba(9,18,31,.28);border:0.0313rem solid transparent;color:var(--ink-strong);cursor:pointer;transition:border-color .2s,background .2s}
.ribbon-btn:hover{border-color:var(--accent);background:var(--bg)}
.ribbon-prev{left:-0.375rem}
.ribbon-next{right:-0.375rem}
.all-areas{display:flex;justify-content:flex-end;margin-top:clamp(1.75rem,3vw,2.5rem)}
.all-areas a{display:flex;align-items:center;gap:0.5625rem;font-family:var(--ui);font-size:clamp(0.625rem,1vw,0.75rem);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-strong);text-decoration:none;padding:clamp(0.375rem,.75vw,0.5rem) 0.0625rem;border-bottom:0.125rem solid transparent;transition:border-color .2s}
.all-areas a:hover{border-bottom-color:var(--accent)}
.section .mark{margin-left:auto;margin-right:auto}
.page-hero-tight{padding-top:clamp(4rem,9vw,7.5rem);padding-bottom:clamp(4.5rem,9vw,7.75rem)}
.page-hero-tight h1{max-width:45rem}
