:root{--paper:#eeeae2;--ink:#252723;--muted:#66675e;--line:#c9c6bc;--accent:#7b4936;--white:#fbfaf6;--serif:Georgia,'Times New Roman',serif;--sans:'Segoe UI',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:36px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:400;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button,textarea{font:inherit}button{color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;width:100%;height:auto}figure,p,h1,h2,h3{margin:0}button:focus-visible,a:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button{border-radius:0}a,button{touch-action:manipulation}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:24px;top:-100px;z-index:200;background:var(--ink);color:var(--white);padding:15px}.skip-link:focus{top:12px}.site-header{height:112px;display:flex;align-items:center;justify-content:space-between;padding:0 5.4vw;border-bottom:1px solid var(--line)}.wordmark{font-size:30px;font-weight:650;letter-spacing:-1.5px;line-height:1;position:relative}.brand-dot{font-size:10px;position:absolute;top:0;right:-13px;letter-spacing:0}.site-header nav{display:flex;align-items:center;gap:42px;font-size:13px;font-weight:500}.site-header nav a{padding:12px 0}.site-header nav a:hover{color:var(--accent)}.nav-contact{margin-left:12px}.nav-contact span{margin-left:15px;font-size:20px;vertical-align:-1px}.eyebrow{text-transform:uppercase;font-size:10px;letter-spacing:1.8px;font-weight:600;line-height:1.7}.tiny-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--accent);vertical-align:2px;margin-right:9px}.hero{display:grid;grid-template-columns:1fr 1.15fr;min-height:720px;padding:70px 5.4vw 66px;gap:4.5vw;overflow:hidden}.hero-copy{padding-top:30px;display:flex;flex-direction:column;align-items:flex-start}.hero h1{font-family:var(--serif);font-size:clamp(54px,5.45vw,88px);line-height:1.02;letter-spacing:-3.9px;font-weight:400;margin:35px 0 27px;white-space:nowrap}.hero h1 em,h2 em{font-weight:400;color:var(--accent)}.hero-description{font-size:15px;line-height:1.9;max-width:330px;color:var(--muted);margin-bottom:36px}.text-link{display:inline-flex;justify-content:space-between;align-items:center;gap:37px;min-height:42px;font-size:12px;font-weight:600;border-bottom:1px solid var(--ink);padding:0 0 10px}.text-link span{font-size:23px;font-weight:400;transition:transform .2s}.text-link:hover span{transform:translate(3px,-2px)}.hero-bottom{margin-top:auto;padding-top:55px;display:flex;width:100%;justify-content:space-between;color:var(--muted);font-size:10px;letter-spacing:.4px}.hero-art{position:relative;padding:0 0 82px 30px}.hero-main{position:relative;background:#c9c6bc;margin-top:0}.hero-main img{aspect-ratio:1.22;object-fit:cover;object-position:50% 50%}.hero-main figcaption{position:absolute;left:18px;right:18px;bottom:16px;display:flex;justify-content:space-between;text-transform:uppercase;letter-spacing:1px;font-size:9px;font-weight:600;color:white;text-shadow:0 1px 5px #000}.hero-main:after{position:absolute;content:'';bottom:0;left:0;right:0;height:60px;background:linear-gradient(transparent,#0003);pointer-events:none}.hero-main figcaption{z-index:1}.hero-inset{position:absolute;bottom:0;left:-22px;width:32%;border:8px solid var(--paper);background:var(--paper);transform:rotate(-4deg)}.hero-inset img{aspect-ratio:4/5;object-fit:cover}.hero-inset figcaption{text-transform:uppercase;font-size:8px;letter-spacing:1px;font-weight:600;padding-top:10px;padding-bottom:3px;text-align:center}.art-note{position:absolute;right:0;bottom:38px;font-family:var(--serif);font-size:15px;font-style:italic;color:var(--muted)}.intro-strip{margin:0 5.4vw;display:grid;grid-template-columns:1fr 1.45fr .3fr;gap:4.5vw;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:43px 0}.intro-strip>.eyebrow{padding-top:4px}.intro-strip>p:nth-child(2){font-family:var(--serif);font-size:23px;line-height:1.6;max-width:640px;letter-spacing:-.3px}.intro-index{font-size:16px;font-family:var(--serif);align-self:center;justify-self:end;letter-spacing:3px;color:var(--muted)}.work-section{padding:110px 5.4vw 100px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:45px}.section-heading h2{font-family:var(--serif);font-size:clamp(42px,4.8vw,72px);font-weight:400;letter-spacing:-2.5px;line-height:1.1;margin-top:18px}.section-note{color:var(--muted);font-size:12px;line-height:1.8;text-align:right;padding-bottom:6px}.gallery-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:38px;gap:16px}.filters{display:flex;gap:6px;flex-wrap:wrap}.filter{background:transparent;border:1px solid var(--line);font-size:11px;line-height:1.5;padding:10px 15px;transition:background .2s,color .2s,border .2s}.filter span{font-size:9px;margin-left:9px}.filter.active{color:var(--white);background:var(--ink);border-color:var(--ink)}.filter:hover:not(.active){border-color:var(--ink)}.gallery-hint{font-size:10px;color:var(--muted)}.gallery-hint span{margin-left:10px;font-size:17px}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px 22px;align-items:start}.photo-card{min-width:0}.photo-card.offset{margin-top:58px}.photo-open{display:block;border:0;padding:0;background:#d4d2c9;width:100%;position:relative;overflow:hidden}.photo-card.portrait .photo-open{aspect-ratio:4/5}.photo-card.landscape .photo-open{aspect-ratio:3/2}.photo-open img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease,filter .4s}.photo-open:hover img{transform:scale(1.025);filter:brightness(.96)}.photo-expand{position:absolute;bottom:12px;right:12px;display:grid;place-items:center;width:30px;height:30px;background:var(--paper);font-size:18px;opacity:0;transform:translateY(4px);transition:opacity .2s,transform .2s}.photo-open:hover .photo-expand,.photo-open:focus-visible .photo-expand{opacity:1;transform:none}.photo-card figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-top:14px;font-size:11px;font-weight:500;line-height:1.4}.photo-card figcaption>span:nth-child(2){font-size:8px;text-transform:uppercase;letter-spacing:.7px;color:var(--muted);text-align:right;flex-shrink:0}.gallery.filtered .offset{margin-top:0}.gallery-end-link{display:flex;width:max-content;margin:64px auto 0}.services-section{background:var(--ink);color:var(--paper);padding:93px 8vw 94px;display:grid;grid-template-columns:1fr 1.2fr;gap:10vw}.services-top>.eyebrow{color:#bfbcaf}.services-top h2{font-family:var(--serif);font-size:clamp(58px,6vw,94px);font-weight:400;line-height:1;letter-spacing:-3px;margin-top:29px}.services-top h2 em{color:#b99883}.services-intro{font-size:16px;line-height:1.8;color:#d0cec3;margin-bottom:40px;max-width:520px}.service-list{border-top:1px solid #5a5b51}.service-list>div{padding:23px 0;border-bottom:1px solid #5a5b51;display:grid;grid-template-columns:26px 1fr;gap:7px 15px}.service-number{font-size:9px;color:#b99883;margin-top:5px}.service-list h3{font-family:var(--serif);font-size:27px;letter-spacing:-.4px;font-weight:400}.service-list p{grid-column:2;font-size:12px;line-height:1.6;color:#bfbcaf}.services-content .text-link{border-color:#a4a395;margin-top:31px}.closing-image{position:relative;isolation:isolate;height:470px;background:#0b101b;overflow:hidden}.closing-image img{height:100%;object-fit:cover;object-position:50% 53%;opacity:.72}.closing-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0006,transparent 80%);z-index:1}.closing-image-copy{position:absolute;left:8vw;top:50%;transform:translateY(-50%);color:var(--white);z-index:2}.closing-image-copy>.eyebrow{color:#d6d0c7}.closing-image-copy>p:nth-child(2){font-family:var(--serif);font-size:clamp(40px,4.5vw,66px);line-height:1.1;letter-spacing:-2px;margin-top:24px}.closing-image-copy em{font-weight:400}.contact-section{padding:100px 8vw 105px;display:grid;grid-template-columns:1.2fr 1fr;gap:9vw;border-bottom:1px solid var(--line)}.contact-heading h2{font-family:var(--serif);font-size:clamp(43px,4.8vw,73px);line-height:1.08;letter-spacing:-2.8px;max-width:550px;font-weight:400;margin-top:24px}.contact-heading h2 em{display:block}.contact-content{padding-top:20px}.contact-content>p:first-child{font-size:15px;line-height:1.9;max-width:430px;color:var(--muted)}.button{background:var(--ink);color:var(--white);border:1px solid var(--ink);padding:17px 24px;font-size:12px;font-weight:500;display:flex;justify-content:space-between;align-items:center;gap:30px;min-width:270px;width:max-content;max-width:100%;margin-top:25px;transition:background .2s}.button:hover{background:var(--accent);border-color:var(--accent)}.button span{font-size:21px;font-weight:400}.contact-status{font-size:10px;line-height:1.7;color:var(--muted);margin-top:16px;max-width:310px;min-height:34px}.contact-direct+.button{background:transparent;color:var(--ink);margin-top:12px}.contact-direct+.button:hover{color:var(--accent)}.request-fallback{width:100%;min-height:120px;margin-top:14px;padding:12px;border:1px solid var(--line);background:var(--white);font-size:13px;line-height:1.6;resize:vertical}.site-footer{padding:35px 5.4vw;display:flex;align-items:center;justify-content:space-between;gap:25px}.site-footer .wordmark{font-size:24px}.site-footer>p,.site-footer>a:last-child{font-size:10px;color:var(--muted)}.site-footer>a:last-child span{font-size:17px;margin-left:15px}.lightbox{width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;inset:0;margin:0;border:0;padding:0;background:#171915;color:var(--paper);overflow:hidden}.lightbox::backdrop{background:#171915}.lightbox[open]{display:flex;flex-direction:column}.lightbox-bar{display:flex;align-items:center;justify-content:space-between;height:76px;flex-shrink:0;padding:0 30px}.lightbox-brand{font-size:22px;font-weight:600;letter-spacing:-1px}.lightbox-bar>span:nth-child(2){font-size:11px;letter-spacing:1px}.icon-button{background:transparent;border:1px solid #5a5b51;color:var(--paper);width:42px;height:42px;display:grid;place-items:center;font-size:24px;flex-shrink:0}.icon-button:hover{background:#34362f}.lightbox-close{border:0;font-size:22px}.lightbox-stage{display:flex;gap:24px;align-items:center;justify-content:space-between;padding:0 30px;min-height:0;flex:1}.lightbox-stage img{height:100%;object-fit:contain;width:calc(100% - 132px);min-width:0}.lightbox-caption{height:95px;display:grid;grid-template-columns:1fr auto;align-content:center;gap:7px 20px;padding:15px 96px;flex-shrink:0}.lightbox-caption h2{font-family:var(--serif);font-size:21px;font-weight:400;letter-spacing:0}.lightbox-caption p{font-size:10px;color:#babcb0;grid-row:2}.lightbox-key-hint{grid-column:2;grid-row:1/3;align-self:center;font-size:10px;color:#babcb0}
@media(min-width:1700px){body{max-width:1800px;margin:auto}.hero{min-height:820px}.hero-main img{aspect-ratio:1.15}.hero-art{padding-bottom:90px}}
@media(max-width:1100px){.site-header{height:94px}.site-header nav{gap:25px}.hero{gap:3vw;padding-top:50px;min-height:640px;grid-template-columns:1fr 1fr}.hero h1{font-size:6vw;letter-spacing:-2.8px}.hero-copy{padding-top:15px}.hero-description{font-size:13px;max-width:290px}.hero-art{padding-left:10px;padding-bottom:100px}.hero-main img{aspect-ratio:.9}.hero-inset{left:-20px;width:40%;bottom:25px}.art-note{font-size:13px;bottom:17px}.intro-strip{grid-template-columns:1fr 1.7fr;gap:30px}.intro-index{display:none}.intro-strip>p:nth-child(2){font-size:21px}.gallery-hint{display:none}.photo-card figcaption{display:block}.photo-card figcaption>span:nth-child(2){display:block;text-align:left;margin-top:5px}.services-section{gap:7vw;padding-left:6vw;padding-right:6vw}.contact-section{gap:7vw;padding-left:6vw;padding-right:6vw}.closing-image-copy{left:6vw}.site-footer>p:nth-child(2){display:none}}
@media(max-width:760px){html{scroll-padding-top:20px}.site-header{height:82px;padding:0 6vw}.wordmark{font-size:26px}.site-header nav{gap:23px;font-size:11px}.site-header nav>a:nth-child(2){display:none}.nav-contact{margin-left:0}.nav-contact span{margin-left:7px}.hero{display:block;padding:43px 6vw 40px;min-height:0;overflow:visible}.hero-copy{padding:0}.hero .eyebrow{font-size:9px}.hero h1{font-size:clamp(50px,10vw,75px);letter-spacing:-2.6px;margin:25px 0 22px;line-height:1.03}.hero-description{max-width:380px;font-size:14px;line-height:1.8;margin-bottom:22px}.text-link{font-size:11px;gap:32px}.hero-bottom{display:none}.hero-art{padding:0 0 48px 39px;margin-top:42px;margin-bottom:0}.hero-main img{aspect-ratio:1.12}.hero-main figcaption{font-size:8px;left:12px;right:12px;bottom:13px}.hero-inset{left:0;bottom:0;width:31%;border-width:6px}.hero-inset figcaption{font-size:6px;padding-top:7px}.art-note{font-size:12px;bottom:8px}.intro-strip{margin:0 6vw;padding:31px 0;display:block}.intro-strip>p:nth-child(2){font-size:20px;line-height:1.6;margin-top:14px;max-width:530px}.work-section{padding:65px 6vw 62px}.section-heading{display:block;margin-bottom:27px}.section-heading h2{font-size:43px;letter-spacing:-1.8px;margin-top:16px}.section-heading .section-note{display:none}.gallery-toolbar{margin-bottom:25px}.filters{gap:6px}.filter{font-size:10px;padding:9px 12px}.filter span{margin-left:5px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:29px 13px}.photo-card.offset{margin-top:0}.photo-card:nth-child(even){margin-top:35px}.gallery.filtered .photo-card:nth-child(even){margin-top:0}.photo-card figcaption{margin-top:10px;font-size:10px}.photo-card figcaption>span:nth-child(2){font-size:7px;letter-spacing:.5px;line-height:1.5}.photo-expand{opacity:1;transform:none;width:23px;height:23px;right:7px;bottom:7px;font-size:14px}.gallery-end-link{margin-top:37px}.services-section{display:block;padding:55px 6vw 59px}.services-top h2{font-size:68px;letter-spacing:-2.5px;margin-top:21px}.services-top h2 br{display:none}.services-content{margin-top:30px}.services-intro{font-size:14px;line-height:1.8;margin-bottom:29px}.service-list>div{padding:21px 0}.service-list h3{font-size:26px}.service-list p{font-size:11px}.closing-image{height:350px}.closing-image img{object-position:56% 50%}.closing-image-copy{left:6vw;top:50%}.closing-image-copy>p:nth-child(2){font-size:45px;letter-spacing:-1.6px;margin-top:20px}.closing-image-copy .eyebrow{font-size:8px}.contact-section{display:block;padding:55px 6vw 53px}.contact-heading h2{font-size:50px;letter-spacing:-2px;margin-top:20px}.contact-heading h2 em{display:inline}.contact-content{padding-top:25px}.contact-content>p:first-child{font-size:14px;max-width:500px}.button{font-size:11px;padding:15px 19px;min-width:260px;margin-top:24px}.contact-status{font-size:10px}.site-footer{padding:28px 6vw;flex-wrap:wrap;gap:22px 12px}.site-footer .wordmark{font-size:23px}.site-footer>p:nth-child(3){margin-left:auto}.site-footer>a:last-child{width:100%;padding-top:16px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.lightbox-bar{height:64px;padding:0 16px}.lightbox-brand{font-size:21px}.lightbox-stage{padding:0 12px;position:relative;gap:0;justify-content:center}.lightbox-stage img{width:100%;height:100%}.lightbox-stage>.icon-button{position:absolute;bottom:14px;width:42px;height:42px;background:#171915aa;z-index:2;font-size:22px}.lightbox-prev{left:16px}.lightbox-next{right:16px}.lightbox-caption{padding:18px 20px;height:97px;display:block}.lightbox-caption h2{font-size:20px}.lightbox-caption p{font-size:10px;margin-top:7px}.lightbox-key-hint{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Keep each selected photograph intact, including both motorcycle wheels. */
.hero-main img{aspect-ratio:auto;height:auto;object-fit:contain}
.hero-art{padding-bottom:170px}
.hero-inset{width:110px;bottom:0;left:30px}
.art-note{bottom:65px}
.photo-card.portrait .photo-open,.photo-card.landscape .photo-open{aspect-ratio:auto}
.photo-open img{height:auto;object-fit:contain}
@media(min-width:1700px){.hero-art{padding-bottom:190px}.hero-inset{width:125px}}
@media(max-width:760px){.hero-art{padding-bottom:150px}.hero-inset{width:94px;left:0;bottom:0}.art-note{bottom:55px}}
.contact-email{display:inline-block;margin-top:16px;font-size:15px;line-height:1.6;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.contact-email:hover{color:var(--accent);border-color:var(--accent)}
.button.secondary{background:transparent;color:var(--ink);margin-top:12px}
.button.secondary:hover{color:var(--accent);border-color:var(--accent)}
@media(max-width:760px){.contact-email{font-size:14px}}
.button:disabled,.button:disabled:hover{background:var(--line);border-color:var(--line);color:var(--muted);cursor:default}
/* Refined portfolio: a consistent grid and uncropped photographs. */
:root{--paper:#f8f7f3;--ink:#242622;--muted:#71726b;--line:#deded5;--accent:#795643;--white:#fff}
body{max-width:none}
.site-header{height:88px;padding:0 max(6vw,24px)}
.hero{max-width:1240px;margin:auto;min-height:0;padding:52px 40px 64px;grid-template-columns:1fr 1fr;gap:70px;align-items:center;overflow:visible}
.hero-copy{padding:0}
.hero h1{font-size:clamp(44px,4.4vw,68px);letter-spacing:-2.5px;line-height:1.09;margin:28px 0 24px}
.hero-description{max-width:330px;margin-bottom:26px;line-height:1.8}
.hero-art{padding:0;margin:0;display:flex;justify-content:center}
.hero-main{width:100%;max-width:410px;background:transparent}
.hero-main img{width:100%;height:530px;aspect-ratio:auto;object-fit:contain}
.hero-main:after{display:none}
.hero-main figcaption{position:static;display:flex;padding-top:15px;color:var(--muted);text-shadow:none;font-size:9px;letter-spacing:1px}
.work-section{max-width:1200px;margin:auto;padding:60px 40px 90px;border-top:1px solid var(--line)}
.section-heading{margin-bottom:32px}
.section-heading h2{font-size:clamp(38px,4vw,54px);letter-spacing:-1.8px;margin-top:12px}
.section-note{font-size:12px}
.gallery-toolbar{margin-bottom:32px;align-items:center}
.filters{gap:24px}
.filter{padding:10px 0;border:0;border-bottom:1px solid transparent;font-size:12px;color:var(--muted);background:none}
.filter.active{background:none;color:var(--ink);border-color:var(--ink)}
.filter:hover:not(.active){color:var(--ink);border-color:var(--line)}
.gallery-hint{font-size:11px}
.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 32px;align-items:start}
.photo-card,.photo-card.offset,.photo-card:nth-child(even),.gallery.filtered .photo-card:nth-child(even){margin-top:0}
.photo-card.portrait .photo-open,.photo-card.landscape .photo-open{aspect-ratio:4/5;background:#efeee8;padding:18px;display:flex;align-items:center;justify-content:center}
.photo-open img{width:100%;height:100%;object-fit:contain;transition:opacity .2s}
.photo-open:hover img{transform:none;filter:none;opacity:.94}
.photo-card figcaption{display:flex;justify-content:space-between;margin-top:14px;line-height:1.5;font-size:12px;font-weight:500}
.photo-card figcaption>span:nth-child(2){margin:0;font-size:9px;letter-spacing:1px;text-align:right}
.photo-expand{background:#fff;color:var(--ink);width:28px;height:28px;bottom:11px;right:11px}
.gallery-end-link{margin-top:48px}
.services-section{padding:70px max(6vw,24px);gap:9vw}
.services-top h2{font-size:64px}
.services-intro{font-size:15px}
.service-list h3{font-size:25px}
.closing-image{height:340px}
.contact-section{padding:76px max(6vw,24px)}
.contact-heading h2{font-size:clamp(42px,4vw,60px)}
.contact-email{font-size:clamp(17px,2vw,24px);margin-top:24px;padding-bottom:6px;letter-spacing:-.4px}
.contact-content .button{min-width:260px}
.contact-content #copy-request,.contact-content #contact-status{display:none}
.site-footer{padding:30px max(6vw,24px)}
@media(min-width:1700px){.hero{min-height:0}.hero-art{padding:0}.hero-main img{aspect-ratio:auto}}
@media(max-width:1100px){.hero{gap:40px}.hero h1{font-size:clamp(40px,5vw,60px)}.hero-art{padding:0}.hero-main img{height:480px}.gallery-hint{display:none}}
@media(max-width:760px){
 .site-header{height:74px;padding:0 6vw}.site-header nav{gap:18px}
 .hero{display:flex;flex-direction:column;padding:32px 6vw 44px;gap:30px;align-items:stretch}
 .hero-art{order:-1;margin:0;padding:0}.hero-main{max-width:360px}.hero-main img{height:auto;max-height:440px;object-fit:contain}
 .hero-copy{padding-top:4px}.hero h1{font-size:45px;margin:15px 0 18px;letter-spacing:-1.8px}
 .hero-description{font-size:14px;max-width:360px;margin-bottom:18px}.hero .eyebrow{font-size:9px}
 .work-section{padding:40px 6vw 52px;margin:0 6vw;padding-left:0;padding-right:0}
 .section-heading{margin-bottom:22px}.section-heading h2{font-size:38px}.gallery-toolbar{margin-bottom:24px}.filters{gap:18px}.filter{font-size:11px;padding:8px 0}
 .gallery{gap:28px 14px}.photo-card.portrait .photo-open,.photo-card.landscape .photo-open{padding:8px}
 .photo-card figcaption{font-size:10px;gap:4px;margin-top:10px}.photo-card figcaption>span:nth-child(2){font-size:7px;letter-spacing:.4px}
 .photo-expand{width:22px;height:22px;font-size:13px;bottom:6px;right:6px;opacity:1;transform:none}
 .services-section{padding:48px 6vw}.services-top h2{font-size:49px}.services-content{margin-top:25px}
 .closing-image{height:290px}.closing-image-copy>p:nth-child(2){font-size:40px}
 .contact-section{padding:48px 6vw}.contact-heading h2{font-size:44px}.contact-email{font-size:21px}.site-footer{padding:26px 6vw}
}
@media(max-width:420px){.gallery{grid-template-columns:1fr;gap:30px}.photo-card.portrait .photo-open,.photo-card.landscape .photo-open{padding:14px}.photo-card figcaption{font-size:12px}.photo-card figcaption>span:nth-child(2){font-size:9px}.hero h1{font-size:40px}.filters{gap:15px}}
/* Direct contact form. */
.contact-intro{max-width:350px;font-size:15px;line-height:1.9;color:var(--muted);margin-top:26px}
.contact-aside{font-size:12px;color:var(--muted);margin-top:20px}
.contact-content{padding-top:0;min-width:0}
.contact-form{width:100%;max-width:560px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-field{display:flex;flex-direction:column;gap:10px;margin-bottom:22px;min-width:0}
.form-field label{font-size:12px;font-weight:600;letter-spacing:.1px}
.form-field input,.form-field textarea{appearance:none;width:100%;min-width:0;border:1px solid #cfcfc5;border-radius:0;background:#fff;color:var(--ink);font:inherit;font-size:14px;line-height:1.6;padding:12px 14px;transition:border-color .2s}
.form-field input{min-height:48px}
.form-field textarea{resize:vertical;min-height:160px;max-height:440px}
.form-field input::placeholder,.form-field textarea::placeholder{color:#7b7d74;font-size:13px;opacity:1}
.form-field input:focus-visible,.form-field textarea:focus-visible{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:2px}
.form-honey{display:none}
.contact-content .form-submit{min-width:0;width:100%;margin-top:4px;justify-content:space-between}
.form-submit:disabled{cursor:wait;opacity:.65}
.form-note{font-size:10px;line-height:1.8;color:var(--muted);max-width:450px;margin-top:15px}
.form-note a{text-decoration:underline;text-underline-offset:2px}
.form-status{font-size:13px;line-height:1.7;margin-top:16px;scroll-margin:24px}
.form-status:empty{display:none}
.form-status[data-state="success"]{border-left:2px solid #476c42;padding:10px 14px;background:#eef2e9;color:#314d2d}
.form-status[data-state="error"]{border-left:2px solid #994e39;padding:10px 14px;background:#f6eee8;color:#7e3d2c}
.contact-alternative{font-size:11px;color:var(--muted);margin-top:23px}
.contact-alternative a{border-bottom:1px solid var(--line);padding-bottom:3px}
.contact-alternative a:hover{color:var(--accent)}
.thank-you{max-width:900px;margin:auto;padding:100px 6vw}
.thank-you h1{font:400 clamp(40px,6vw,70px)/1.1 var(--serif);letter-spacing:-2px;margin:25px 0}
.thank-you h1 em{color:var(--accent);font-weight:400}
.thank-you>p:not(.eyebrow){color:var(--muted);line-height:1.8}
.thank-you .text-link{margin-top:30px}
@media(max-width:760px){.contact-content{padding-top:30px}.contact-intro{max-width:480px;margin-top:22px}.contact-aside{margin-top:12px}.contact-form{max-width:none}.form-field input,.form-field textarea{font-size:16px}.form-field{margin-bottom:18px}.form-note{font-size:10px}}
@media(max-width:550px){.form-row{grid-template-columns:1fr;gap:0}}
