:root{--olive:#515d32;--cream:#ecebd8;--ink:#303329}*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--ink);font-family:Arial,Helvetica,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid #d7bb65;outline-offset:5px}.hero{position:relative;isolation:isolate;margin:14px 14px 0;min-height:650px;height:73vh;max-height:960px;border-radius:30px;overflow:hidden;background:#34372b;color:#fff}.hero-images,.hero-image{position:absolute;inset:0;width:100%;height:100%}.hero-image{object-fit:cover;opacity:0;transition:opacity .65s ease;object-position:center 56%}.hero-image.is-active{opacity:1}.hero-images{z-index:-2}.hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(14,21,13,.65),rgba(15,22,13,.14) 68%),linear-gradient(0deg,rgba(15,22,13,.55),transparent 42%,rgba(25,28,19,.23))}.site-header{padding:26px 34px;position:relative;gap:20px}.brand{font-family:Georgia,'Times New Roman',serif;font-size:34px;line-height:.85;letter-spacing:3px;color:#fff;display:flex;align-items:center;gap:10px}.brand span{font-family:Arial,sans-serif;font-size:10px;letter-spacing:2px;line-height:1.5;max-width:60px;border-left:1px solid #ffffff80;padding-left:10px}.desktop-nav{display:flex;gap:32px;font-size:12px}.desktop-nav a{padding:10px 0;border-bottom:1px solid transparent}.desktop-nav a:hover{border-color:#fff}.pill{border:0;background:var(--olive);color:#fff;border-radius:50px;padding:18px 27px;font-size:10px;letter-spacing:1px;transition:background .2s,transform .2s}.pill:hover{background:#65733e;transform:translateY(-2px)}.header-cta{padding:17px 26px}.menu-toggle{width:48px;height:48px;border:0;border-radius:50%;background:#fff;display:grid;align-content:center;justify-content:center;gap:5px}.menu-toggle span{display:block;width:15px;height:1px;background:#57594d}.menu-panel{position:absolute;right:34px;top:88px;z-index:10;width:240px;padding:16px;background:#fff;color:var(--ink);border-radius:18px;box-shadow:0 10px 40px #0003}.menu-panel:not([hidden]){display:grid}.menu-panel a{padding:12px;border-radius:8px}.menu-panel a:hover{background:#f1f2e9}.hero-copy{position:absolute;left:6%;top:24%;max-width:55%}h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(68px,6.6vw,112px);line-height:.93;letter-spacing:-3px;margin:0 0 24px}h1 span{color:#e3e7c9}.hero-copy p{font-size:16px;line-height:1.65;color:#f0f0e9;margin-bottom:26px}.discover{min-width:195px;display:flex;align-items:center;justify-content:space-between;gap:30px}.discover>span:last-child{font-size:22px;line-height:12px}.story-circle{position:absolute;right:12%;top:40%;width:180px;height:180px;border:1px solid #ffffffe6;border-radius:50%;background:#ffffff08;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;font-size:12px;line-height:1.4;transition:background .2s}.story-circle:hover{background:#ffffff25}.play{font-size:25px}.hero-values{position:absolute;bottom:100px;right:5%;gap:18px;font-size:12px}.hero-values i{width:15px;height:1px;background:#ffffff75}.banner-bottom{position:relative;margin-top:-45px;padding:0 6% 35px}.slide-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.slide-card{position:relative;text-align:left;isolation:isolate;height:235px;border:5px solid #fff;border-radius:26px;overflow:hidden;color:#fff;background:#34372b;padding:20px;box-shadow:0 5px 12px #0000000c;transition:transform .25s}.slide-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .4s}.slide-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#12150ee0,transparent 80%);z-index:-1}.slide-card:hover img{transform:scale(1.05)}.slide-card.is-active{box-shadow:0 0 0 2px var(--olive)}.card-name{position:absolute;left:20px;bottom:20px;font:400 clamp(18px,1.8vw,28px)/1.05 Georgia,serif}.card-number{position:absolute;bottom:20px;right:18px;font:24px Georgia,serif;color:#dfdfd3}.intro{padding:0 12px 0 24px}.slider-arrows{display:flex;justify-content:flex-end;gap:8px;height:65px;align-items:flex-start;padding-top:8px}.slider-arrows button{border:1px solid #e7e7e1;background:#fff;border-radius:50%;height:38px;width:38px;color:#666}.slider-arrows button:hover{background:var(--cream)}.intro h2{font-size:14px;font-weight:600;margin:10px 0 12px}.intro p{font-size:12px;line-height:1.7;max-width:235px;color:#6d6d65}.intro-signature{font-family:Georgia,serif;font-style:italic;font-size:15px;color:var(--olive);margin-top:18px}dialog{border:0;border-radius:24px;padding:45px;max-width:520px;width:calc(100% - 32px);color:var(--ink)}dialog::backdrop{background:#151a136b;backdrop-filter:blur(5px)}dialog h2{font:36px Georgia,serif}dialog p{line-height:1.8}.eyebrow{font-size:11px;letter-spacing:3px;color:var(--olive)}.dialog-close{position:absolute;right:15px;top:10px;border:0;background:none;font-size:30px}
@media(min-width:1700px){.banner-bottom{padding-left:7%;padding-right:7%}.slide-card{height:290px}.hero-values{bottom:110px}}
@media(max-width:1199px){.desktop-nav{gap:20px}.hero{min-height:610px}.site-header{padding:24px}.story-circle{right:10%;width:150px;height:150px}.slide-card{height:205px;padding:12px}.card-name{left:14px;bottom:18px}.card-number{font-size:20px;right:12px}.hero-values{font-size:10px;gap:12px}.intro{padding-left:12px}}
@media(max-width:991px){.desktop-nav{display:none}.hero{height:72vh;min-height:600px}.hero-copy{top:25%}h1{font-size:80px}.hero-values{bottom:85px}.banner-bottom{padding-left:5%;padding-right:5%}.slide-card{height:220px}.intro{display:grid;grid-template-columns:1fr auto;padding:0 16px}.slider-arrows{grid-column:2;grid-row:1 / 4;height:auto;padding:0}.intro h2{margin-top:0}.intro p{max-width:440px;margin-bottom:0}.intro-signature{margin-top:10px}.story-circle{right:9%}}
@media(max-width:575px){.hero{margin:8px 8px 0;border-radius:22px;min-height:650px;height:81svh;max-height:850px}.site-header{padding:22px 18px;gap:10px}.brand{font-size:27px;gap:7px}.brand span{font-size:8px;padding-left:7px}.header-cta{display:none}.menu-toggle{width:40px;height:40px}.menu-panel{right:18px;top:76px}.hero-copy{left:8%;top:24%;max-width:85%}h1{font-size:clamp(63px,15vw,85px);letter-spacing:-2px}.hero-copy p{font-size:14px}.pill{padding:17px 22px}.story-circle{width:100px;height:100px;right:7%;top:auto;bottom:92px;font-size:9px;gap:8px}.play{font-size:17px}.hero-values{left:8%;right:auto;bottom:57px;gap:8px;font-size:8px}.hero-values i{width:8px}.banner-bottom{margin-top:-24px;padding:0 18px 30px}.slide-cards{gap:6px}.slide-card{height:155px;border-width:3px;border-radius:17px}.card-name{font-size:15px;left:9px;bottom:27px}.card-number{font-size:14px;bottom:7px;right:9px}.intro{padding:4px 12px}.intro h2{font-size:14px}.intro p{max-width:265px;padding-right:12px}.slider-arrows{gap:5px}.slider-arrows button{width:30px;height:30px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}

/* Reference proportions: inset hero, overlapping cards and a compact side note. */
@media(min-width:992px){
  .hero{margin:12px 12px 0;height:calc(73svh + 100px);min-height:750px;max-height:950px;border-radius:28px}
  .site-header{padding:25px 2.4%;display:grid!important;grid-template-columns:1fr auto 1fr;gap:35px}
  .brand{justify-self:start;font-size:clamp(30px,2.1vw,42px)}
  .brand span{font-size:clamp(9px,.65vw,12px)}
  .desktop-nav{gap:clamp(23px,2.1vw,42px);font-size:clamp(13px,.9vw,17px)}
  .header-actions{justify-self:end}
  .header-cta{font-size:clamp(11px,.7vw,13px);padding:19px 30px}
  .menu-toggle{width:52px;height:52px}
  .hero-copy{left:6%;top:23%;max-width:55%}
  h1{font-size:clamp(76px,6.3vw,128px);line-height:.92;letter-spacing:-3.5px;margin-bottom:23px}
  .hero-copy p{font-size:clamp(16px,1.18vw,22px);line-height:1.55;margin-bottom:25px}
  .discover{min-width:220px;padding:20px 29px;font-size:clamp(11px,.75vw,14px)}
  .story-circle{right:12%;top:40%;width:clamp(190px,14.2vw,275px);height:auto;aspect-ratio:1;font-size:clamp(13px,.95vw,18px);gap:22px}
  .play{font-size:clamp(26px,2vw,38px)}
  .hero-values{bottom:16%;right:4.5%;font-size:clamp(12px,.85vw,16px);gap:20px}
  .hero-image{object-position:center 50%}
  .hero:after{background:linear-gradient(90deg,rgba(14,21,13,.69),rgba(15,22,13,.18) 70%),linear-gradient(0deg,rgba(15,22,13,.58),transparent 48%,rgba(25,28,19,.2))}
  .banner-bottom{margin-top:clamp(-72px,-4vw,-48px);padding:0 5.8% 45px}
  .banner-bottom>.row{--bs-gutter-y:0;--bs-gutter-x:26px;justify-content:flex-end}
  .banner-bottom .col-lg-9{width:calc(3 * clamp(190px,17vw,300px) + 50px)}
  .banner-bottom .col-lg-3{width:clamp(205px,18vw,280px)}
  .slide-cards{gap:12px}
  .slide-card{height:auto;aspect-ratio:1.27;border:4px solid #fff;border-radius:23px}
  .slide-card.is-active{box-shadow:0 5px 14px #0002}
  .slide-card.is-active:before{content:"";position:absolute;top:13px;right:13px;width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px #ffffff40}
  .card-name{font-size:clamp(19px,1.3vw,25px);left:16px;bottom:18px}
  .card-number{font-size:clamp(18px,1.15vw,23px);right:14px;bottom:18px}
  .intro{padding-left:18px}
  .slider-arrows{height:clamp(90px,6.2vw,120px);padding-top:24px}
  .slider-arrows button{width:42px;height:42px;font-size:18px}
  .intro h2{font-size:clamp(14px,1vw,19px);line-height:1.4;margin:0 0 14px}
  .intro p{font-size:clamp(12px,.86vw,16px);max-width:260px;line-height:1.65}
  .intro-signature{font-size:clamp(15px,1vw,19px);margin-top:15px}
}
.intro-details{display:flex;align-items:center;gap:8px;margin-top:18px}
.intro-details img{width:38px;height:38px;border-radius:50%;border:2px solid #fff;object-fit:cover}
.intro-details img+img{margin-left:-17px}
.intro-details span{font-size:11px;line-height:1.5;color:#6d6d65;max-width:120px;margin-left:3px}
@media(min-width:992px) and (max-height:850px){
  .hero{min-height:700px;height:calc(79svh + 100px)}
  h1{font-size:clamp(72px,5.7vw,100px)}
  .hero-copy{top:23%}
  .story-circle{width:clamp(170px,14vw,225px)}
}
@media(min-width:576px) and (max-width:991px){
  .banner-bottom{margin-top:-44px}
  .banner-bottom>.row{--bs-gutter-y:0}
  .slide-cards{max-width:720px}
  .slide-card{height:auto;aspect-ratio:1.27}
  .intro{margin-top:24px}
  .intro-details{grid-column:1}
}
@media(max-width:575px){
  .banner-bottom{margin-top:-32px}
  .banner-bottom>.row{--bs-gutter-y:0}
  .intro{margin-top:24px}
  .intro-details{grid-column:1}
}

/* Native modal supplies focus containment, Escape and backdrop semantics. */
body.menu-open{overflow:hidden}
dialog.side-panel{position:fixed;inset:0 0 0 auto;margin:0;width:min(460px,100%);max-width:100%;height:100%;height:100dvh;max-height:100%;border:0;border-radius:0;padding:38px;background:#f7f6ef;overflow-y:auto;overscroll-behavior:contain;color:var(--ink)}
.side-panel[open]{display:flex;flex-direction:column;animation:panel-enter .32s ease-out}
.side-panel::backdrop{background:#11170e88;backdrop-filter:blur(4px)}
.panel-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}
.panel-header .brand{color:var(--olive);font-size:36px}
.panel-header .brand span{border-color:#515d3260}
.panel-close{border:1px solid #d9dccf;background:transparent;border-radius:50%;width:44px;height:44px;font-size:28px;line-height:1;color:var(--olive);flex-shrink:0}
.panel-close:hover{background:#e7e9db}
.side-panel .eyebrow{font-size:10px;letter-spacing:2px;margin-bottom:24px}
.panel-nav{display:grid;gap:4px;padding-bottom:25px;border-bottom:1px solid #d9dccf}
.panel-nav a{font:30px/1.3 Georgia,serif;padding:9px 0;transition:color .2s,padding-left .2s}
.panel-nav a:hover{color:var(--olive);padding-left:8px}
.panel-contact{padding-top:28px}
.panel-contact h2{font:26px/1.3 Georgia,serif;margin:0 0 24px}
.panel-contact dl{margin:0 0 26px}
.panel-contact dt,.panel-contact h3{font:600 11px/1.5 Arial,sans-serif;text-transform:uppercase;letter-spacing:1.5px;color:var(--olive);margin-bottom:5px}
.panel-contact dd{font-size:14px;color:#74766b;margin:0 0 16px}
.panel-social{display:grid;gap:10px;list-style:none;padding:0;margin:12px 0 30px}
.panel-social li{font-size:14px;display:flex;justify-content:space-between;gap:16px}
.panel-social span{font-size:12px;color:#85877d}
.panel-footer{font:italic 14px Georgia,serif;color:var(--olive);margin:auto 0 0;padding-top:24px}
@keyframes panel-enter{from{transform:translateX(100%)}to{transform:translateX(0)}}
@media(max-width:575px){dialog.side-panel{width:min(380px,100%);padding:28px 24px}.panel-nav a{font-size:27px}.panel-header .brand{font-size:30px}}
@media(prefers-reduced-motion:reduce){.side-panel[open]{animation:none}}
