
:root{
  --navy:#071527; --navy2:#0a1e35; --ink:#0b1320; --muted:#5b6676; --paper:#f8f6f0; --paper2:#fffdfa;
  --line:rgba(255,255,255,.14); --line-dark:rgba(8,20,36,.12); --gold:#c9a35d; --gold2:#e3c987;
  --red:#862719; --teal:#15a7a5; --blue:#174c84; --shadow:0 28px 80px rgba(5,17,33,.18);
  --radius:22px; --serif: Georgia, 'Times New Roman', serif; --sans: Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.58;-webkit-font-smoothing:antialiased} a{color:inherit} img{max-width:100%;display:block} .no-scroll{overflow:hidden}
.site-header{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:16px clamp(18px,3vw,48px);transition:.35s;background:linear-gradient(180deg,rgba(7,21,39,.72),rgba(7,21,39,.12));backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08)}
.site-header.scrolled{background:rgba(7,21,39,.92);box-shadow:0 8px 30px rgba(0,0,0,.18)}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#fff}.brand span{width:40px;height:40px;border:1px solid rgba(227,201,135,.55);display:grid;place-items:center;border-radius:50%;font-family:var(--serif);color:var(--gold2);letter-spacing:.04em}.brand strong{font-size:16px;letter-spacing:.04em}.main-nav{display:flex;align-items:center;gap:2px}.main-nav a{color:rgba(255,255,255,.78);font-size:13px;text-decoration:none;padding:10px 12px;border-radius:999px;transition:.2s;white-space:nowrap}.main-nav a:hover,.main-nav a.active{background:rgba(255,255,255,.08);color:#fff}.main-nav .language{color:var(--gold2)}.nav-toggle{display:none;background:transparent;border:0;width:40px;height:40px}.nav-toggle span{display:block;height:2px;background:#fff;margin:6px;border-radius:8px}
.hero{min-height:100svh;background:radial-gradient(circle at 70% 15%,rgba(27,86,146,.38),transparent 30%),linear-gradient(135deg,#061225 0%,#0c223b 58%,#0b1320 100%);color:#fff;display:grid;align-items:center;padding:112px clamp(20px,5vw,72px) 72px;position:relative;overflow:hidden}.hero::before{content:'';position:absolute;inset:auto -20% -30% -20%;height:55%;background:radial-gradient(circle,rgba(201,163,93,.16),transparent 60%);pointer-events:none}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,590px);gap:clamp(32px,6vw,84px);align-items:center}.eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--gold2);text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:700}.eyebrow::before{content:'';width:44px;height:1px;background:var(--gold2)}h1{font-family:var(--serif);font-size:clamp(52px,8vw,106px);line-height:.92;margin:22px 0 20px;letter-spacing:-.055em}.lead{font-size:clamp(18px,2.25vw,28px);line-height:1.35;max-width:760px;color:rgba(255,255,255,.84);margin:0 0 28px}.hero-actions,.actions{display:flex;flex-wrap:wrap;gap:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 18px;border-radius:999px;text-decoration:none;font-weight:700;font-size:14px;border:1px solid rgba(255,255,255,.18);transition:.25s}.btn.primary{background:linear-gradient(135deg,var(--gold),var(--gold2));color:#061225;border-color:transparent}.btn.secondary{color:#fff;background:rgba(255,255,255,.08)}.btn.light{color:#061225;background:#fff;border-color:rgba(0,0,0,.08)}.btn:hover{transform:translateY(-2px);box-shadow:0 18px 35px rgba(0,0,0,.18)}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-width:760px;margin-top:42px}.metric{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.055);border-radius:18px;padding:16px}.metric strong{display:block;font-size:26px;color:var(--gold2);line-height:1}.metric span{display:block;font-size:12px;color:rgba(255,255,255,.67);margin-top:7px}.photo-stack{position:relative;min-height:680px}.stack-card{position:absolute;overflow:hidden;border-radius:24px;box-shadow:0 36px 90px rgba(0,0,0,.42);border:1px solid rgba(255,255,255,.16);background:#0b1320}.stack-card img{width:100%;height:100%;object-fit:cover}.stack-main{inset:20px 70px 150px 0}.stack-main img{object-position:center}.stack-side{right:0;top:210px;width:46%;height:360px}.stack-bottom{left:70px;right:45px;bottom:0;height:260px}.stack-label{position:absolute;left:24px;bottom:22px;right:24px;background:rgba(4,12,24,.72);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:15px}.stack-label strong{display:block;font-family:var(--serif);font-size:22px}.stack-label span{display:block;color:rgba(255,255,255,.72);font-size:13px;margin-top:3px}.section{padding:clamp(70px,9vw,128px) clamp(20px,5vw,72px)}.section.dark{background:var(--navy);color:#fff}.section.blueprint{background:linear-gradient(160deg,#071527,#0e2b4c);color:#fff;position:relative;overflow:hidden}.section.blueprint::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(180deg,#000,transparent 85%)}.wrap{max-width:1240px;margin:0 auto;position:relative}.section-title{max-width:820px;margin:0 0 42px}.section-title.center{text-align:center;margin-left:auto;margin-right:auto}.section-title span{color:var(--gold);text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:800}.section-title h2{font-family:var(--serif);font-size:clamp(38px,5.8vw,72px);line-height:1.02;letter-spacing:-.045em;margin:12px 0}.section-title p{font-size:18px;color:var(--muted);max-width:780px}.dark .section-title p,.blueprint .section-title p{color:rgba(255,255,255,.72)}.proof-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;margin-top:-30px;position:relative;z-index:10}.proof-strip span{background:#fff;border:1px solid var(--line-dark);border-radius:18px;padding:18px 12px;text-align:center;font-weight:800;color:#0b2038;box-shadow:0 10px 28px rgba(8,20,36,.07)}.statement{font-family:var(--serif);font-size:clamp(31px,4vw,56px);line-height:1.08;letter-spacing:-.035em;max-width:1000px;margin:0}.statement em{font-style:normal;color:var(--gold)}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.card{background:#fff;border:1px solid var(--line-dark);border-radius:var(--radius);padding:26px;box-shadow:0 12px 38px rgba(8,20,36,.06)}.card.darkcard{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.13)}.card h3{font-family:var(--serif);font-size:26px;line-height:1.08;margin:0 0 12px;letter-spacing:-.025em}.card p{margin:0;color:var(--muted)}.dark .card p,.blueprint .card p{color:rgba(255,255,255,.7)}.card .tag{display:inline-block;margin-bottom:14px;color:var(--gold);font-weight:800;font-size:12px;letter-spacing:.12em;text-transform:uppercase}.feature-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:42px;align-items:start}.feature-copy p{font-size:18px;color:var(--muted)}.feature-list{list-style:none;padding:0;margin:28px 0;display:grid;gap:14px}.feature-list li{padding-left:28px;position:relative}.feature-list li::before{content:'◆';position:absolute;left:0;color:var(--gold);font-size:12px;top:3px}.image-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.image-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.image-card{position:relative;overflow:hidden;border-radius:24px;min-height:260px;margin:0;background:#081326;box-shadow:var(--shadow);cursor:pointer}.image-card.tall{min-height:520px}.image-card img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .7s ease}.image-card:hover img{transform:scale(1.045)}.image-card::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(4,12,24,.88))}.image-card figcaption{position:absolute;left:18px;right:18px;bottom:16px;z-index:1;color:#fff}.image-card figcaption strong{display:block;font-family:var(--serif);font-size:22px;line-height:1.08}.image-card figcaption span{display:block;color:rgba(255,255,255,.72);font-size:13px;margin-top:6px}.timeline{position:relative;padding-left:20px;border-left:1px solid rgba(201,163,93,.32);display:grid;gap:22px}.timeline-item{display:grid;grid-template-columns:115px minmax(0,1fr);gap:22px;position:relative}.timeline-item::before{content:'';position:absolute;left:-27px;top:6px;width:13px;height:13px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 6px rgba(201,163,93,.15)}.timeline-year{font-family:var(--serif);font-size:30px;color:var(--gold);line-height:1}.timeline-card{background:#fff;border:1px solid var(--line-dark);border-radius:20px;padding:20px}.timeline-card h3{margin:0 0 8px;font-family:var(--serif);font-size:24px}.timeline-card p{margin:0;color:var(--muted)}.dark .timeline-card,.blueprint .timeline-card{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12)}.dark .timeline-card p,.blueprint .timeline-card p{color:rgba(255,255,255,.72)}.media-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:24px}.video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.video{background:#000;border-radius:22px;overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line-dark)}.video iframe{width:100%;aspect-ratio:16/9;border:0;display:block}.video div{padding:14px 16px;background:#fff}.video strong{display:block}.video span{font-size:13px;color:var(--muted)}.source-list{display:grid;gap:12px}.source-item{display:flex;justify-content:space-between;gap:16px;align-items:center;background:#fff;border:1px solid var(--line-dark);border-radius:18px;padding:16px;text-decoration:none}.source-item strong{font-family:var(--serif);font-size:19px}.source-item span{color:var(--muted);font-size:13px}.source-item:hover{border-color:var(--gold);box-shadow:0 12px 28px rgba(8,20,36,.08)}.quote-band{padding:60px clamp(20px,5vw,72px);background:#fff}.quote-band blockquote{max-width:1080px;margin:0 auto;font-family:var(--serif);font-size:clamp(28px,4vw,52px);line-height:1.08;letter-spacing:-.03em}.quote-band cite{display:block;margin-top:20px;font-family:var(--sans);font-style:normal;color:var(--muted);font-size:15px}.gallery-filter{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 26px}.filter-btn{border:1px solid var(--line-dark);background:#fff;border-radius:999px;padding:10px 14px;font-weight:700;cursor:pointer}.filter-btn.active{background:var(--navy);color:#fff;border-color:var(--navy)}.gallery{columns:3 300px;column-gap:18px}.gallery .image-card{break-inside:avoid;margin:0 0 18px;min-height:360px}.gallery .image-card img{position:relative;height:auto}.gallery .image-card::after{background:linear-gradient(180deg,transparent 45%,rgba(4,12,24,.86))}.cta{background:linear-gradient(135deg,#071527,#0e2b4c);color:#fff;border-radius:32px;padding:clamp(34px,5vw,70px);display:grid;grid-template-columns:1.2fr .8fr;gap:30px;align-items:center;overflow:hidden;position:relative}.cta::after{content:'';position:absolute;right:-140px;top:-140px;width:360px;height:360px;border-radius:50%;background:rgba(201,163,93,.2)}.cta h2{font-family:var(--serif);font-size:clamp(34px,5vw,68px);line-height:1;margin:0 0 16px}.cta p{color:rgba(255,255,255,.72);font-size:18px}.footer{background:#061225;color:rgba(255,255,255,.72);padding:56px clamp(20px,5vw,72px) 26px}.footer-grid{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:32px}.footer h4{color:#fff;margin:0 0 12px}.footer a{color:rgba(255,255,255,.78);text-decoration:none}.footer a:hover{color:#fff}.footer-brand{margin-bottom:18px}.fineprint{max-width:1240px;margin:36px auto 0;color:rgba(255,255,255,.45);font-size:13px}.page-hero{min-height:54vh;background:linear-gradient(135deg,#071527,#0f2e52);color:#fff;padding:128px clamp(20px,5vw,72px) 74px;display:grid;align-items:end;position:relative;overflow:hidden}.page-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 70% 20%,rgba(201,163,93,.22),transparent 35%)}.page-hero .wrap{width:100%}.page-hero h1{font-size:clamp(46px,7vw,88px);max-width:900px}.page-hero p{font-size:20px;color:rgba(255,255,255,.76);max-width:820px}.bio-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:42px}.bio-box{background:#fff;border:1px solid var(--line-dark);border-radius:24px;padding:28px}.bio-box h3{font-family:var(--serif);font-size:28px;margin:0 0 14px}.bio-box p{color:var(--muted)}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:34px}.contact-card{background:#fff;border:1px solid var(--line-dark);border-radius:24px;padding:28px}.contact-card h3{font-family:var(--serif);font-size:28px;margin-top:0}.mini-kicker{color:var(--gold);text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:800}.press-downloads{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.press-card{border:1px solid var(--line-dark);background:#fff;border-radius:22px;padding:22px;text-decoration:none}.press-card strong{font-family:var(--serif);font-size:22px}.lightbox{position:fixed;inset:0;z-index:90;background:rgba(4,10,18,.92);display:none;align-items:center;justify-content:center;padding:32px}.lightbox.open{display:flex}.lightbox figure{max-width:min(1120px,95vw);max-height:88vh;margin:0}.lightbox img{max-height:76vh;margin:0 auto;border-radius:18px;box-shadow:0 30px 90px rgba(0,0,0,.55)}.lightbox figcaption{color:#fff;margin-top:12px;text-align:center}.lightbox figcaption strong{display:block;font-family:var(--serif);font-size:24px}.lightbox figcaption span{color:rgba(255,255,255,.72)}.lightbox button{position:absolute;top:20px;right:20px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:#fff;border-radius:999px;width:44px;height:44px;font-size:24px;cursor:pointer}.reveal{opacity:0;transform:translateY(24px);transition:opacity .72s ease, transform .72s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:1040px){.hero-grid,.feature-grid,.media-grid,.contact-grid,.bio-grid,.cta{grid-template-columns:1fr}.photo-stack{min-height:560px}.proof-strip{grid-template-columns:repeat(3,1fr)}.cards{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.main-nav{position:fixed;top:72px;right:16px;left:16px;background:rgba(7,21,39,.98);border:1px solid rgba(255,255,255,.12);border-radius:22px;padding:16px;display:none;flex-direction:column;align-items:stretch}.main-nav.open{display:flex}.main-nav a{padding:13px 16px}.nav-toggle{display:block}}
@media(max-width:700px){h1{font-size:50px}.hero{padding-top:98px}.metrics{grid-template-columns:1fr 1fr}.photo-stack{min-height:480px}.stack-main{inset:0 30px 180px 0}.stack-side{right:0;top:260px;width:52%;height:230px}.stack-bottom{left:0;right:70px;height:210px}.proof-strip{grid-template-columns:1fr 1fr}.cards,.image-grid,.image-grid.three,.video-grid,.press-downloads{grid-template-columns:1fr}.timeline-item{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.section{padding-top:72px;padding-bottom:72px}.gallery{columns:1}.media-grid{display:block}.source-list{margin-top:28px}.hero-actions .btn,.actions .btn{width:100%}}



/* ===== Executive portrait framing update ===== */

.gallery-card img,
.feature-card img,
.timeline-card img,
.hero-media img,
.executive-grid img,
.media-grid img,
section img {
    object-fit: cover;
    object-position: center top !important;
}

/* Specific family/executive images */
img[src*="canton-opening-family"],
img[src*="canton-2026-son"],
img[src*="canton-opening-leadership"] {
    object-position: center 12% !important;
}

