@font-face{font-family:"Bricolage Grotesque";src:url(../fonts/bricolage-grotesque-latin-wght-normal.woff2) format("woff2");font-weight:200 800;font-display:swap}
:root{
  color-scheme:dark;
  --ground:#0B0B0C;--tone1:#161617;--tone2:#202022;--tone3:#2B2B2E;
  --paper:#ECEAE6;--soft:#A9A6A1;
  --gold:#C9A24A;--gold-hi:#D9B560;--red:#9E1C24;--red-hi:#B0242D;--red-lo:#86161D;
  --small:0.875rem;--body:clamp(1.0625rem,1rem + .25vw,1.1875rem);--lead:clamp(1.375rem,1.1rem + .9vw,1.75rem);
  --head:clamp(2.5rem,1.4rem + 3.4vw,4rem);--display:clamp(4rem,1.5rem + 7.6vw,8.5rem);
  --m:32px;--gap:24px;--sec:clamp(120px,14vw,200px);
  --ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ground);color:var(--paper);font-family:"Bricolage Grotesque",system-ui,sans-serif;font-size:var(--body);line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3{font-weight:600;letter-spacing:-.04em;line-height:.95;margin:0}
p{margin:0;text-wrap:pretty}
h1,h2,h3{text-wrap:balance}
::selection{background:var(--gold);color:var(--ground)}
html{scrollbar-color:var(--tone3) var(--ground);accent-color:var(--gold)}
input,textarea{caret-color:var(--ground)}
a{text-underline-offset:.18em;text-decoration-thickness:1px}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);padding:0 var(--m)}
.skip:not(:focus){clip:rect(0 0 0 0);clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}
.skip{position:absolute;left:var(--m);top:-60px;background:var(--gold);color:var(--ground);padding:12px 16px;z-index:200;font-weight:600}
.skip:focus{top:12px}

/* header */
.hdr{position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 var(--m);height:84px;transition:background-color .4s var(--ease)}
.hdr.solid{background:var(--ground)}
.brand{display:flex;align-items:center;min-height:44px}
.brand img{height:52px;width:auto}
.nav{display:flex;align-items:center;gap:32px}
.nav a{text-decoration:none;font-size:1rem;font-weight:500;position:relative;padding:10px 0}
.nav a.btn{padding:0 24px}
.nav a:not(.btn)::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:0 50%;transition:transform .35s var(--ease)}
.nav a:not(.btn):hover::after,.nav a:not(.btn):focus-visible::after{transform:scaleX(1)}
.menu-btn{display:none;min-height:44px;padding:0 4px;background:none;border:0;color:var(--paper);font:inherit;font-weight:500;cursor:pointer;text-decoration:underline;text-underline-offset:.25em}
.mnav{position:absolute;top:100%;left:0;right:0;background:var(--ground);padding:8px var(--m) 24px;display:flex;flex-direction:column}
.mnav[hidden]{display:none}
.mnav a{font-size:var(--lead);font-weight:600;text-decoration:none;padding:10px 0;letter-spacing:-.02em}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 24px;background:var(--gold);color:var(--ground);font-weight:600;font-size:1rem;text-decoration:none;border:0;cursor:pointer;font-family:inherit;transition:background-color .25s,transform .2s var(--ease)}
.btn:hover{background:var(--gold-hi)}
.btn:active{transform:scale(.97);transition-duration:.1s}
.btn .arr{transition:transform .3s var(--ease)}
.btn:hover .arr{transform:translateX(4px)}

/* hero */
.hero{position:relative;height:100svh;min-height:640px;overflow:hidden;background:var(--ground)}
.hero .slide{position:absolute;inset:0;opacity:0;transition:opacity 1.6s ease}
.hero .slide.on{opacity:1}
.hero .slide img{width:100%;height:100%;object-fit:cover;object-position:62% 50%;transform:scale(1.02);transition:transform 9s linear}
.hero .slide.on img{transform:scale(1.08)}
.hero::before{content:"";position:absolute;inset:0;z-index:1;background:rgba(11,11,12,.5)}
.hero-copy{position:absolute;z-index:2;left:var(--m);top:50%;transform:translateY(-50%);width:min(42vw,620px)}
.hero h1{font-size:var(--head);line-height:1}
.hero .sub{margin-top:24px;font-size:1.1875rem;max-width:40ch;line-height:1.45}
.hero .cta{margin-top:36px}
.cards{position:absolute;z-index:2;right:var(--m);bottom:var(--m);display:flex;gap:16px}
.card{width:220px;text-decoration:none;background:var(--paper);color:var(--ground);display:block;transition:transform .35s var(--ease)}
.card:hover,.card:focus-visible{transform:translateY(-6px)}
.card:active{transform:translateY(-2px) scale(.98);transition-duration:.1s}
.card .ph{aspect-ratio:3/2;overflow:hidden;background:var(--tone2)}
.card .ph img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.card:hover .ph img{transform:scale(1.06)}
.card .bar{height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;font-size:1rem;font-weight:600}

/* divisions text page */
.sec{padding:var(--sec) 0}
.ax{grid-column:6/13}
.divs h2{font-size:var(--head)}
.divs .lead{grid-column:1/13;margin-top:56px;font-size:var(--lead);line-height:1.35;max-width:none}
.cols{grid-column:1/13;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap);margin-top:72px}
.cols p{font-size:1rem;line-height:1.5}
.cols b{color:var(--paper);font-weight:600}
.cols .tags{display:block;margin-top:12px;color:var(--paper)}

/* mosaic */
.mosaic{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(0,1fr);height:min(100vw,1180px);min-height:760px}
.mosaic figure{margin:0;position:relative;overflow:hidden;background:var(--tone2)}
.mosaic img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.mosaic figure:hover img{transform:scale(1.04)}
.tile{padding:28px;display:flex;flex-direction:column;justify-content:space-between}
.tile h3{font-size:var(--lead);letter-spacing:-.02em;line-height:1.05}
.tile p{font-size:1rem;line-height:1.45;max-width:34ch}
.t-red{background:var(--red)}
.t-gold{background:var(--gold);color:var(--ground)}
.t-paper{background:var(--paper);color:var(--ground)}
.m-atlas-img{grid-column:1/3;grid-row:1}
.m-atlas{grid-column:3;grid-row:1}
.m-myra-img{grid-column:4;grid-row:1/3}
.m-myra{grid-column:1;grid-row:2}
.m-12-img{grid-column:2/4;grid-row:2}
.m-12{grid-column:1/5;grid-row:3}
.mosaic{grid-template-rows:1.15fr 1fr .62fr}
@media (max-width:900px){.m-atlas{order:1}.m-atlas-img{order:2}.m-myra{order:3}.m-myra-img{order:4}.m-12{order:5}.m-12-img{order:6}}

/* principles */
.princ h2{grid-column:1/7;font-size:var(--head);align-self:start;position:sticky;top:130px}
.princ ul{grid-column:8/13;list-style:none;margin:0;padding:0}
.princ li{padding:26px 0}
.princ li+li{margin-top:0}
.princ h3{font-size:var(--lead);letter-spacing:-.02em;line-height:1.1}
.princ li p{margin-top:10px;max-width:44ch}

/* stats */
.stats-h{padding:0 var(--m);margin-bottom:40px}
.stats-h h2{font-size:var(--head);max-width:18ch}
.stats{display:grid;grid-template-columns:2fr 1fr;height:min(66vw,900px)}
.stats .ph{overflow:hidden;position:relative}
.stats .ph img{width:100%;height:100%;object-fit:cover}
.stats .tiles{display:grid;grid-template-rows:1fr 1fr}
.stats .tiles>div{padding:28px}
.fig{font-size:var(--display);font-weight:600;letter-spacing:-.05em;line-height:.85;font-variant-numeric:tabular-nums}
.stats .cap{margin-top:16px;font-size:var(--body);max-width:22ch;line-height:1.35}

/* offices board */
.offices .top{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);padding:0 var(--m);margin-bottom:56px;align-items:end}
.offices h2{grid-column:1/8;font-size:var(--head)}
.offices .top p{grid-column:8/13;color:var(--soft)}
.split{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);padding:0 var(--m);align-items:start}
.board{grid-column:1/8;display:flex;flex-direction:column;gap:4px}
.globe{grid-column:8/13;position:sticky;top:110px;aspect-ratio:1;cursor:grab}
.globe.grab{cursor:grabbing}
.globe canvas{display:block;width:100%;height:100%}
.globe .gnote{position:absolute;left:0;bottom:0;font-size:var(--small);color:var(--soft)}
.nogl .globe{display:none}.nogl .board{grid-column:1/13}
.row{display:grid;column-gap:var(--gap);align-items:center;min-height:84px;padding:0 20px;background:var(--tone1);border:0;color:inherit;font:inherit;text-align:left;width:100%;cursor:pointer;transition:background-color .25s}
.row:hover{background:var(--tone2)}
.row:active{background:var(--tone3)}
.row{grid-template-columns:repeat(7,minmax(0,1fr))}
.row .city{grid-column:1/5;font-size:var(--lead);font-weight:600;letter-spacing:-.02em;line-height:1.1}
.row .ctry{display:block;color:var(--soft);font-size:1rem;font-weight:400;letter-spacing:0}
.row .time{grid-column:5/6;font-size:var(--lead);font-variant-numeric:tabular-nums}
.row .st{grid-column:6/8;justify-self:end;padding:8px 14px;font-size:1rem;font-weight:600;background:var(--tone3);min-width:96px;text-align:center}
.row.open .st{background:var(--gold);color:var(--ground)}
.detail{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));column-gap:var(--gap);background:var(--red);height:0;overflow:hidden;padding:0 20px;transition:height .55s var(--ease)}
.detail{visibility:hidden}
.detail.on{height:240px;visibility:visible}
.detail .dimg{grid-column:1/4;height:240px;margin-left:-20px}
.detail .dimg img{width:100%;height:100%;object-fit:cover}
.detail .dtxt{grid-column:4/8;align-self:center;font-size:1rem;line-height:1.45}
.detail h3{font-size:var(--lead);letter-spacing:-.02em;line-height:1.1;margin-bottom:8px}
.detail p+p{margin-top:8px}

/* foundation */
.fdn{background:var(--red);min-height:92svh;display:flex;flex-direction:column;justify-content:space-between;padding:var(--sec) var(--m) 40px}
.fdn h2{font-size:var(--display);line-height:.9;max-width:9ch}
.fdn .base{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);align-items:end;margin-top:80px}
.fdn .base p{grid-column:1/6;font-size:var(--lead);line-height:1.35}
.fdn .base .btn{grid-column:10/13;justify-self:end;background:var(--paper);color:var(--ground)}
.fdn .base .btn:hover{background:#fff}

/* contact coupon */
.contact{padding:var(--sec) 0;overflow-x:clip}
.coupon{margin:0 auto;width:calc(100% - 2*var(--m));max-width:1240px;display:grid;grid-template-columns:46fr 54fr;background:var(--gold);color:var(--ground);position:relative;
}
.coupon .l{position:relative}
.coupon .l::before,.coupon .l::after{content:"";position:absolute;right:-16.5px;width:28px;height:28px;background:var(--ground);border-radius:50%}
.coupon .l::before{top:-14px}.coupon .l::after{bottom:-14px}
.coupon .l{padding:48px;display:flex;flex-direction:column;justify-content:space-between;gap:40px;border-right:5px dotted var(--ground)}
.coupon h2{font-size:var(--head);line-height:.95}
.coupon .l p{font-size:var(--body);max-width:36ch}
.coupon form{padding:48px;display:flex;flex-direction:column;gap:6px}
.coupon .fl{font-size:1rem;font-weight:600;margin-top:8px}
.coupon .fl span{font-weight:400}
.coupon .err{font-size:var(--small);font-weight:600;color:#6A0F15;min-height:0}
.coupon [aria-invalid=true]{outline:3px solid #6A0F15;outline-offset:0}
.coupon .sel{position:relative}
.coupon .sel::after{content:"";position:absolute;right:18px;top:50%;width:9px;height:9px;border-right:2px solid var(--ground);border-bottom:2px solid var(--ground);transform:translateY(-70%) rotate(45deg);pointer-events:none}
.coupon .send[disabled]{opacity:.7;cursor:progress}
.coupon input,.coupon select,.coupon textarea{width:100%;min-height:54px;border:0;border-radius:0;background:var(--gold-hi);color:var(--ground);font:inherit;font-size:1rem;padding:14px 16px;transition:background-color .2s}
.coupon textarea{min-height:120px;resize:vertical}
.coupon select{appearance:none;-webkit-appearance:none;cursor:pointer}
.coupon ::placeholder{color:#3d3220;opacity:1}
.coupon input:focus,.coupon select:focus,.coupon textarea:focus{background:#E8CB82;outline:3px solid var(--ground);outline-offset:0}
.coupon .send{min-height:58px;background:var(--ground);color:var(--paper);margin-top:4px;width:100%;justify-content:space-between;padding:0 20px}
.coupon .send:hover{background:#000}
.hp{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.formmsg{font-size:1rem;min-height:1.5em}

/* footer */
.ftr{background:var(--paper);color:var(--ground);padding:96px var(--m) 32px;overflow:hidden}
.ftr .name{font-size:var(--display);font-weight:600;letter-spacing:-.05em;line-height:.9}
.ftr .row2{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);margin-top:72px}
.ftr .places{grid-column:1/6;list-style:none;margin:0;padding:0}
.ftr .places li{font-size:var(--lead);font-weight:500;line-height:1.35}
.ftr .places a{text-decoration:none;color:var(--red);display:inline-block;padding:3px 0}
.ftr .places a:hover{text-decoration:underline}
.ftr .links{grid-column:7/13;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap);font-size:1rem}
.ftr .links ul{list-style:none;margin:0;padding:0}
.ftr .links li{padding:0}
.ftr .links a,.ftr .links span{display:inline-block;padding:10px 0}
.ftr .links .h{padding:10px 0}
.ftr .links a{text-decoration:none}
.ftr .links a:hover{text-decoration:underline}
.ftr .links .h{font-weight:600}
.ftr .legal a{display:inline-flex;align-items:center;min-height:44px}
.ftr .legal{display:flex;justify-content:space-between;gap:24px;margin-top:96px;font-size:var(--small);flex-wrap:wrap}
.ftr details{margin-top:32px;font-size:11px;line-height:1.5;letter-spacing:.01em;color:#65625D}
.ftr details summary{font-weight:400;color:#65625D}
.ftr details ul{list-style:none;margin:4px 0 0;padding:0;columns:2 320px;column-gap:24px}
.ftr summary{cursor:pointer;min-height:24px;display:flex;align-items:center;gap:8px;list-style:none}
.ftr summary::-webkit-details-marker{display:none}
.ftr summary::after{content:"Show";font-weight:400;text-decoration:underline;text-underline-offset:.18em}
.ftr details[open] summary::after{content:"Hide"}
.ftr details li{padding:2px 0}

/* phoenix intro */
.intro{display:none}
.js .intro{display:flex;position:fixed;inset:0;z-index:60;pointer-events:none;align-items:center;justify-content:flex-end;padding-right:7vw}
.intro .ix{width:min(38vw,560px);height:auto;overflow:visible}
@media (max-width:900px){.js .intro{align-items:flex-start;justify-content:center;padding:96px 0 0}.intro .ix{width:min(46vw,300px)}}
.intro .pf{fill:var(--gold);opacity:0}
.intro .pl{fill:none;stroke:var(--gold-hi);stroke-width:3.5;opacity:0}
.intro .full{fill:var(--gold);opacity:0}
.intro-done .intro{display:none}

/* reveal */
.js .rv{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:var(--d,0s)}
.js .rv.in{opacity:1;transform:none}

@media (max-width:900px){
  :root{--m:20px;--gap:16px}
  .hdr{height:72px}.brand img{height:42px}
  .nav a:not(.btn){display:none}
  .nav{gap:16px}.menu-btn{display:block}
  .hdr.menu-open{background:var(--ground)}
  .nav .btn{min-height:44px;padding:0 16px;font-size:1rem}
  .hero .slide img{object-position:50% 30%}
  .hero-copy{width:auto;right:var(--m);top:auto;bottom:calc(var(--m) + (100vw - 2 * var(--m) - 16px) / 3 + 44px + 32px);transform:none}
  .hero h1{font-size:var(--head)}
  .hero .sub{font-size:1.0625rem}
    .cards{left:var(--m);right:var(--m);bottom:var(--m)}
  .card{width:auto;flex:1}
  .ax,.divs .lead,.cols{grid-column:1/-1}
  .cols{grid-template-columns:1fr 1fr;row-gap:40px}
  .tile{flex-direction:column}
  .mosaic{grid-template-columns:minmax(0,1fr);grid-template-rows:none;grid-auto-rows:auto;height:auto;min-height:0}
  .mosaic>*{grid-column:auto!important;grid-row:auto!important}
  .mosaic figure{aspect-ratio:4/3}
  .tile{grid-column:1/-1!important}
  .tile{min-height:0;padding:28px var(--m) 32px;gap:10px;justify-content:flex-start}
  .tile p{max-width:none}
  .princ h2,.princ ul{grid-column:1/-1;position:static}
  .princ ul{margin-top:40px}
  .stats{grid-template-columns:minmax(0,1fr);height:auto}
  .stats .ph{aspect-ratio:4/3}
  .stats .tiles{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto}
  .stats .tiles>div{aspect-ratio:1;padding:20px}
  .fig,.fdn h2,.ftr .name{font-size:14vw}
  .offices h2,.offices .top p{grid-column:1/-1}
  .offices .top p{margin-top:20px}
  .board,.globe{grid-column:1/-1}
  .globe{position:relative;top:0;width:min(100%,420px);justify-self:center;margin-bottom:24px;order:-1}
  .row{min-height:72px;padding:0 16px;grid-template-columns:repeat(12,minmax(0,1fr))}
  .row .city{grid-column:1/8;font-size:1.25rem}
  .row .time{grid-column:8/10;font-size:1rem}
  .row .st{grid-column:10/13;min-width:0;padding:6px 10px;font-size:1rem}
  .detail{display:block;padding:0}
  .detail.on{height:auto}
  .detail .dimg{display:none}
  .detail .gslot .globe{width:100%;max-width:none;margin:0;order:0}
  .detail .dtxt{padding:20px 16px 24px}
  .fdn{min-height:80svh}
  .fdn .base{display:block}
  .fdn .base .btn{width:100%;margin-top:32px}
  .coupon{grid-template-columns:1fr;width:calc(100% - 24px);
}
  .coupon .l::before,.coupon .l::after{top:auto;bottom:-16.5px;right:auto}
  .coupon .l::before{left:-14px}.coupon .l::after{right:-14px}
  .coupon .l{border-right:0;border-bottom:5px dotted var(--ground);padding:32px 24px}
  .coupon form{padding:32px 24px}
  .ftr .places,.ftr .links{grid-column:1/-1}
  .ftr .links{margin-top:48px;grid-template-columns:1fr 1fr}
}
@media (max-width:600px){.cols{grid-template-columns:1fr}.stats .tiles>div{aspect-ratio:auto;min-height:44vw}}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;scroll-behavior:auto!important}
  .card:hover,.card:focus-visible,.btn:active,.btn:hover .arr,.card:hover .ph img,.mosaic figure:hover img{transform:none}
  .detail,.hero .slide{transition:none}
  .js .rv{opacity:1;transform:none}
  .hero .slide img,.hero .slide.on img{transform:none}
}

/* current page in the nav */
.nav a[aria-current=page]::after{transform:scaleX(1)}
.mnav a[aria-current=page]{color:var(--gold)}

/* home: division panels */
.dpanels{display:flex;flex-direction:column;gap:4px}
.dpanel{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));min-height:min(88svh,880px);text-decoration:none;color:inherit;position:relative;overflow:hidden}
.dp-ph{grid-column:1/9;grid-row:1;overflow:hidden;background:var(--tone1)}
.dp-ph img{width:100%;height:100%;object-fit:cover;transform-origin:50% 50%;transition:filter .5s}
.dp-tx{grid-column:9/13;grid-row:1;display:flex;flex-direction:column;justify-content:flex-end;gap:20px;padding:48px var(--m) 56px 40px}
.dp-flip .dp-ph{grid-column:5/13}.dp-flip .dp-tx{grid-column:1/5;padding:48px 40px 56px var(--m)}
.dp-tx h3{font-size:var(--head);line-height:.95;letter-spacing:-.04em}
.dp-tx p{font-size:var(--body);max-width:30ch}
.dp-go{display:inline-flex;align-items:center;gap:10px;font-weight:600;min-height:44px;font-size:var(--body);border-bottom:2px solid currentColor;align-self:flex-start}
.dp-go span{transition:transform .35s var(--ease)}
.dpanel:hover .dp-go span,.dpanel:focus-visible .dp-go span{transform:translateX(8px)}
.dpanel:hover .dp-ph img{filter:contrast(1.08) brightness(1.06)}
.dpanel:active .dp-ph img{filter:brightness(.88);transition-duration:.1s}
.dpanel:active .dp-go span{transform:translateX(12px)}

/* division page hero */
.dhero{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));min-height:100svh;padding-top:84px}
.dh-ph{grid-column:1/8;overflow:hidden;background:var(--tone1)}
.dh-ph img{width:100%;height:100%;object-fit:cover}
.dh-tx{grid-column:8/13;display:flex;flex-direction:column;justify-content:flex-end;gap:28px;padding:48px var(--m) 64px 48px}
.dh-tx h1{font-size:var(--display);line-height:.9;letter-spacing:-.05em}
.dh-tx h1 .lw{display:block;overflow:hidden;padding-bottom:.06em}
.dh-tx h1 .ln{display:inline-block}
.dh-tx .sub{font-size:var(--body);max-width:36ch;line-height:1.5}
.dh-tx .btn{align-self:flex-start}
.t-red .btn,.t-gold .btn{background:var(--ground);color:var(--paper)}
.t-red .btn:hover,.t-gold .btn:hover{background:#000}
.t-paper .btn{background:var(--ground);color:var(--paper)}
.t-paper .btn:hover{background:#000}

/* statement */
.dstate{padding-bottom:0}
.dstate .stmt{grid-column:2/13;font-size:clamp(1.375rem,1rem + 1.1vw,2rem);line-height:1.3;letter-spacing:-.02em;max-width:46ch}

/* offers */
.doffer h2{grid-column:1/6;font-size:var(--head);align-self:start;position:sticky;top:130px}
.offers{grid-column:6/13;list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:56px}
.offers li{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:32px;align-items:start}
.offers h3{font-size:var(--lead);letter-spacing:-.02em;line-height:1.1}
.offers p{color:var(--paper)}
.doffer .note,.doffer .markets{grid-column:6/13;margin-top:28px;max-width:60ch}
.doffer .markets{color:var(--paper);font-size:var(--lead);line-height:1.3;letter-spacing:-.01em;margin-top:56px}

/* picture band */
.pband{display:grid;gap:4px;height:min(70vw,760px)}
.pb-2{grid-template-columns:3fr 2fr}
.pb-3{grid-template-columns:2fr 1fr 1fr}
.pb-4{grid-template-columns:2fr 1fr 1fr;grid-template-rows:1fr 1fr}
.pb-4 .pb-cell:first-child{grid-row:1/3}
.pb-4 .pb-cell:last-child{grid-column:2/4}
.pb-cell{overflow:hidden;background:var(--tone1)}
.pb-cell img{width:100%;height:100%;object-fit:cover}

/* how */
.dhow{padding:160px 0 120px}
.dhow h2{grid-column:1/13;font-size:var(--head);max-width:14ch}
.how{grid-column:1/13;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap);margin-top:72px}
.how h3{font-size:var(--lead);letter-spacing:-.02em;line-height:1.1;margin-bottom:14px}
.how p{font-size:var(--body)}

/* closing call to action */
.dcta{min-height:70svh;display:flex;flex-direction:column;justify-content:space-between;padding:120px var(--m) 48px;background:var(--paper);color:var(--ground)}
.dcta h2{font-size:var(--display);line-height:.92;max-width:12ch}
.dcta .base{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);align-items:end;margin-top:72px}
.dcta .base p{grid-column:1/7;font-size:var(--lead);line-height:1.35}
.dcta .base .btn{grid-column:9/13;justify-self:end}

/* next division */
.dnext a{display:block;padding:72px var(--m) 80px;text-decoration:none;background:var(--ground);transition:background-color .3s}
.dnext a:hover{background:var(--tone1)}
.dnext a:active{background:var(--tone2);transition-duration:.1s}
.dnext .nl{display:block;font-size:var(--body);color:var(--soft);margin-bottom:16px}
.dnext .nn{display:block;font-size:var(--head);font-weight:600;letter-spacing:-.04em;line-height:.95}
.dnext .nn span{display:inline-block;transition:transform .35s var(--ease)}
.dnext a:hover .nn span{transform:translateX(12px)}

@media (max-width:900px){
  .dpanel{grid-template-columns:minmax(0,1fr);min-height:0}
  .dp-ph,.dp-flip .dp-ph{grid-column:1;grid-row:1;aspect-ratio:4/3}
  .dp-tx,.dp-flip .dp-tx{grid-column:1;grid-row:2;padding:32px var(--m) 40px}
  .dp-tx p{max-width:none}
  .dhero{grid-template-columns:minmax(0,1fr);padding-top:72px;min-height:0}
  .dh-tx{order:-1}
  .dh-ph{grid-column:1;aspect-ratio:4/3}
  .dh-tx{grid-column:1;padding:36px var(--m) 48px}
  .dh-tx h1,.div-paper .dh-tx h1{font-size:14vw}
  .dstate .stmt{grid-column:1/-1;font-size:1.25rem}
  .doffer h2,.offers,.doffer .note,.doffer .markets{grid-column:1/-1;position:static}
  .offers{margin-top:40px}
  .offers li{grid-template-columns:minmax(0,1fr);gap:12px}
  .offers{gap:40px}
  .pband,.pb-2,.pb-3,.pb-4{grid-template-columns:minmax(0,1fr);grid-template-rows:none;height:auto}
  .pb-4 .pb-cell:first-child,.pb-4 .pb-cell:last-child{grid-row:auto;grid-column:auto}
  .pb-cell{aspect-ratio:4/3}
  .how{grid-template-columns:minmax(0,1fr) minmax(0,1fr);row-gap:40px}
  .dcta h2{font-size:14vw}
  .dcta .base{display:block}
  .dcta .base p{font-size:var(--body)}
  .dcta .base .btn{width:100%;margin-top:32px}
  .dnext .nn{font-size:clamp(2rem,9vw,3rem)}
}
@media (max-width:600px){.how{grid-template-columns:minmax(0,1fr)}.dhow{padding:96px 0 88px}}

/* division facts: the one band each division fills with its own figures */
.dfacts{padding:0}
.facts{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.f-3{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr)}
.f-4{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr)}
.facts li:first-child .fig{font-size:clamp(5rem,2rem + 9vw,11rem)}
.ft-red .facts li:not(:first-child){background:var(--red-lo)}
.ft-paper .facts li:not(:first-child){background:#DCD9D3}
.ft-gold .facts li:not(:first-child){background:#B8923F}
.facts li{padding:48px var(--m) 52px;min-height:340px;display:flex;flex-direction:column;justify-content:space-between;gap:24px}
.ft-red .facts li{background:var(--red)}
.ft-paper .facts li{background:var(--paper);color:var(--ground)}
.ft-gold .facts li{background:var(--gold);color:var(--ground)}
.facts .fig.fw{font-size:var(--head);line-height:.95;letter-spacing:-.04em}
.facts .fc{font-size:var(--body);max-width:24ch;line-height:1.35}
@media (max-width:900px){.f-3,.f-4{grid-template-columns:minmax(0,1fr)}.facts{gap:12px}.facts li{min-height:0;padding:72px var(--m) 30px;flex-direction:row;align-items:flex-end;justify-content:flex-start;gap:20px}.facts .fig,.facts li:first-child .fig{font-size:clamp(3rem,14vw,6rem);flex:none}.facts .fig.fw{font-size:clamp(1.75rem,7vw,3rem);flex:0 1 auto}.facts .fc{padding-bottom:.35em}}
.dcta .btn{background:var(--ground);color:var(--paper)}
.dcta .btn:hover{background:#000}
.dstate{padding-top:120px}

/* more contrast when the visitor asks for it */
@media (prefers-contrast:more){
  :root{--soft:var(--paper)}
  .hero::before{background:rgba(11,11,12,.7)}
  .ftr details,.ftr details summary{color:var(--ground)}
  .row{outline:1px solid var(--paper)}
}

/* ===== open compositions: no boxes ===== */
/* hero: plain links */
.heronav{position:absolute;z-index:2;right:var(--m);bottom:calc(var(--m) + 8px);display:flex;gap:40px}
.heronav a{color:var(--paper);font-size:var(--lead);font-weight:600;letter-spacing:-.01em;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.3em;min-height:44px;display:inline-flex;align-items:center;gap:10px}
.heronav a span{transition:transform .3s var(--ease)}
.heronav a:hover span{transform:translateX(6px)}
.heronav a:active{opacity:.75}

/* figures set on the photograph */
.figsec{position:relative;min-height:92svh;overflow:hidden;display:flex}
.figsec>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.figsec::before{content:"";position:absolute;inset:0;background:rgba(11,11,12,.55);z-index:1}
.figwrap{position:relative;z-index:2;flex:1;display:flex;flex-direction:column;justify-content:space-between;gap:64px;padding:120px var(--m) 56px}
.figwrap h2{font-size:var(--head);max-width:16ch}
.figrow{display:flex;gap:10vw;flex-wrap:wrap}
.figrow p{display:flex;flex-direction:column;gap:14px}
.figrow .fig{font-size:var(--display)}
.figrow .cap{font-size:var(--body);max-width:22ch}

/* home division panels: full photograph, name on the image, colour on the button */
.dpanels{gap:0}
.dpanel{display:flex;align-items:flex-end;position:relative;min-height:min(92svh,920px)}
.dp-ph,.dp-flip .dp-ph{position:absolute;inset:0;grid-column:auto}
.dp-ph::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(11,11,12,.8) 0%,rgba(11,11,12,.3) 30%,rgba(11,11,12,0) 55%)} /* taste-skill-ignore: neutral legibility scrim over a photograph */
.dp-tx,.dp-flip .dp-tx{position:relative;z-index:1;background:none;color:var(--paper);padding:0 var(--m) 64px;max-width:760px;justify-content:flex-end;grid-column:auto}
.dp-flip .dp-tx{margin-left:auto;text-align:left}
.dp-tx h3{font-size:var(--display);line-height:.9}
.dp-tx p{max-width:34ch}
.dp-go{border:0;padding:0 24px;min-height:52px;color:var(--ground)}
.t-red .dp-go{background:var(--red);color:var(--paper)}
.t-paper .dp-go{background:var(--paper)}
.t-gold .dp-go{background:var(--gold)}

/* division hero: full photograph */
.dhero{display:flex;align-items:flex-end;position:relative;min-height:100svh;padding-top:84px}
.dh-ph{position:absolute;inset:0;grid-column:auto}
.dh-ph::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(11,11,12,.85) 0%,rgba(11,11,12,.45) 40%,rgba(11,11,12,0) 72%)} /* taste-skill-ignore: neutral legibility scrim over a photograph */
.dh-tx,.dh-tx.t-red,.dh-tx.t-paper,.dh-tx.t-gold{position:relative;z-index:1;background:none;color:var(--paper);grid-column:auto;padding:0 var(--m) 72px;max-width:860px}
.div-red .dh-tx .btn{background:var(--red);color:var(--paper)}
.div-paper .dh-tx .btn{background:var(--paper);color:var(--ground)}
.div-gold .dh-tx .btn{background:var(--gold);color:var(--ground)}
.dh-tx .btn:hover{filter:brightness(1.1)}

/* division facts: figures on the page, no tiles */
.dfacts{padding:120px 0 0}
.facts{gap:48px;padding:0 var(--m)}
.facts li,.ft-red .facts li,.ft-paper .facts li,.ft-gold .facts li,.ft-red .facts li:not(:first-child),.ft-paper .facts li:not(:first-child),.ft-gold .facts li:not(:first-child){background:none;color:var(--paper);padding:0;min-height:0;justify-content:flex-start;gap:16px}
.ft-red .facts li:first-child .fig{color:var(--paper)}
.ft-gold .facts li:first-child .fig{color:var(--gold)}

/* office board: open rows, a dot for status */
.board{gap:0}
.row{background:none}
.row:hover{background:var(--tone1)}
.row .st,.row.open .st{background:none;color:var(--soft);padding:0;min-width:0;display:inline-flex;align-items:center;gap:10px}
.row .st::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--tone3)}
.row.open .st{color:var(--gold)}
.row.open .st::before{background:var(--gold)}

/* photo bands butt together */
.pband{gap:0}

/* contact: open form */
.contactgrid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);padding:0 var(--m)}
.contactgrid .l{grid-column:1/6;display:flex;flex-direction:column;gap:28px}
.contactgrid h2{font-size:var(--head);line-height:.95}
.contactgrid .l p{font-size:var(--body);max-width:36ch}
.contactgrid form{grid-column:7/13;display:flex;flex-direction:column;gap:6px}
.contactgrid .fl{font-size:1rem;font-weight:600;margin-top:18px}
.contactgrid .fl span{font-weight:400;color:var(--soft)}
.contactgrid input,.contactgrid select,.contactgrid textarea{width:100%;min-height:52px;border:0;border-bottom:2px solid var(--tone3);border-radius:0;background:none;color:var(--paper);font:inherit;font-size:var(--body);padding:10px 0;transition:border-color .2s;caret-color:var(--gold)}
.contactgrid textarea{min-height:120px;resize:vertical}
.contactgrid select{appearance:none;-webkit-appearance:none;cursor:pointer}
.contactgrid select option{background:var(--ground);color:var(--paper)}
.contactgrid input:focus,.contactgrid select:focus,.contactgrid textarea:focus{outline:none;border-bottom-color:var(--gold)}
.contactgrid :focus-visible{outline:none}
.contactgrid .sel{position:relative}
.contactgrid .sel::after{content:"";position:absolute;right:6px;top:50%;width:9px;height:9px;border-right:2px solid var(--paper);border-bottom:2px solid var(--paper);transform:translateY(-70%) rotate(45deg);pointer-events:none}
.contactgrid .err{font-size:var(--small);font-weight:600;color:#F2A7AB}
.contactgrid [aria-invalid=true]{border-bottom-color:#F2A7AB}
.contactgrid .send{margin-top:28px;width:100%;justify-content:space-between;padding:0 20px;min-height:58px}
.contactgrid .send[disabled]{opacity:.7;cursor:progress}

@media (max-width:900px){
  .heronav{left:var(--m);right:var(--m);flex-direction:column;gap:4px}
  .heronav a{font-size:var(--body)}
  .hero-copy{bottom:calc(var(--m) + 120px)!important}
  .dpanel{min-height:80svh}
  .dp-tx h3{font-size:14vw}
  .dhero{min-height:92svh;padding-top:72px}
  .dh-tx{order:0;padding:0 var(--m) 48px}
  .facts{gap:36px}
  .facts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .facts li{flex-direction:column;align-items:flex-start}
  .facts li:first-child{grid-column:1/-1}
  .figrow{gap:40px}
  .figrow .fig{font-size:22vw}
  .contactgrid .l,.contactgrid form{grid-column:1/-1}
  .contactgrid form{margin-top:32px}
  .dp-ph,.dp-flip .dp-ph,.dh-ph{aspect-ratio:auto}
}
@media (prefers-reduced-motion:reduce){.heronav a:hover span{transform:none}}
.detail{background:none}
.detail .dtxt h3{color:var(--gold)}

.divs{padding-bottom:96px}

/* frame each panel photo on its subject */
.dpanel:nth-child(1) .dp-ph img{object-position:50% 22%}
.dpanel:nth-child(2) .dp-ph img{object-position:50% 78%}
.dpanel:nth-child(3) .dp-ph img{object-position:50% 30%}
.dpanel{min-height:min(84svh,860px)}

/* photo and words share one grid cell, so the photograph is part of the layout, not a layer behind it */
.dpanel,.dhero,.figsec{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}
.dp-ph,.dp-flip .dp-ph,.dh-ph{position:relative;inset:auto;grid-area:1/1;min-height:100%}
.dp-ph img,.dh-ph img{position:absolute;inset:0}
.dp-tx,.dp-flip .dp-tx,.dh-tx,.dh-tx.t-red,.dh-tx.t-paper,.dh-tx.t-gold{grid-area:1/1;align-self:end}
.dp-flip .dp-tx{justify-self:end;margin-left:0}
.dhero{padding-top:0}
.dh-tx{padding-top:120px}
.figsec>img{position:relative;inset:auto;grid-area:1/1;height:100%;min-height:92svh}
.figsec::before{display:none}
.figwrap{grid-area:1/1;background:rgba(11,11,12,.55)}
.dp-ph img,.dh-ph img{position:static;display:block;width:100%;height:100%}
.dp-ph,.dh-ph{overflow:hidden}
