:root{--navy:#071b30;--paper:#f2efe8;--gold:#c89438;--ink:#142940;--muted:#6c6a64;--line:rgba(20,41,64,.18)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;font-weight:300}
a{color:inherit;text-decoration:none}
header{position:absolute;z-index:3;top:0;left:0;width:100%;height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid rgba(255,255,255,.28);color:#fff}
.brand img{display:block;width:215px;height:82px;object-fit:contain;object-position:left center}
header nav{display:flex;gap:32px;align-items:center;font-size:9px;letter-spacing:.2em;text-transform:uppercase}
header nav a{padding:10px 0;border-bottom:1px solid transparent}
header nav a:hover,header nav a:focus-visible,header nav .active{border-color:var(--gold);color:#e4bd6d}
.portrait-intro{min-height:780px;display:grid;grid-template-columns:minmax(340px,.82fr) minmax(520px,1.18fr);background:var(--navy);color:#fff}
.portrait-copy{display:flex;flex-direction:column;justify-content:flex-end;padding:150px 4vw 10vh 7vw}
.eyebrow{color:#d7ae5c;font-size:9px;letter-spacing:.28em;text-transform:uppercase}
h1,h2{font-family:"Italiana",serif;font-weight:400}
h1{max-width:650px;margin:25px 0 34px;font-size:clamp(68px,7.2vw,118px);line-height:.92;letter-spacing:-.035em}
h1 i,h2 i{color:#d7ae5c;font-weight:400}
.portrait-copy p{max-width:500px;margin:0;color:rgba(255,255,255,.7);font-size:15px;line-height:1.85}
.portrait-intro figure{position:relative;margin:0;min-height:780px;overflow:hidden;background:#a6a6a6}
.portrait-intro figure img{width:100%;height:100%;display:block;object-fit:cover;object-position:52% center;filter:contrast(1.03)}
.portrait-intro figcaption{position:absolute;right:28px;bottom:24px;padding:8px 10px;background:rgba(7,27,48,.75);color:#fff;font-size:7px;letter-spacing:.18em;text-transform:uppercase}
.story{display:grid;grid-template-columns:24% 1fr;gap:5vw;padding:clamp(90px,11vw,165px) 7vw;border-bottom:1px solid var(--line)}
.story-label span{color:#a9792d;font-size:8px;letter-spacing:.25em;text-transform:uppercase}
.story-body h2{max-width:950px;margin:0 0 75px;font-size:clamp(42px,5.5vw,82px);line-height:1.08}
.story-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(28px,4vw,70px);border-top:1px solid var(--line);padding-top:34px}
.story-columns p{margin:0;color:var(--muted);font-size:14px;line-height:1.9}
.story-columns p::first-letter{float:left;margin:7px 7px 0 0;color:var(--gold);font-family:"Italiana",serif;font-size:44px;line-height:.72}
blockquote{margin:0;padding:clamp(90px,12vw,175px) 13vw;background:#0b0d0f;color:#fff;text-align:center}
blockquote span{color:#d7ae5c;font-size:8px;letter-spacing:.27em;text-transform:uppercase}
blockquote p{max-width:1000px;margin:35px auto 24px;font-family:"Italiana",serif;font-size:clamp(37px,5vw,72px);line-height:1.18}
blockquote cite{display:block;color:#d7ae5c;font-family:"Italiana",serif;font-size:28px}
.closing{padding:clamp(90px,10vw,145px) 7vw;text-align:center}
.closing h2{margin:28px 0 55px;font-size:clamp(48px,6vw,92px);line-height:1.05}
.closing-actions{display:flex;justify-content:center;gap:55px}
.closing-actions a{min-width:210px;padding:13px 0;border-bottom:1px solid var(--gold);font-size:9px;letter-spacing:.18em;text-align:left;text-transform:uppercase}
.closing-actions a span{float:right}
.contact-invitation{padding:clamp(90px,10vw,145px) 7vw;background:var(--navy);color:#fff;text-align:center;border-bottom:1px solid rgba(255,255,255,.12)}
.contact-invitation h2{max-width:1050px;margin:28px auto 25px;font-size:clamp(44px,5.7vw,86px);line-height:1.08}
.contact-invitation p{max-width:580px;margin:0 auto 46px;color:rgba(255,255,255,.65);font-size:14px;line-height:1.8}
.contact-invitation>a{display:inline-block;min-width:230px;padding:13px 0;border-bottom:1px solid var(--gold);font-size:9px;letter-spacing:.18em;text-align:left;text-transform:uppercase}
.contact-invitation>a span{float:right}
footer{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:45px;padding:35px 5vw;background:var(--navy);color:#fff}
footer img{display:block;width:220px;height:70px;object-fit:contain;object-position:left center}
footer>a:not(:first-child),footer>span{font-size:8px;letter-spacing:.16em;text-transform:uppercase}
footer>a:not(:first-child){color:#d7ae5c}
footer>span{color:rgba(255,255,255,.42)}
@media(max-width:800px){
  header{height:78px;padding:0 20px}.brand img{width:150px;height:60px}header nav{gap:15px;font-size:7px}header nav a:first-child{display:none}
  .portrait-intro{grid-template-columns:1fr;min-height:0}.portrait-copy{min-height:540px;padding:140px 24px 70px}.portrait-intro figure{min-height:0;aspect-ratio:3/2}.portrait-intro figure img{object-position:center}
  .story{grid-template-columns:1fr;padding:85px 24px}.story-body h2{margin:28px 0 50px}.story-columns{grid-template-columns:1fr;gap:34px}
  blockquote{padding:90px 24px}.closing{padding:90px 24px}.closing-actions{flex-direction:column;align-items:center;gap:24px}.closing-actions a{width:min(100%,320px)}.contact-invitation{padding:85px 24px}.contact-invitation>a{width:min(100%,320px)}
  footer{grid-template-columns:1fr;gap:18px;padding:42px 24px}footer img{width:190px}
}
