
:root{--navy:#00213b;--deep:#00182b;--orange:#ff6418;--white:#f6f6f4;--muted:#bdcbd7}*{box-sizing:border-box}body{margin:0;background:var(--navy);color:var(--white);font-family:Arial,Helvetica,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{outline-offset:5px}a:focus-visible,button:focus-visible{outline:2px solid var(--orange)}header{max-width:1600px;margin:auto;padding:24px 4%;display:flex;align-items:center;justify-content:space-between;background:var(--deep)}.brand{position:relative;display:block;line-height:1.05;padding-right:55px}.brand span{display:block;font-size:17px;letter-spacing:5px}.brand strong{font-size:29px;font-weight:900;letter-spacing:-1px}.brand:after{content:'';position:absolute;width:37px;height:5px;background:var(--orange);right:0;top:29px}nav{display:flex;gap:34px}nav a{padding:10px 0;border-bottom:3px solid transparent}nav a:hover,nav [aria-current]{border-color:var(--orange)}.menu{display:none}.hero{position:relative;min-height:580px;display:flex;align-items:center;justify-content:flex-end;overflow:hidden}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 30%,rgba(0,27,49,.45) 55%,#001e36 85%)}.hero-copy{position:relative;z-index:1;width:38%;padding:45px 5% 50px 0}.signature{font-size:24px;letter-spacing:5px;line-height:1.2}.signature b{font-size:40px;letter-spacing:-1px}.dash{display:block;width:48px;height:6px;background:var(--orange);margin-bottom:16px}h1,h2,p{margin-top:0}h1{font-size:clamp(38px,4.7vw,68px);line-height:1.06;letter-spacing:-1.8px;margin-bottom:20px}.hero h1{color:var(--orange);font-size:clamp(50px,5.6vw,82px)}h2{font-size:34px;line-height:1.15;margin-bottom:10px}.button{display:inline-flex;justify-content:space-between;gap:22px;border:2px solid var(--orange);padding:13px 22px;margin-top:12px}.button:hover{background:var(--orange);color:var(--deep)}.button span,.text-link,.categories p span{color:var(--orange)}.section{max-width:1600px;margin:auto;padding:45px 4% 55px}.section-heading{display:flex;justify-content:space-between;align-items:center}.section-heading p{letter-spacing:1px}.categories{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.categories img{width:100%;height:310px;object-fit:cover;transition:filter .2s}.categories a:hover img{filter:brightness(1.15)}.categories p{display:flex;gap:12px;margin:10px 0}.categories p b{color:var(--orange)}.categories p span{margin-left:auto}.event-strip{display:flex;align-items:center;gap:30px;padding:26px 4%;background:#f3f1ed;color:var(--deep);border-left:16px solid var(--orange)}.event-strip .dash{margin:0;width:28px;height:4px}.event-strip strong{font-size:26px;letter-spacing:3px}.event-strip b{margin-left:auto}.intro{font-size:21px;letter-spacing:.5px;margin-bottom:30px}.filters{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:28px}.filters a{padding:9px 22px}.filters [aria-current],.filters a:hover{background:var(--orange);color:white}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.photo{border:0;background:none;padding:0;cursor:zoom-in;display:block;overflow:hidden}.photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}.gallery .photo{height:350px}.photo:hover img{transform:scale(1.025)}.after-gallery{display:inline-block;margin-top:40px;letter-spacing:2px}.biography{display:grid;grid-template-columns:1.3fr 1fr;gap:65px;align-items:start}.prose{line-height:1.9;white-space:normal;max-width:800px}.biography figure{margin:0}.biography img{width:100%}figcaption{font-size:13px;color:var(--muted);padding:12px 0}.event{display:grid;grid-template-columns:230px 1fr;gap:50px;padding:42px 0;border-top:1px solid #ffffff25;scroll-margin-top:30px}.event-date{display:flex;flex-direction:column;gap:8px;color:var(--muted)}.event-date strong{font-size:29px;color:var(--orange)}.event-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px}.event-photos img{height:230px}.contact{min-height:55vh;padding-top:90px}footer{border-top:1px solid #ffffff22;padding:40px 4%;display:flex;align-items:center;justify-content:space-between;gap:30px;background:var(--deep)}footer p{margin:0}footer small{color:var(--muted)}dialog{border:none;padding:40px;background:#00101cf5;max-width:96vw;width:96vw;height:94vh;color:white}dialog::backdrop{background:#000d}dialog[open]{display:flex;align-items:center;justify-content:center;gap:15px}dialog img{max-width:85%;max-height:100%;object-fit:contain}dialog button{border:0;background:transparent;color:white;font-size:30px;cursor:pointer}.close{position:absolute;right:12px;top:0}body:has(dialog[open]){overflow:hidden}/* Full-width canvas with consistent breathing room for content. */
main,header,footer,.section{width:100%;max-width:none;margin-inline:0}
header{padding:30px 6vw}
.section{padding:72px 6vw 80px}
.hero{min-height:clamp(580px,38vw,820px)}
.hero-copy{width:44%;padding:64px 6vw 64px 3vw}
.hero h1{max-width:620px}
.categories{gap:clamp(24px,2.2vw,56px)}
.categories img{height:auto;aspect-ratio:4/3}
.section-heading{gap:32px;margin-bottom:20px}
.event-strip{padding:34px 6vw;gap:32px}
footer{padding:52px 6vw}
.gallery{gap:clamp(20px,2vw,44px)}
@media(min-width:1800px){.hero h1{font-size:96px}.hero-copy>p:not(.signature){font-size:20px}.categories p{font-size:18px}.gallery .photo{height:clamp(350px,25vw,620px)}}
@media(max-width:800px){header{padding:19px 6%}.brand span{font-size:13px;letter-spacing:4px}.brand strong{font-size:24px}.brand:after{top:23px;width:30px}.menu{display:block;border:0;background:none;color:white;font-size:29px}nav{display:none;position:absolute;z-index:10;top:86px;left:0;right:0;background:var(--deep);padding:20px 6%;flex-direction:column;gap:5px}nav.open{display:flex}.hero{display:block;min-height:0}.hero>img{position:relative;height:340px;object-position:center}.hero:after{display:none}.hero-copy{width:100%;padding:25px 6% 35px}.signature{display:none}.hero h1{font-size:54px;max-width:330px}.hero .button{width:100%}.section{padding:35px 6%}.section-heading{display:block}.section-heading>.text-link{display:none}h1{font-size:39px}h2{font-size:28px}.categories{grid-template-columns:1fr;gap:22px}.categories img{height:300px}.event-strip{flex-wrap:wrap;gap:12px;padding:22px 6%}.event-strip b{width:100%;margin-left:0}.event-strip strong{font-size:22px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gallery .photo{height:220px}.intro{font-size:17px}.filters{gap:5px}.filters a{font-size:14px;padding:8px 12px}.biography,.event{grid-template-columns:1fr;gap:22px}.event-photos{grid-template-columns:repeat(2,1fr)}footer{flex-direction:column;align-items:flex-start}dialog{padding:35px 8px}dialog img{max-width:80%}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Contact: original portrait alongside a spacious, accessible form. */
.contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,7vw,160px);align-items:center;padding-block:80px 100px}
.contact-portrait{margin:0}.contact-portrait img{display:block;width:100%;height:auto}.contact-portrait figcaption{margin-top:8px}.contact-copy{max-width:720px;width:100%;padding-block:20px}.contact-copy h1{font-size:clamp(38px,4.2vw,64px)}.contact-form{margin-top:34px}.contact-form label{display:block;font-weight:600;margin-bottom:23px}.contact-form input,.contact-form textarea{display:block;width:100%;margin-top:9px;border:1px solid #93a8b6;background:#ffffff06;color:var(--white);border-radius:0;padding:15px 17px;font:inherit}.contact-form textarea{resize:vertical;min-height:170px}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--orange);outline-offset:2px}.contact-form button{background:transparent;color:var(--white);font:inherit;cursor:pointer;min-width:230px}.contact-form button:hover{background:var(--orange);color:var(--deep)}.contact-privacy{color:var(--muted);font-size:13px;line-height:1.6}.contact-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.contact-feedback{border-left:3px solid var(--orange);padding:16px 20px;background:#ffffff0b}.contact-feedback.error{color:#ffbfac}.contact-email{display:inline-block;margin-top:24px;text-decoration:underline;overflow-wrap:anywhere}
@media(max-width:800px){.contact-layout{grid-template-columns:1fr;gap:24px;padding-block:35px 55px}.contact-portrait{max-width:600px}.contact-copy{max-width:none;padding:12px 0}.contact-form{margin-top:25px}.contact-form button{width:100%}}

.photographer-label{font-size:14px;letter-spacing:1.2px;color:var(--muted);line-height:1.6}.hero-copy .photographer-label{font-size:14px}

.photo-detail>.text-link{display:inline-block;margin-bottom:35px}.photo-detail-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);gap:clamp(35px,6vw,120px);align-items:center}.photo-detail figure{margin:0}.photo-detail figure img{display:block;width:100%;max-height:80vh;object-fit:contain}.photo-detail h1{font-size:clamp(32px,3.5vw,58px);overflow-wrap:anywhere}.photo-detail .prose{margin-bottom:30px}.photo-copyright{color:var(--muted);font-size:14px}.photo-detail-link{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);font-size:14px;padding:8px 15px;background:var(--navy);white-space:nowrap}.photo-detail-link[hidden]{display:none}
@media(max-width:800px){.photo-detail-layout{grid-template-columns:1fr;gap:30px}.photo-detail-link{font-size:12px;padding:8px}}

.photo-detail .photo-only{margin:28px 0 0;text-align:center}.photo-detail .photo-only img{display:block;max-width:100%;max-height:82vh;width:auto;height:auto;margin:auto;object-fit:contain}

.biography img,.contact-portrait img{height:auto}

/* Keep the site wordmark consistent with the source design despite theme link colors. */
body.cwd-boucheny-template .cwd-boucheny-site a.brand{color:var(--white)!important}
