@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--paper:#f6f5ef;--ink:#192e25;--muted:#5c685f;--accent:#d3e6a1;--line:#d8dcd1}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}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 #8baf50;outline-offset:6px}::selection{background:#d3e6a1;color:#132820}.wrap{width:min(1320px,calc(100% - 112px));margin-inline:auto}.skip{position:fixed;top:-100px;left:20px;z-index:10;background:var(--paper);padding:15px}.skip:focus{top:10px}.header{height:108px;display:flex;align-items:center;justify-content:space-between;padding:0 56px}.brand{display:flex;align-items:center;gap:13px;font-family:Manrope,Arial,sans-serif;font-weight:800;font-size:18px;letter-spacing:.01em}.brand svg{width:43px;height:43px;fill:none;stroke:var(--ink);stroke-width:1.7}.brand small{display:block;font-size:9px;font-weight:500;letter-spacing:.27em;margin-top:6px}.header nav{display:flex;gap:36px;align-items:center;font-size:13px}.nav-contact{padding:12px 0 12px 20px;border-left:1px solid var(--line)}.nav-contact span{margin-left:20px}.hero{min-height:680px;height:calc(100svh - 130px);max-height:920px;margin:0 22px;position:relative;overflow:hidden;color:white;background:#324a3d}.hero-image,.hero-shade{position:absolute;inset:0}.hero-image{background:url('photos/IMG_20261107_115908.jpg') center 58% / cover}.hero-shade{background:linear-gradient(90deg,rgba(10,30,20,.77),rgba(10,30,20,.1)),linear-gradient(0deg,rgba(10,30,20,.48),transparent 30%)}.hero-top,.hero-bottom{position:absolute;left:40px;right:40px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.16em}.hero-top{top:30px}.hero-top i{display:inline-block;width:6px;height:6px;background:var(--accent);border-radius:50%;margin:0 9px 1px 0}.hero-bottom{bottom:26px;gap:20px}.hero-copy{position:relative;margin-left:5%;padding-top:clamp(130px,16vh,210px);padding-bottom:120px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.16em;line-height:1.6;margin:0 0 26px}.hero h1{font-family:Manrope,Arial,sans-serif;font-size:clamp(52px,6.5vw,96px);font-weight:500;line-height:1.05;letter-spacing:-.065em;margin:0 0 28px}em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.045em}.hero h1 em{color:var(--accent)}.hero-copy>p:not(.eyebrow){font-size:16px;line-height:1.7;color:#e6ebe1}.button{display:inline-flex;gap:60px;align-items:center;padding:18px 23px;font-size:12px;font-weight:600;margin-top:24px}.light{background:var(--paper);color:var(--ink)}.button:hover{background:var(--accent)}.intro{display:grid;grid-template-columns:1fr 1.65fr;gap:70px;padding-block:90px;border-bottom:1px solid var(--line);align-items:start}.intro .eyebrow{margin-top:8px;max-width:230px}.intro>p:last-child{font-size:clamp(20px,2.3vw,30px);line-height:1.5;letter-spacing:-.02em;margin:0;max-width:760px}.portfolio{padding-block:85px}.section-heading{display:flex;justify-content:space-between;gap:35px;align-items:end;margin-bottom:34px}.section-heading .eyebrow{margin-bottom:18px}h2{font-family:Manrope,Arial,sans-serif;font-size:clamp(30px,3.2vw,46px);font-weight:500;letter-spacing:-.045em;line-height:1.15;margin:0}.section-heading>p{font-size:13px;line-height:1.6;color:var(--muted);margin:0 0 3px;flex-shrink:0}.draft-note{display:flex;align-items:center;gap:20px;padding:17px 21px;background:#e9eddf;font-size:12px;line-height:1.6;margin-bottom:28px}.draft-note>span{font-size:25px}.draft-note p{margin:0}.gallery{display:grid;grid-template-columns:1.2fr 1fr;gap:24px}.photo{border:0;padding:0;position:relative;overflow:hidden;background:#344c40;color:white;cursor:zoom-in;text-align:left;min-height:340px}.photo.wide{height:440px}.photo.tall{grid-column:2;grid-row:1 / span 2;height:100%}.photo.lower{height:330px}.photo:after{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(10,25,15,.65))}.photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}.photo:hover img{transform:scale(1.035)}.image-label{position:absolute;left:22px;top:22px;font-size:9px;letter-spacing:.1em;padding:7px 10px;border:1px solid #ffffff70;background:#17332380;z-index:1}.expand{position:absolute;right:22px;top:19px;font-size:24px;z-index:1}.photo-caption{position:absolute;left:26px;right:20px;bottom:27px;z-index:1}.photo-caption strong{font-size:23px;font-weight:500;letter-spacing:-.03em;display:block}.photo-caption small{display:block;font-size:9px;letter-spacing:.13em;margin-top:12px}.photo-credit{font-size:11px;color:var(--muted);margin-top:17px;line-height:1.6}.about{padding:90px 0;background:#e9ecdf}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.about-visual{height:440px;position:relative;display:grid;place-items:center;background:radial-gradient(circle at center,#3e5746,#1e362a);color:#c6d6af}.about-visual:before{content:'';position:absolute;inset:0;background-image:linear-gradient(#bdd2a810 1px,transparent 1px),linear-gradient(90deg,#bdd2a810 1px,transparent 1px);background-size:32px 32px}.about-visual svg{width:70%;stroke:#c9d7b2;stroke-width:1.3;position:relative}.visual-top,.visual-bottom{position:absolute;font-size:9px;letter-spacing:.16em;left:29px;right:29px}.visual-top{top:29px}.visual-bottom{bottom:29px}.visual-bottom span{opacity:.5;margin-inline:7px}.corner{position:absolute;width:16px;height:16px;border-color:#d7e8bd70;border-style:solid}.tl{top:17px;left:17px;border-width:1px 0 0 1px}.tr{top:17px;right:17px;border-width:1px 1px 0 0}.bl{bottom:17px;left:17px;border-width:0 0 1px 1px}.br{bottom:17px;right:17px;border-width:0 1px 1px 0}.about-copy h2{font-size:52px}.about-copy>p:not(.eyebrow){font-size:15px;color:#4d5d50;line-height:1.85;max-width:470px}.about-foot{display:grid;grid-template-columns:100px 1fr;gap:12px;font-size:11px;border-top:1px solid #c9cfbe;padding-top:21px;margin-top:25px}.about-foot>span{font-size:8px;letter-spacing:.1em;align-self:center;color:#59664f}.about-foot strong{font-weight:500}.future{padding-block:90px}.possibilities{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:48px}.possibilities article{border-top:1px solid #a9b4a2;padding-top:23px}.number{font-size:10px;color:#64745b}h3{font-size:20px;font-weight:500;letter-spacing:-.02em;margin:24px 0 13px}.possibilities p{font-size:14px;line-height:1.8;color:var(--muted);max-width:330px}.availability{margin:36px 0 0;padding:19px 0;border-top:1px solid var(--line);font-size:12px;color:#5c6853;line-height:1.7}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#7b8b55;margin-right:9px}.availability strong{font-weight:600}.contact{background:#172e23;color:var(--paper);padding:75px 0 65px}.contact .eyebrow{color:#b5c79b}.contact h2{font-size:clamp(58px,8vw,115px);line-height:1;letter-spacing:-.06em}.contact h2 em{color:var(--accent)}.contact-bottom{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-top:40px}.contact-bottom p{font-size:14px;line-height:1.8;color:#b5c2b2;margin:0}.email{font-size:clamp(18px,2.5vw,32px);padding-bottom:12px;border-bottom:1px solid #7f9277;letter-spacing:-.03em}.email span{margin-left:30px;color:var(--accent)}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:106px;font-size:11px}footer .footer-brand{font-family:Manrope,Arial,sans-serif;font-weight:800;letter-spacing:.03em;font-size:13px}footer p{color:var(--muted)}dialog{background:#132820;color:white;border:1px solid #637353;padding:45px 22px 20px;max-width:95vw;max-height:95svh}dialog::backdrop{background:#07150ef0}dialog img{display:block;max-height:70svh;max-width:85vw;object-fit:contain;margin:auto}dialog p{margin:15px 0 0;font-size:16px}.lightbox-note{font-size:11px;color:#c3ceb7}.close{position:absolute;right:10px;top:4px;background:none;border:0;color:white;font-size:32px;cursor:pointer;width:40px;height:38px}body:has(dialog[open]){overflow:hidden}
@media(min-width:1600px){.header{max-width:1500px;margin:auto}.hero{max-width:1550px;margin:auto}}@media(max-width:900px){.wrap{width:calc(100% - 56px)}.header{padding:0 28px;height:90px}.header nav{gap:22px}.hero{margin:0 12px;min-height:640px;height:80svh}.hero-copy{margin-left:28px}.hero-top,.hero-bottom{left:28px;right:28px}.hero-top>span:last-child{display:none}.hero-bottom{flex-direction:column;gap:12px;font-size:8px}.intro{gap:25px;padding-block:60px;grid-template-columns:1fr 1.5fr}.portfolio,.future{padding-block:60px}.section-heading{align-items:start;flex-direction:column;gap:18px}.section-heading>p br{display:none}.gallery{gap:16px}.photo.wide{height:340px}.photo.lower{height:270px}.photo{min-height:250px}.about{padding:60px 0}.about-grid{gap:35px}.about-visual{height:380px}.about-copy h2{font-size:43px}.about-foot{grid-template-columns:1fr;gap:8px}.about-foot strong{margin-bottom:6px}.possibilities{gap:25px}.contact-bottom{flex-direction:column;align-items:start}.email{font-size:27px}}@media(max-width:580px){.wrap{width:calc(100% - 40px)}.header{height:88px;padding:0 20px}.brand{gap:7px;font-size:13px}.brand svg{width:30px;height:35px}.brand small{font-size:7px;letter-spacing:.17em}.header nav{gap:15px;font-size:11px}.header nav>a:first-child,.header nav>a:nth-child(2){display:none}.nav-contact{border:0;padding:0}.nav-contact span{margin-left:5px}.hero{min-height:620px;height:calc(100svh - 105px);margin:0 10px}.hero-copy{margin-left:22px;margin-right:16px;padding-top:150px}.hero h1{font-size:52px}.hero-top,.hero-bottom{left:22px;right:18px}.hero-copy>p:not(.eyebrow){font-size:14px}.hero .eyebrow{font-size:8px;letter-spacing:.12em}.hero-shade{background:linear-gradient(90deg,#102c22c9,#102c2233),linear-gradient(0deg,#102c2270,transparent 50%)}.intro{display:block;padding-block:46px}.intro .eyebrow{max-width:none;margin-bottom:22px}.intro>p:last-child{font-size:23px}.portfolio{padding-block:50px}.section-heading h2{font-size:34px}.draft-note{gap:10px;padding:15px;font-size:11px;align-items:start}.gallery{display:flex;flex-direction:column;gap:16px}.photo.wide,.photo.tall,.photo.lower{height:340px;min-height:340px;width:100%}.photo.tall img{object-position:center 60%}.about-grid{grid-template-columns:1fr;gap:36px}.about-visual{height:300px}.about-copy h2{font-size:46px}.about-foot{grid-template-columns:95px 1fr}.possibilities{grid-template-columns:1fr;gap:22px;margin-top:30px}.possibilities article{padding-top:18px}.possibilities h3{margin-top:14px}.possibilities p{max-width:none}.availability{font-size:11px}.contact{padding-block:55px}.contact h2{font-size:76px}.email{font-size:21px;overflow-wrap:anywhere}.email span{margin-left:10px}footer{padding-block:30px;flex-wrap:wrap;gap:18px}footer p{width:100%;order:3;margin:0}footer>a:last-child{margin-left:auto}dialog img{max-width:80vw}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.photo img{transition:none}}

/* Preserve the wide compositions of Ryan’s original photographs. */
.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery .photo{height:auto;min-height:0;aspect-ratio:16/9}.hero-image{background-position:center center}.photo-caption strong{font-size:21px}.photo-caption small{margin-top:8px}.hero-shade{background:linear-gradient(90deg,rgba(10,25,18,.75),rgba(10,25,18,.08)),linear-gradient(0deg,rgba(10,25,18,.5),transparent 35%)}@media(max-width:580px){.gallery{display:grid;grid-template-columns:1fr}.gallery .photo{height:auto;min-height:0;aspect-ratio:16/9}.photo-caption{left:18px;bottom:17px}.photo-caption strong{font-size:20px}.photo-caption small{font-size:8px}.hero-image{background-position:60% center}}
