:root{--ink:#20221f;--muted:#77796f;--paper:#f4f2ec;--paper2:#eae8df;--line:rgba(32,34,31,.16);--accent:#a85d3b;--serif:'Iowan Old Style','Palatino Linotype','Book Antiqua',Georgia,serif;--sans:'Segoe UI',Arial,sans-serif;font-family:var(--sans);scroll-behavior:smooth;color-scheme:light}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink)}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}button{font:inherit}.skip-link{position:fixed;top:8px;left:8px;z-index:20;padding:12px;background:white;transform:translateY(-160%)}.skip-link:focus{transform:none}
.header{height:78px;padding:0 5.5vw;display:flex;align-items:center;justify-content:space-between;background:var(--paper);position:relative;z-index:3}.brand{display:flex;flex-direction:column;gap:4px;line-height:1}.brand strong{font-size:14px;letter-spacing:.02em}.brand span{color:var(--muted);font-size:10px;letter-spacing:.18em;text-transform:uppercase}.header nav{display:flex;gap:clamp(24px,4vw,58px);font-size:12px}.header nav a,.footer>a:last-child{transition:color .2s}.header nav a:hover,.footer>a:last-child:hover{color:var(--accent)}.menu-toggle{display:none}
.hero{min-height:min(760px,calc(100svh - 78px));position:relative;isolation:isolate;overflow:hidden;color:white;background:#3a4039}.hero-photo,.hero-shade{position:absolute;inset:0;z-index:-1}.hero-photo{object-position:center 55%}.hero-shade{background:linear-gradient(90deg,rgba(13,16,14,.72),rgba(13,16,14,.16) 75%),linear-gradient(0deg,rgba(13,16,14,.4),transparent 35%)}.hero-copy{max-width:750px;padding:clamp(80px,12vh,135px) 8vw 120px}.eyebrow{margin:0 0 20px;color:rgba(255,255,255,.7);font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase}.eyebrow.dark{color:var(--accent)}h1,h2{font-family:var(--serif);font-weight:500;letter-spacing:-.045em}h1{margin:0;font-size:clamp(48px,7.7vw,100px);line-height:.99}h1 em,.contact h2 em{color:#d6b29a;font-weight:500}.hero-intro{max-width:380px;margin:26px 0 30px;color:rgba(255,255,255,.76);font-size:14px;line-height:1.75}.button{min-height:47px;display:inline-flex;align-items:center;gap:30px;padding:0 20px;background:var(--paper);color:var(--ink);font-size:11px;font-weight:600;transition:transform .2s}.button:hover{transform:translateY(-2px)}.hero-caption{position:absolute;right:5.5vw;bottom:24px;margin:0;font-size:10px;letter-spacing:.1em;text-transform:uppercase}.hero-caption span{color:#d6b29a;margin:0 6px}
.section{padding:110px 8vw}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:34px}.section h2,.about h2,.contact h2{margin:0;font-size:clamp(42px,5.5vw,68px);line-height:1}.section-head>p{margin:0 0 4px;color:var(--muted);font-size:12px;line-height:1.7}.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}.filters button{border:1px solid var(--line);border-radius:99px;padding:9px 15px;background:transparent;color:#5d5f58;font-size:10px;cursor:pointer}.filters button:hover,.filters button.active{border-color:var(--ink);background:var(--ink);color:var(--paper)}.story-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:34px 18px}.story-card{grid-column:span 4;min-width:0}.story-card:nth-child(4n+1){grid-column:span 6}.story-button{width:100%;padding:0;border:0;background:none;text-align:left;cursor:pointer}.story-photo{position:relative;aspect-ratio:1.25;overflow:hidden;background:linear-gradient(135deg,#656d5b,#aa9677)}.story-card:nth-child(4n+1) .story-photo{aspect-ratio:1.58}.story-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(14,16,14,.2),transparent 50%);pointer-events:none}.story-photo img{transition:transform .55s cubic-bezier(.2,.7,.25,1)}.story-button:hover img{transform:scale(1.035)}.story-fallback{position:absolute;inset:0;display:grid;place-items:center;color:rgba(255,255,255,.65);font:500 60px var(--serif)}.story-meta{display:flex;justify-content:space-between;gap:12px;margin-top:13px}.story-meta h3{margin:0;font:500 21px var(--serif)}.story-meta span,.story-place{color:var(--muted);font-size:10px}.story-place{margin:6px 0 0;letter-spacing:.08em;text-transform:uppercase}.story-card[hidden]{display:none}
.about{display:grid;grid-template-columns:1.1fr .9fr;background:var(--paper2)}.about-photo{min-height:560px;position:relative;overflow:hidden;background:#717866}.about-photo img{position:absolute;inset:0}.about-photo span{position:absolute;bottom:25px;left:28px;color:white;font-size:10px;letter-spacing:.15em}.about-copy{align-self:center;max-width:540px;padding:80px clamp(40px,8vw,130px)}.about-copy p:not(.eyebrow){max-width:410px;color:#62645d;font-size:13px;line-height:1.8}.about-copy h2{margin-bottom:27px}.text-link{display:inline-flex;gap:20px;margin-top:12px;padding-bottom:7px;border-bottom:1px solid var(--ink);font-size:11px;font-weight:600}
.contact{padding-top:102px;padding-bottom:108px}.contact-row{display:flex;align-items:end;justify-content:space-between;gap:50px}.contact h2{font-size:clamp(48px,7vw,86px)}.contact h2 em{color:var(--accent)}.contact-details{width:min(360px,40%);padding-bottom:6px}.contact-details p{margin:0 0 18px;color:var(--muted);font-size:12px;line-height:1.7}.contact-details a{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--line);font-size:13px}.contact-details a span{color:var(--accent)}.footer{min-height:100px;padding:20px 5.5vw;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.footer p{color:var(--muted);font:italic 12px var(--serif)}.footer>a:last-child{font-size:10px}
.gallery{width:min(960px,calc(100vw - 24px));max-width:none;max-height:92vh;padding:30px;border:0;background:var(--paper);color:var(--ink)}.gallery::backdrop{background:rgba(10,12,10,.82);backdrop-filter:blur(5px)}.close{position:sticky;top:0;float:right;width:38px;height:38px;border:0;border-radius:50%;background:var(--ink);color:white;font-size:25px;cursor:pointer}.gallery h2{margin:14px 0 6px;font-size:clamp(32px,5vw,52px)}.gallery p{margin:0 0 24px;color:var(--muted);font-size:10px;letter-spacing:.1em;text-transform:uppercase}.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.gallery-grid img{aspect-ratio:1.35;background:var(--paper2)}.gallery-grid img:first-child{grid-column:span 2;aspect-ratio:1.8}
@media(max-width:760px){.header{height:68px;padding:0 22px}.menu-toggle{display:flex;width:38px;height:38px;flex-direction:column;justify-content:center;gap:5px;border:0;padding:8px;background:transparent}.menu-toggle i{height:1px;background:var(--ink)}.header nav{display:none;position:absolute;top:68px;left:0;right:0;flex-direction:column;gap:0;padding:6px 22px 18px;background:var(--paper);border-bottom:1px solid var(--line)}.header nav.open{display:flex}.header nav a{padding:13px 0}.hero{min-height:calc(90svh - 68px)}.hero-photo{object-position:58% center}.hero-shade{background:linear-gradient(90deg,rgba(13,16,14,.65),rgba(13,16,14,.08)),linear-gradient(0deg,rgba(13,16,14,.46),transparent 55%)}.hero-copy{padding:100px 26px 125px}h1{font-size:clamp(50px,14vw,76px)}.hero-intro{max-width:310px;font-size:13px}.hero-caption{right:22px;bottom:18px;font-size:9px}.section{padding:76px 22px}.section-head{align-items:start;flex-direction:column;gap:18px}.section h2,.about h2{font-size:48px}.story-grid{grid-template-columns:repeat(2,1fr);gap:26px 11px}.story-card,.story-card:nth-child(4n+1){grid-column:span 1}.story-photo,.story-card:nth-child(4n+1) .story-photo{aspect-ratio:.83}.story-meta h3{font-size:18px}.about{grid-template-columns:1fr}.about-photo{min-height:390px}.about-copy{padding:58px 25px 66px}.contact{padding-top:72px;padding-bottom:75px}.contact-row{align-items:start;flex-direction:column;gap:30px}.contact h2{font-size:62px}.contact-details{width:100%}.footer{align-items:start;flex-wrap:wrap;padding:24px 22px}.footer p{order:3;width:100%;margin:8px 0 0}.gallery{padding:22px 14px}.gallery-grid{grid-template-columns:1fr}.gallery-grid img:first-child{grid-column:auto;aspect-ratio:1.3}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* Readable typography */
:root{--muted:#5d5f58;--accent:#8b4d32}
body{font-size:16px;line-height:1.65}
.header nav{font-size:15px}.brand strong{font-size:16px}.brand span{font-size:12px}
.eyebrow{font-size:12px;letter-spacing:.16em;line-height:1.5}
.hero-intro{font-size:17px;line-height:1.8;color:rgba(255,255,255,.92)}
.button{font-size:14px;min-height:52px}.hero-caption{font-size:12px;line-height:1.5}
.section-head>p{font-size:15px;line-height:1.8}.filters button{font-size:13px;padding:11px 17px}
.story-meta h3{font-size:24px}.story-meta span,.story-place{font-size:12px;line-height:1.6}
.story-place{letter-spacing:.07em}
.about-copy p:not(.eyebrow){font-size:16px;line-height:1.9;color:#4f514a}.about-copy h2{margin-bottom:30px}
.text-link{font-size:14px}.contact-details p{font-size:15px;line-height:1.8}.contact-details a{font-size:15px}
.footer p{font-size:14px}.footer>a:last-child{font-size:13px}.gallery p{font-size:13px;line-height:1.6}
@media(max-width:760px){.brand strong{font-size:15px}.brand span{font-size:11px}.header nav{font-size:16px}.hero-intro{font-size:16px}.hero-caption{font-size:11px}.section-head>p{font-size:15px}.story-meta h3{font-size:20px}.story-meta span,.story-place{font-size:11px}.about-copy p:not(.eyebrow){font-size:16px}.contact-details p,.contact-details a{font-size:15px}}

/* Supporting text enlarged by 20% */
body{font-size:19px}
.header nav{font-size:18px}.brand strong{font-size:19px}.brand span{font-size:14px}
.eyebrow{font-size:14px}.hero-intro{font-size:20px}.button{font-size:17px}.hero-caption{font-size:14px}
.section-head>p{font-size:18px}.filters button{font-size:16px}
.story-meta h3{font-size:29px}.story-meta span,.story-place{font-size:14px}
.about-copy p:not(.eyebrow){font-size:19px}.text-link{font-size:17px}
.contact-details p,.contact-details a{font-size:18px}.footer p{font-size:17px}.footer>a:last-child{font-size:16px}.gallery p{font-size:16px}
@media(max-width:760px){.brand strong{font-size:18px}.brand span{font-size:13px}.header nav{font-size:19px}.hero-intro{font-size:19px}.hero-caption{font-size:13px}.section-head>p{font-size:18px}.filters button{font-size:15px}.story-meta h3{font-size:24px}.story-meta span,.story-place{font-size:13px}.about-copy p:not(.eyebrow){font-size:19px}.contact-details p,.contact-details a{font-size:18px}.gallery p{font-size:15px}}

/* Full-screen album viewer */
.gallery{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;margin:0;padding:28px 5vw 24px;border:0;background:#171a17;color:#f4f2ec;overflow:hidden}
.gallery::backdrop{background:#111}.gallery-body{height:100%;display:flex;flex-direction:column;padding-top:8px}
.gallery-body h2{margin:0 56px 4px 0;font-size:clamp(28px,4vw,46px);line-height:1.15}
.gallery-body>p{margin:0 0 14px;color:#c8c8bd;font-size:16px;letter-spacing:.05em;text-transform:uppercase}
.gallery-stage{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;touch-action:pan-y}
.gallery-image{display:block;width:100%;height:100%;object-fit:contain}
.gallery-nav{position:absolute;top:50%;transform:translateY(-50%);width:54px;height:70px;border:1px solid rgba(255,255,255,.35);border-radius:2px;background:rgba(20,22,20,.55);color:white;font:300 54px/1 var(--serif);cursor:pointer}
.gallery-nav:hover{background:rgba(20,22,20,.9)}.gallery-nav.previous{left:14px}.gallery-nav.next{right:14px}
.gallery-count{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);padding:6px 12px;background:rgba(20,22,20,.72);color:#fff;font-size:15px;letter-spacing:.08em}
.gallery .close{position:absolute;z-index:2;top:16px;right:22px;background:#f4f2ec;color:#171a17}
@media(max-width:760px){.gallery{padding:64px 8px 14px}.gallery-body h2{font-size:28px}.gallery-body>p{font-size:14px;margin-bottom:8px}.gallery-nav{width:42px;height:56px;font-size:42px}.gallery-nav.previous{left:6px}.gallery-nav.next{right:6px}.gallery-count{bottom:7px;font-size:14px}.gallery .close{top:12px;right:12px}}
