@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--paper:#f4f0e7;--ink:#25291f;--gold:#e5bb71;--muted:#68695e;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.75}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #bf843b;outline-offset:6px}img{display:block;width:100%;height:100%;object-fit:cover}.header{height:96px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{font-family:var(--serif);font-size:36px;line-height:.9;letter-spacing:-1px;display:inline-flex;flex-direction:column}.brand span{font-family:var(--sans);font-size:12px;letter-spacing:2.7px;margin-top:10px;text-transform:uppercase}nav{display:flex;gap:34px;font-size:14px}nav a{border-bottom:1px solid transparent}nav a:hover{border-color:var(--ink)}.header-contact{font-size:14px;border-bottom:1px solid var(--ink);padding-bottom:4px}.hero{min-height:680px;height:calc(100svh - 96px);max-height:950px;position:relative;color:var(--paper);overflow:hidden}.hero-image{position:absolute;object-position:center 54%;animation:hero-zoom 1.4s ease-out}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,21,15,.68),rgba(14,21,15,.15) 70%),linear-gradient(0deg,rgba(14,21,15,.65),transparent 35%)}.hero-content{position:relative;padding:9vh 8%;max-width:1000px}.eyebrow{font-size:12px;font-weight:500;letter-spacing:2.5px;line-height:1.5;margin:0 0 28px}.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(60px,7.2vw,110px);line-height:1.06;letter-spacing:-3px;margin:0 0 30px}em{font-weight:400}.hero h1 em{color:var(--gold)}.hero-description{font-size:18px;line-height:1.7;margin-bottom:34px}.light-button{display:inline-block;border:1px solid #f4f0e7aa;padding:13px 24px;font-size:14px;transition:background .25s,color .25s}.light-button:hover{background:var(--paper);color:var(--ink)}.hero-bottom{position:absolute;bottom:30px;left:5%;right:5%;display:flex;justify-content:space-between;font-size:12px;letter-spacing:2px;border-top:1px solid #ffffff40;padding-top:18px}.section{padding:110px 8%}h2{font-family:var(--serif);font-weight:400;font-size:clamp(44px,4.8vw,72px);line-height:1.14;letter-spacing:-1.8px;margin:0}.muted{color:var(--muted)}.intro{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center;border-bottom:1px solid #25291f25}.intro-text{max-width:540px}.lead{font-size:23px;line-height:1.65;margin-top:0}.intro-text p:not(.lead){color:var(--muted)}strong{font-weight:500;color:var(--ink)}.signature{display:block;font-family:var(--serif);font-size:26px;font-style:italic;margin-top:25px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:10%;margin-bottom:55px}.section-heading>p{max-width:360px;color:var(--muted);margin:0}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:32px 24px;align-items:start}.photo{position:relative;border:0;background:none;padding:0;text-align:left;color:var(--ink);width:100%;cursor:zoom-in;overflow:hidden}.photo img{transition:filter .4s,transform .6s}.photo:hover img{filter:brightness(1.06);transform:scale(1.018)}.photo.tall img{height:auto;aspect-ratio:3/4}.photo.landscape img{height:auto;aspect-ratio:4/3}.photo span{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-top:14px}.photo b{font-family:var(--serif);font-size:19px;font-weight:400;line-height:1.35}.photo small{font-size:12px;letter-spacing:1px;white-space:nowrap;color:var(--muted)}.gallery .photo:nth-child(2){margin-top:90px}.gallery .photo:nth-child(5){margin-top:65px}.final-photo{grid-column:1}.final-photo img{aspect-ratio:3/4;height:auto}.gallery-note{grid-column:2/4;padding:65px 12%;align-self:center;text-align:center}.asterisk{font-size:52px;color:#907648}.gallery-note p{font-family:var(--serif);font-size:35px;line-height:1.5}.gallery-note .eyebrow{font-size:12px}.story{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:var(--paper);gap:10%;align-items:center}.story-photo img{height:auto;aspect-ratio:3/4}.story-photo span{display:block;margin-top:15px;font-size:13px;letter-spacing:1px;color:#c9ccb9}.story-copy h2{margin-bottom:30px}.story-copy h2 em{color:var(--gold)}.story-copy .eyebrow{color:var(--gold)}.story-copy p:not(.eyebrow){color:#dedfd6}.vision-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;margin-top:40px;align-items:center}.vision-grid>div>p:not(.lead){color:var(--muted)}.tags{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.tags span{font-size:13px;border:1px solid #25291f40;padding:6px 14px;border-radius:30px}.purpose{text-align:center;background:#e4dccb;padding-top:100px;padding-bottom:100px}.purpose h2{margin-bottom:30px}.purpose p:not(.eyebrow){max-width:590px;margin:15px auto;color:#545548}.purpose .light-button{margin-top:24px;color:var(--paper);background:var(--ink);border-color:var(--ink)}.purpose .light-button:hover{background:#464c3d}footer{padding:50px 5%;display:flex;align-items:center;justify-content:space-between;gap:30px}footer p,footer>a:last-child{font-size:14px;color:var(--muted)}dialog{background:#161a14;color:white;border:0;padding:65px 80px 25px;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh}dialog::backdrop{background:#161a14}body:has(dialog[open]){overflow:hidden}dialog figure{height:100%;margin:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px}dialog figure img{object-fit:contain;max-height:calc(100dvh - 140px)}dialog figcaption{font-family:var(--serif);font-size:20px;text-align:center}.viewer-controls{position:absolute;top:20px;left:30px;right:30px;display:flex;justify-content:space-between;align-items:center;font-size:14px}dialog button{background:none;border:0;color:white;cursor:pointer;padding:8px 15px}.previous,.next{position:absolute;top:45%;font-size:44px}.previous{left:15px}.next{right:15px}@keyframes hero-zoom{from{transform:scale(1.035)}to{transform:scale(1)}}@media(min-width:1600px){.section{padding-left:max(8%,calc((100vw - 1350px)/2));padding-right:max(8%,calc((100vw - 1350px)/2))}}@media(max-width:1050px){.gallery{grid-template-columns:1fr 1fr}.gallery .photo:nth-child(2),.gallery .photo:nth-child(5){margin-top:0}.final-photo{grid-column:auto}.gallery-note{grid-column:auto;padding:10%}.gallery-note p{font-size:28px}.photo span{display:block}.photo small{display:block;margin-top:4px}.story{gap:6%}.header{gap:18px}nav{gap:18px}.section{padding:85px 6%}.hero h1{font-size:85px}}@media(max-width:680px){.header{height:85px;padding:0 6%}.brand{font-size:30px}.brand span{font-size:10px;letter-spacing:2px}.header nav{display:none}.header-contact{font-size:13px}.hero{height:calc(90svh - 85px);min-height:590px}.hero-content{padding:85px 7% 100px}.hero h1{font-size:62px;letter-spacing:-2px}.hero-description{font-size:16px}.hero-image{object-position:58% center}.hero-bottom{left:7%;right:7%;font-size:10px;letter-spacing:1.4px}.hero-bottom span:last-child{display:none}.eyebrow{font-size:12px;letter-spacing:1.8px}.section{padding:65px 7%}.intro,.vision-grid,.story{grid-template-columns:1fr;gap:32px}.intro .lead,.vision .lead{font-size:21px}.section-heading{display:block;margin-bottom:35px}.section-heading>p{margin-top:24px;max-width:none}.gallery{gap:30px 16px}.photo b{font-size:17px}.photo small{font-size:12px;letter-spacing:.5px}.photo.landscape img{aspect-ratio:3/4}.gallery-note{padding:5px}.gallery-note p{font-size:24px;line-height:1.4}.gallery-note .eyebrow{font-size:10px}.asterisk{font-size:36px}.story-photo{order:2}.story-photo img{aspect-ratio:4/5}.vision-grid{margin-top:25px}.purpose h2{font-size:45px}.purpose p{font-size:16px}footer{flex-wrap:wrap;padding:40px 7%;gap:22px}footer p{width:100%;order:3;margin:0}footer>a:last-child{font-size:13px}dialog{padding:70px 42px 25px}.viewer-controls{left:15px;right:15px}.previous{left:0}.next{right:0}dialog .previous,dialog .next{padding:5px;font-size:40px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
