:root{font-family:var(--font-body);color:#073f30;background:#f8f7f0;--forest:#003d2e;--sage:#a7b9a5;--ink:#073f30;--muted:#52665d;--line:#d5ded3;font-synthesis:none}*{box-sizing:border-box}body{margin:0}html{scroll-behavior:smooth;scroll-padding-top:24px}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #88b49d;outline-offset:5px}img{display:block;max-width:100%}header{display:flex;justify-content:space-between;align-items:center;max-width:1400px;margin:auto;padding:22px 64px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:16px;font-size:13px;letter-spacing:2px;font-weight:600}.brand small{display:block;margin-top:7px;font-size:10px;letter-spacing:2.7px;font-weight:400}.brand-logo{width:60px;height:60px;flex-shrink:0}nav{display:flex;align-items:center;gap:32px;font-size:14px}nav>a:not(.nav-book):hover{color:#58846a}.nav-book{display:flex;align-items:center;gap:20px;padding:13px 20px;border:1px solid var(--forest);border-radius:3px;transition:background .2s,color .2s}.nav-book:hover{background:var(--forest);color:#f8f7f0}.menu{display:none}.hero{max-width:1400px;margin:auto;padding:68px 64px 86px;display:grid;grid-template-columns:1fr 1.05fr;gap:48px;align-items:center;min-height:720px}.eyebrow{font-size:11px;letter-spacing:2.5px;font-weight:500;display:block;color:#526b5c}.hero .eyebrow>span{display:none}h1,h2{font-family:var(--font-editorial);font-weight:400;letter-spacing:-2.5px}h1{font-size:clamp(54px,5.5vw,80px);line-height:1.08;margin:24px 0}h1 em,h2 em{font-weight:400;color:#547b60}.intro{max-width:440px;font-size:16px;line-height:1.85;color:var(--muted);margin:26px 0 30px}.hero-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.button{min-height:52px;display:inline-flex;justify-content:center;align-items:center;gap:12px;padding:15px 20px;border-radius:3px;font-size:14px;font-weight:500;transition:background .2s,transform .2s}.primary{background:var(--forest);color:#f9f5df}.primary:hover{background:#205a43;transform:translateY(-2px)}.secondary{border:1px solid #aabbb0}.secondary:hover{background:#e5ece1;transform:translateY(-2px)}.text-link{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:13px;border-bottom:1px solid #aabbb0;transition:color .2s}.text-link:hover{color:#547b60}.hero-instagram{margin-top:14px;border:0;color:#53695b;font-size:12px}.profile{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:22px;margin-top:20px;max-width:470px}.profile img{width:48px;height:48px;border-radius:50%;object-fit:cover}.profile strong{font-size:13px;display:block}.profile span{font-size:11px;display:block;margin-top:5px;color:var(--muted)}.location{margin-left:auto;font-size:11px;display:flex;align-items:center;gap:5px;max-width:110px;line-height:1.5}.hero-art{height:565px;position:relative;margin-right:4px;padding-left:34px}.arch{position:absolute;left:34px;top:0;right:80px;height:465px;border-radius:3px;overflow:hidden;background:var(--forest)}.arch img{height:100%;width:100%;object-fit:cover}.art-label{position:absolute;bottom:20px;left:20px;color:#fff;font-size:9px;letter-spacing:2.5px}.floating-photo{position:absolute;right:0;top:235px;width:45%;padding:8px 8px 0;background:#f8f7f0;border:1px solid #d5ded3;transform:rotate(4deg);box-shadow:0 12px 25px #103a2914}.floating-photo img{width:100%;aspect-ratio:4/5;object-fit:cover}.floating-photo span{display:flex;align-items:center;justify-content:space-between;padding:11px 4px;font-family:var(--font-editorial);font-size:16px;font-style:italic}.detail-photo{position:absolute;top:35px;right:-10px;width:28%;border:6px solid #f8f7f0;transform:rotate(-5deg)}.detail-photo img{width:100%;aspect-ratio:4/5;object-fit:cover}.detail-photo span{display:block;font-size:7px;letter-spacing:1px;padding:8px 0;background:#f8f7f0}.art-index{position:absolute;left:34px;bottom:38px;font-size:10px;letter-spacing:2px;max-width:200px;line-height:1.8}.section{max-width:1400px;margin:auto;padding:88px 64px}.portfolio{border-top:1px solid var(--line)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:25px}h2{font-size:clamp(36px,4vw,56px);line-height:1.16;margin:20px 0}.section-description{font-size:15px;color:var(--muted);line-height:1.8;max-width:570px;margin:6px 0 38px}.gallery{display:grid;grid-template-columns:1.15fr .85fr;gap:50px 48px;align-items:start}.photo-card{border:0;padding:0;background:none;text-align:left;min-width:0}.photo-card:nth-child(2){padding-top:90px}.photo-card:nth-child(3){width:83%;padding-left:55px}.photo-card:nth-child(4){margin-top:30px}.photo-frame{position:relative;overflow:hidden;border-radius:4px;background:#123d2c;aspect-ratio:5/4}.photo-card:nth-child(2) .photo-frame,.photo-card:nth-child(3) .photo-frame{aspect-ratio:4/5}.photo-frame img{height:100%;width:100%;object-fit:cover;transition:transform .5s}.photo-card:hover .photo-frame img{transform:scale(1.035)}.photo-open{position:absolute;bottom:18px;right:18px;background:#f8f7f0;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;transition:transform .2s}.photo-card:hover .photo-open{transform:rotate(45deg)}.photo-caption{display:flex;align-items:start;justify-content:space-between;gap:15px;padding-top:18px}.photo-caption strong{font-family:var(--font-editorial);font-size:23px;font-weight:400}.photo-caption small{display:block;color:var(--muted);font-size:12px;line-height:1.6;margin-top:6px}.photo-number{font-size:11px;padding-top:7px;color:#66806b}.source-note{font-size:11px;color:var(--muted);line-height:1.6;margin-top:32px}.about{display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:90px;margin:28px auto 0;position:relative}.about:before{content:"";position:absolute;top:0;right:28px;bottom:0;left:28px;background:#e4ebe0;z-index:-1;border-radius:5px}.about-photo{position:relative}.about-photo img{width:100%;height:480px;object-fit:cover;object-position:42% 40%;border-radius:3px}.photo-signature{font-family:var(--font-editorial);font-size:32px;font-style:italic;position:absolute;bottom:28px;right:-28px;padding:15px 28px;background:#f8f7f0;transform:rotate(-4deg)}.about-name{font-size:14px;margin-top:25px}.about-name span{display:block;font-size:12px;color:var(--muted);margin-top:7px}.about-copy h2{font-size:43px}.about-copy p{font-size:15px;line-height:1.9;color:var(--muted);max-width:500px}.about-copy .text-link{margin-top:16px}.links{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;align-items:start}.links h2{max-width:350px}.link-list a{display:flex;align-items:center;gap:20px;padding:22px 0;border-bottom:1px solid var(--line);transition:padding .2s,background .2s}.link-list a:first-child{border-top:1px solid var(--line)}.link-list a:hover{padding-left:12px;background:#eaf0e5}.link-list a>svg{width:22px;stroke-width:1.5;flex-shrink:0}.link-list a>svg:last-child{margin-left:auto}.link-list strong{font-size:16px;font-weight:500}.link-list small{display:block;font-size:13px;color:var(--muted);margin-top:7px;line-height:1.5}.contact{max-width:1272px;margin:0 auto 50px;text-align:center;background:var(--forest);color:#f8f3dd;padding:70px 24px;border-radius:5px;display:flex;align-items:center;flex-direction:column}.contact>.eyebrow{color:#c4d7c8;margin-top:22px}.contact h2{font-size:clamp(36px,4.5vw,64px);margin:22px 0}.contact h2 em{color:#b1cbb5}.contact p{font-size:15px;color:#d0dfd2;line-height:1.8;margin:0 0 24px}.contact .primary{background:#f2eed9;color:var(--forest)}.contact .primary:hover{background:#fffdf5}.contact-location{display:flex;align-items:center;gap:7px;font-size:12px;color:#c4d7c8;margin-top:22px}footer{max-width:1400px;margin:auto;padding:32px 64px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line)}footer>span{font-size:13px;color:var(--muted)}footer>div{display:flex;gap:14px}footer>div a{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%}footer .brand small{letter-spacing:0;font-size:11px}dialog{border:0;border-radius:8px;padding:12px;background:#f8f7f0;width:520px;max-width:92vw;overflow:visible}dialog::backdrop{background:#001e17e8}dialog>img{width:100%;max-height:75vh;object-fit:contain;background:#123d2c;border-radius:3px}.close{position:absolute;top:20px;right:20px;border:0;border-radius:50%;background:#f8f7f0;width:44px;height:44px;display:grid;place-items:center}.dialog-controls{display:flex;align-items:center;justify-content:space-between;font-size:13px;padding-top:9px}.dialog-controls button{background:none;border:0;min-width:44px;min-height:44px;display:grid;place-items:center}.skip{position:absolute;top:-100px;left:12px;z-index:30;padding:12px;background:#fff}.skip:focus{top:10px}.disabled{background:#e4ebe0;color:#52665d}@keyframes enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.hero-copy{animation:enter .65s ease both}.hero-art{animation:enter .8s ease both}@media(max-width:1100px){header,.hero,.section,footer{padding-left:36px;padding-right:36px}.hero{gap:30px}.hero-art{height:510px;padding-left:0}.arch{left:0;right:55px;height:425px}.art-index{left:0;bottom:28px;max-width:160px}.floating-photo{top:220px}.about,.links{gap:50px}.about-copy h2{font-size:37px}.contact{margin-left:36px;margin-right:36px}.hero-actions .button{padding:14px;font-size:13px}.gallery{gap:38px}}@media(max-width:760px){header{padding:18px 24px}.brand{font-size:11px;gap:12px}.brand-logo{width:48px;height:48px}.brand small{font-size:9px}.menu{display:grid;place-items:center;background:transparent;border:1px solid var(--line);width:44px;height:44px;border-radius:3px}nav{display:none}nav.open{display:flex;flex-direction:column;position:absolute;top:85px;left:0;right:0;padding:22px;background:#f8f7f0;z-index:20;border-bottom:1px solid var(--line);gap:18px}nav a{min-height:44px;display:flex;align-items:center}.hero{display:flex;flex-direction:column;align-items:stretch;padding:40px 24px 45px;gap:30px;min-height:0}.eyebrow{font-size:10px;letter-spacing:2px}h1{font-size:clamp(45px,9vw,67px);letter-spacing:-2px;margin:20px 0;line-height:1.13}.intro{font-size:15px;margin:20px 0 24px}.desktop{display:none}.hero-actions{gap:10px}.hero-actions .button{min-height:50px;font-size:13px;padding:14px 16px}.hero-actions .primary>svg:last-child{display:none}.hero-instagram{margin-top:8px}.profile{margin-top:10px;padding-top:18px}.location{font-size:10px}.hero-art{height:435px;max-width:470px;width:100%;align-self:center;margin:0}.arch{left:0;right:62px;height:350px}.detail-photo{width:29%;right:0;top:25px}.floating-photo{top:195px;right:7px;width:41%;padding:6px 6px 0}.floating-photo span{font-size:13px;padding:9px 2px}.art-index{bottom:25px;font-size:8px;max-width:155px}.section{padding:52px 24px}.section-head{align-items:start;gap:16px;flex-direction:column}.section-head .text-link{margin-top:-8px}h2{font-size:37px;letter-spacing:-1.5px}.section-description{font-size:14px;margin-top:20px}.gallery{grid-template-columns:1fr 1fr;gap:32px 18px}.photo-card:nth-child(2){padding-top:55px}.photo-card:nth-child(3){width:100%;padding:0}.photo-card:nth-child(4){margin-top:40px}.photo-frame{aspect-ratio:4/5}.photo-caption{padding-top:12px}.photo-caption strong{font-size:19px}.photo-caption small{font-size:11px}.photo-number{display:none}.about{display:flex;flex-direction:column;gap:35px;margin-top:0}.about:before{top:0;right:12px;bottom:0;left:12px}.about-photo{max-width:360px;width:100%;align-self:center}.about-photo img{height:360px}.photo-signature{font-size:25px;right:-8px;bottom:20px;padding:12px 22px}.about-copy h2{font-size:35px}.about-copy p{font-size:14px}.about-name{margin-top:20px}.links{display:block}.links h2{max-width:none}.link-list{margin-top:30px}.link-list a{gap:14px}.link-list strong{font-size:15px}.link-list small{font-size:12px}.contact{padding:48px 22px;margin:0 12px 30px}.contact h2{font-size:36px}.contact p{font-size:14px}footer{padding:26px 24px;flex-wrap:wrap;gap:25px}footer>span{order:3;width:100%;font-size:12px}footer>div{gap:8px}}@media(max-width:380px){.hero-actions{flex-direction:column;align-items:stretch}.location{display:none}.hero-art{height:390px}.arch{height:320px}.floating-photo{top:182px}.photo-caption strong{font-size:17px}.contact h2{font-size:32px}footer .brand{letter-spacing:1px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}.photo-frame{max-height:480px}.photo-frame img{transform:scale(1.1)}.photo-card:hover .photo-frame img{transform:scale(1.135)}.floating-photo,.detail-photo{overflow:hidden}.floating-photo img,.detail-photo img{clip-path:inset(4% 5% 3% 0);transform:scale(1.09)}.about,.hero-art{isolation:isolate}.detail-photo{z-index:2}@media(max-width:760px){.photo-frame{max-height:none}}.arch img{transform:scale(1.12)}@media(max-width:760px){h1{font-size:clamp(36px,11.5vw,67px)}.hero-art{height:clamp(390px,115vw,515px)}}:root{--font-editorial:"Newsreader","Iowan Old Style","Palatino Linotype",Georgia,serif;--font-body:"Karla","Segoe UI",Arial,sans-serif;--type-hero:clamp(54px,5.5vw,80px);--type-section:clamp(36px,4vw,56px);--type-body:16px;--type-caption:23px;--type-label:11px;font-optical-sizing:auto}h1,h2{font-family:var(--font-editorial);font-weight:400;letter-spacing:-.025em}h1{font-size:var(--type-hero);line-height:1.08;letter-spacing:-.035em}h1 em{font-weight:400;letter-spacing:-.045em}h2{font-size:var(--type-section);line-height:1.16}.about-copy h2{font-weight:400;letter-spacing:-.018em;line-height:1.2}.links h2{font-weight:500;letter-spacing:-.025em}.contact h2{font-weight:400;letter-spacing:-.03em;line-height:1.14}.intro{font-size:var(--type-body);line-height:1.8;letter-spacing:-.005em}.section-description,.about-copy p,.contact p{line-height:1.8;letter-spacing:0}.brand{font-family:var(--font-editorial);font-size:17px;font-weight:500;letter-spacing:.035em}.brand small{font-family:var(--font-body);font-size:10px;font-weight:500;letter-spacing:.11em}footer .brand small{font-weight:400;letter-spacing:0}.eyebrow{font-family:var(--font-body);font-size:var(--type-label);font-weight:500;letter-spacing:.13em;line-height:1.5}nav{font-weight:500;letter-spacing:-.01em}.button{font-family:var(--font-body);font-weight:600;letter-spacing:-.015em;line-height:1.3}.text-link{font-weight:500;letter-spacing:-.01em}.profile strong{font-family:var(--font-editorial);font-size:16px;font-weight:500;letter-spacing:-.01em;line-height:1.1}.profile span,.location{font-weight:400;letter-spacing:0}.photo-caption strong{font-family:var(--font-editorial);font-size:var(--type-caption);font-weight:500;letter-spacing:-.018em;line-height:1.18}.photo-caption small{font-weight:400;letter-spacing:0;line-height:1.55}.photo-number{font-variant-numeric:tabular-nums;letter-spacing:.03em}.art-label,.art-index{font-weight:500;letter-spacing:.12em}.detail-photo span{letter-spacing:.07em;line-height:1.5}.floating-photo span{font-weight:400;letter-spacing:-.015em;line-height:1.2}.photo-signature{font-weight:400;letter-spacing:-.035em;line-height:1.1}.about-name{font-family:var(--font-editorial);font-size:21px;font-weight:500;letter-spacing:-.02em;line-height:1.2}.about-name span{font-family:var(--font-body);font-weight:400;letter-spacing:0}.link-list strong{font-weight:500;letter-spacing:-.01em}@media(max-width:760px){:root{--type-hero:clamp(36px,11.5vw,67px);--type-section:37px;--type-body:15px;--type-caption:19px;--type-label:10px}h1{font-size:var(--type-hero);line-height:1.13}.brand{font-size:14px;letter-spacing:.025em}.brand small{font-size:9px;letter-spacing:.1em}.photo-signature{font-size:25px}.about-copy h2{font-size:35px}.contact h2{font-size:36px}}@media(max-width:380px){:root{--type-caption:17px}.contact h2{font-size:32px}footer .brand{letter-spacing:.025em}}.arch img{object-fit:contain;object-position:center;transform:none}.arch{right:auto;width:348.75px;height:auto;aspect-ratio:3/4;background:transparent}.arch img{width:100%;height:100%;object-fit:contain;transform:none}@media(max-width:1100px){.arch{width:318.75px;max-width:calc(100% - 55px);height:auto}}@media(max-width:760px){.arch{width:262.5px;max-width:calc(100% - 62px);height:auto}}@media(max-width:380px){.arch{width:240px;height:auto}}.detail-photo img,.floating-photo img{aspect-ratio:3/4;object-fit:contain;clip-path:none;transform:none}@media(min-width:761px){header{padding-top:16px;padding-bottom:16px}.hero{min-height:0;padding-top:30px;padding-bottom:30px;gap:36px}.hero h1{font-size:clamp(48px,4.7vw,66px);margin:18px 0;line-height:1.06}.hero .intro{margin:18px 0 20px;line-height:1.65}.hero-instagram{margin-top:8px}.hero .profile{margin-top:12px;padding-top:16px}.hero-art{height:465px}.arch{width:292.5px;height:auto}.floating-photo{top:195px;width:38%;max-width:205px}.detail-photo{top:20px;width:26%;max-width:145px}.art-index{bottom:35px}}@media(min-width:761px)and (max-height:700px){header{padding-top:12px;padding-bottom:12px}.hero{padding-top:22px;padding-bottom:22px}.hero h1{font-size:clamp(46px,4.3vw,60px);margin:14px 0}.hero .intro{margin:14px 0 16px;font-size:15px}.hero-art{height:430px}.arch{width:270px}.floating-photo{top:174px;max-width:185px}.detail-photo{max-width:132px}.art-index{bottom:27px}}@media(min-width:761px){header{height:93px}.hero{min-height:calc(100svh - 93px)}}@media(min-width:761px)and (max-height:700px){header{height:85px}.hero{min-height:calc(100svh - 85px)}}.about-copy p{color:#263e32}.about-photo img{height:auto;aspect-ratio:3/4;object-fit:contain;object-position:center}.about-actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:22px}.about-actions .primary{min-height:52px;padding:16px 24px}.about-copy .about-actions .text-link{margin-top:0}.about-photo img{width:auto;max-width:100%;max-height:480px;margin-inline:auto}@media(max-width:760px){.about-photo img{max-height:360px}}.about-photo img{aspect-ratio:auto}.hero-art .arch{border-radius:5px;box-shadow:0 9px 24px #003d2e0d}.hero-art .detail-photo{background:#f8f7f0;padding:5px;border:1px solid #d5ded3;border-radius:3px;box-shadow:0 8px 20px #003d2e12;transform:rotate(-4deg)}.hero-art .detail-photo span{font-size:8px;letter-spacing:.06em;padding:9px 2px 5px}.hero-art .floating-photo{border-radius:3px;padding:6px 6px 0;transform:rotate(3deg);box-shadow:0 10px 24px #003d2e14}.hero-art .floating-photo span{padding:10px 5px;font-size:15px}@media(min-width:761px){.hero-art{max-width:520px;width:100%;justify-self:center}.hero-art .arch{left:24px}.hero-art .detail-photo{right:14px;top:12px;width:32%;max-width:160px}.hero-art .floating-photo{right:20px;top:208px;width:37%;max-width:190px}.hero-art .art-index{left:24px}}@media(min-width:761px)and (max-height:700px){.hero-art{max-width:490px}.hero-art .detail-photo{right:22px;top:10px;max-width:145px}.hero-art .floating-photo{right:28px;top:184px;max-width:172px}}@media(min-width:761px)and (max-width:1000px){.hero-art .arch{left:0;max-width:72%}.hero-art .detail-photo{right:0;width:35%}.hero-art .floating-photo{right:4px;width:42%}.hero-art .art-index{left:0}}@media(max-width:760px){.hero-art .detail-photo{right:5px;width:31%}.hero-art .floating-photo{right:8px}.hero-art .detail-photo span{font-size:7px;padding:7px 1px 3px}.hero-art .floating-photo span{font-size:12px}}@media(max-width:760px){header{padding-top:12px;padding-bottom:12px}.hero{padding-top:26px;padding-bottom:30px;gap:22px}.hero h1{font-size:clamp(35px,10.8vw,54px);line-height:1.08;margin:15px 0}.hero .intro{font-size:14px;line-height:1.65;margin:14px 0 18px}.hero-actions{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:stretch;gap:8px}.hero-actions .button{font-size:12px;padding:12px 10px;min-height:48px;gap:7px}.hero-actions .secondary svg{display:none}.hero-instagram{margin-top:4px;min-height:36px;font-size:12px}.hero .profile{margin-top:8px;padding-top:12px;gap:10px}.hero .profile img{width:40px;height:40px}.hero .profile strong{font-size:16px}.hero .profile span{font-size:10px}.hero .location{font-size:10px;max-width:94px}.hero-art{max-width:360px;height:345px}.hero-art .arch{left:0;width:202.5px;max-width:68%;height:auto}.hero-art .detail-photo{top:8px;right:4px;width:32%;max-width:112px;padding:4px;transform:rotate(-3deg)}.hero-art .detail-photo span{font-size:8px;line-height:1.35;letter-spacing:.025em;padding:6px 1px 3px}.hero-art .floating-photo{top:164px;right:7px;width:36%;max-width:124px;transform:rotate(2deg)}.hero-art .floating-photo span{font-size:13px;padding:8px 2px;gap:4px}.hero-art .floating-photo span svg{width:12px;flex-shrink:0}.hero-art .art-index{left:0;bottom:28px;max-width:175px;font-size:8px;letter-spacing:.08em}.hero-art .art-label{font-size:8px;left:10px;bottom:14px;letter-spacing:.07em}.about{padding-top:30px;padding-bottom:32px;gap:24px}.about-photo{max-width:320px}.about-photo img{max-height:250px}.about-copy .eyebrow{font-size:9px;letter-spacing:.1em}.about-name{margin-top:14px}.about-copy h2{font-size:32px;line-height:1.15;margin:16px 0}.about-copy p{font-size:14px;line-height:1.7;margin:12px 0}.about-actions{margin-top:18px;gap:8px}.about-actions .primary{width:100%;min-height:50px}.about-actions .text-link{font-size:12px}}@media(max-width:360px){.hero-actions .button{font-size:11px;padding-inline:8px;gap:6px}.hero-actions .button svg{width:15px}.hero-art{height:318px}.hero-art .arch{width:180px}.hero-art .floating-photo{top:145px;width:38%}.hero-art .art-index{max-width:140px;bottom:25px;font-size:7px}.hero-art .floating-photo span{font-size:12px}.hero .location{display:none}.about-copy h2{font-size:30px}}@media(max-width:760px){.hero-art{height:315px}.hero-art .arch{width:195px}.hero-art .floating-photo{top:140px}.hero-art .floating-photo span{white-space:nowrap;font-size:12px}.hero-art .floating-photo span svg{display:none}.hero-art .art-index{bottom:22px}}@media(max-width:360px){.hero-art{height:300px}.hero-art .arch{width:180px}.hero-art .floating-photo{top:132px}.hero-art .floating-photo span{font-size:11px}}@media(max-width:760px){nav.open{top:100%}}.floating-booking{position:fixed;right:24px;bottom:24px;z-index:25;display:flex;align-items:center;justify-content:center;gap:10px;padding:16px 20px;min-height:52px;border-radius:30px;background:var(--forest);color:#f8f3dd;border:1px solid #f8f7f04d;box-shadow:0 5px 20px #003d2e26;font-family:var(--font-body);font-size:14px;font-weight:600;transition:background .2s,transform .2s}.floating-booking:hover{background:#205a43;transform:translateY(-2px)}body:has(.floating-booking){padding-bottom:90px}@media(max-width:760px){.floating-booking{left:16px;right:16px;bottom:calc(12px + env(safe-area-inset-bottom,0px));padding:14px 16px;font-size:13px;max-width:360px;margin-inline:auto}body:has(.floating-booking){padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}}@media(max-width:760px){header{position:relative;z-index:30}nav.open{top:100%;max-height:calc(100svh - 75px);overflow-y:auto}}#portfolio{padding-top:40px;padding-bottom:44px}#portfolio .section-head{align-items:center;flex-direction:row;gap:20px}#portfolio .eyebrow{font-size:10px}#portfolio h2{font-size:clamp(32px,3vw,42px);line-height:1.12;margin:10px 0 12px}#portfolio .section-description{font-size:14px;line-height:1.6;margin:0 0 22px;max-width:650px}#portfolio .section-head .text-link{margin-top:0;white-space:nowrap}.portfolio-carousel{min-width:0;width:100%}.carousel-track{display:flex;flex-wrap:nowrap;gap:14px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--sage) transparent;padding-bottom:10px;position:relative;cursor:grab}.carousel-track:active{cursor:grabbing}.carousel-track img{pointer-events:none;-webkit-user-select:none;user-select:none}.portfolio-item{min-width:0;flex:0 0 240px;scroll-snap-align:start}.carousel-media{display:block;width:100%;height:300px;border:0;padding:0;position:relative;border-radius:4px;overflow:hidden;background:var(--forest)}.carousel-media img,.carousel-media video{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s}.carousel-media img{transform:scale(1.04)}.carousel-media:hover img{transform:scale(1.07)}.carousel-open{position:absolute;right:10px;bottom:10px;width:30px;height:30px;border-radius:50%;background:#f8f7f0;display:grid;place-items:center}.carousel-open svg{width:17px;height:17px}.video-badge{position:absolute;top:10px;left:10px;display:flex;align-items:center;gap:5px;background:#f8f7f0;padding:5px 7px;font-size:11px}.media-unavailable{display:grid;place-items:center;height:100%;color:#f8f7f0;font-size:12px}.portfolio-item .photo-caption{padding-top:6px;gap:8px;min-height:20px}.portfolio-item .photo-number{display:block;padding-top:0;font-size:10px;line-height:1.4}.portfolio-item .photo-caption strong{font-size:17px;line-height:1.2}.portfolio-item .photo-caption small{font-size:11px}.portfolio-lightbox>video{display:block;width:100%;max-height:75vh;background:var(--forest)}.portfolio-lightbox .close{z-index:2}.carousel-media:focus-visible{outline-offset:-5px}@media(max-width:1100px){.portfolio-carousel{width:100%}.portfolio-item{flex-basis:240px}}@media(max-width:760px){#portfolio{padding-top:30px;padding-bottom:32px}#portfolio .section-head{align-items:flex-start;gap:12px}#portfolio h2{font-size:32px}#portfolio .section-head .text-link{font-size:11px;white-space:normal;flex-shrink:0;max-width:92px;line-height:1.4}#portfolio .section-description{font-size:13px;margin-bottom:18px}.portfolio-carousel{max-width:none}.carousel-track{gap:12px}.portfolio-item{flex-basis:min(80%,240px)}.carousel-media{height:auto;aspect-ratio:4/5}.carousel-open{width:24px;height:24px;right:6px;bottom:6px}.carousel-open svg{width:14px;height:14px}.video-badge{top:5px;left:5px;font-size:9px;padding:3px 5px}.video-badge svg{width:12px}.portfolio-item .photo-caption strong{font-size:14px}}@media(max-width:360px){#portfolio h2{font-size:29px}#portfolio .eyebrow{font-size:9px;letter-spacing:.1em}#portfolio .section-head{gap:8px}#portfolio .section-head .text-link{max-width:76px;font-size:10px}}@media(prefers-reduced-motion:reduce){.carousel-media img{transition:none}}.carousel-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.carousel-count{font-size:11px;font-variant-numeric:tabular-nums;color:var(--muted);letter-spacing:.06em}.carousel-controls{display:flex;gap:8px}.carousel-controls button{width:40px;height:40px;border:1px solid var(--line);background:transparent;border-radius:50%;display:flex;align-items:center;justify-content:center}.carousel-controls button:hover{background:#e4ebe0}.carousel-track:focus-visible{outline:3px solid #88b49d;outline-offset:4px}.carousel-track{scrollbar-width:none;padding-bottom:0}.carousel-track::-webkit-scrollbar{display:none}.portfolio-item[data-full-visible=false] .carousel-open{visibility:hidden}.carousel-open{pointer-events:none}.portfolio-item .photo-caption{align-items:baseline}.portfolio-item .photo-number{flex-shrink:0;text-align:right;font-variant-numeric:tabular-nums}.portfolio-item[data-full-visible=false] .photo-number{visibility:hidden}.carousel-progress{height:5px;position:relative;margin-top:12px;background:var(--line);border-radius:5px;overflow:hidden}.carousel-progress>span{position:absolute;top:0;bottom:0;background:var(--sage);border-radius:5px}.carousel-stage{position:relative;min-width:0}.carousel-side{position:absolute;z-index:2;width:44px;height:44px;border:0;border-radius:50%;background:#f8f7f0;color:var(--forest);box-shadow:0 2px 8px #003d2e1a;display:flex;align-items:center;justify-content:center;transform:translateY(-50%);cursor:pointer;transition:opacity .2s,background .2s}.carousel-side-left{left:8px}.carousel-side-right{right:8px}.carousel-side:hover{background:#fffdf5}@media(hover:hover)and (pointer:fine)and (min-width:1101px){.carousel-side{opacity:0;pointer-events:none}.carousel-stage:hover .carousel-side,.carousel-stage:focus-within .carousel-side{opacity:1;pointer-events:auto}}@media(prefers-reduced-motion:reduce){.carousel-side{transition:none}}
