button,input,select,textarea{font:inherit}button{font-weight:inherit}svg{display:block;vertical-align:middle;flex-shrink:0}button{border-radius:0}dialog:not([open]),[hidden]{display:none!important}button{line-height:inherit}

:root{--paper:#f7f6f2;--ink:#222723;--muted:#6b7069;--line:#d9dcd3;--accent:#a8b6a0;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit}button:disabled{opacity:.65;cursor:wait}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #778b67;outline-offset:5px}::selection{background:#bec9b4;color:#181e18}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}h2{font:clamp(36px,4.3vw,62px)/1.12 var(--serif);letter-spacing:-1.8px}h2 em{font-weight:400}img{display:block;max-width:100%}.section-width{width:min(1280px,calc(100% - 112px));margin-inline:auto}.eyebrow{font-size:10px;letter-spacing:2.1px;font-weight:600;line-height:1.5;margin-bottom:27px}.eyebrow.light{color:#dddcd4}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:52px;padding:15px 22px;font-size:12px;font-weight:500;border:1px solid transparent;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-cream{background:#eeede5;color:#242822}.button-cream:hover{background:#fff}.button-dark{background:#242b25;color:white}.button-dark:hover{background:#3d4a3b}.button-outline{border-color:#8e9188;color:#fff;background:transparent}.button-outline:hover{background:#ffffff14}.text-link{display:inline-flex;gap:25px;align-items:center;border:0;border-bottom:1px solid #9ca296;background:transparent;padding:0 0 8px;font-size:12px;line-height:1.5}.text-link:hover{color:#5a7152}.skip-link{position:fixed;top:-100px;left:16px;background:var(--paper);padding:12px;z-index:200}.skip-link:focus{top:12px}.site-header{position:sticky;top:0;z-index:40;background:rgba(247,246,242,.97);backdrop-filter:blur(12px);border-bottom:1px solid #dedfd8}.header-inner{max-width:1440px;height:96px;margin:auto;padding:0 56px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:inline-flex;align-items:center;gap:20px;white-space:nowrap}.monogram{font:43px/.9 var(--serif);letter-spacing:-5px;padding-right:7px}.monogram>span{color:#8f9d82}.brand-name{border-left:1px solid #c2c8bc;padding-left:20px;font-size:10px;letter-spacing:1.6px;font-weight:600;line-height:1.4}.brand-name small{display:block;font-size:8px;letter-spacing:3.5px;margin-top:6px;color:#6c7466}.nav{display:flex;align-items:center;gap:32px;font-size:11px}.nav>a:not(.nav-cta){position:relative}.nav>a:not(.nav-cta):after{content:'';position:absolute;left:0;bottom:-5px;right:100%;height:1px;background:#65705c;transition:right .2s}.nav>a:hover:after{right:0}.nav-cta{display:flex;align-items:center;gap:22px;border:1px solid #b6bcaf;padding:11px 17px;margin-left:7px}.nav-cta:hover{background:#e8ebe2}.menu-toggle{display:none;background:none;border:0;padding:10px}.hero{min-height:700px;height:calc(100svh - 96px);max-height:850px;position:relative;background:#20241f;color:#f8f7f1;overflow:hidden}.hero-image{position:absolute;width:100%;height:100%;object-fit:cover;object-position:75% 57%;filter:grayscale(1);opacity:.78}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,23,19,.94) 0%,rgba(17,23,19,.76) 25%,rgba(17,23,19,.2) 66%,rgba(17,23,19,.08)),linear-gradient(0deg,rgba(17,23,19,.75),transparent 25%)}.hero-content{position:relative;padding:65px 0 106px;width:min(1280px,calc(100% - 112px));margin:auto}.hero .eyebrow{display:flex;align-items:center;gap:11px;margin-bottom:25px;font-size:9px;letter-spacing:2.4px}.hero .eyebrow span{height:5px;width:5px;background:#c9d1bf;border-radius:50%}.hero h1{font:clamp(65px,7vw,100px)/.99 var(--serif);letter-spacing:-4px}.hero h1 em{color:#c5ceb9;font-weight:400}.hero-description{color:#deded7;font-size:12px;line-height:1.85;margin:28px 0 26px}.hero-bottom{position:absolute;left:56px;right:56px;bottom:24px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:8px;letter-spacing:1.6px;color:#dedfd8}.hero-bottom>span:first-child,.hero-bottom>a{display:flex;align-items:center;gap:9px}.hero-note{font-size:8px;letter-spacing:.3px;opacity:.75}.hero-side{position:absolute;right:23px;top:45%;writing-mode:vertical-rl;font-size:8px;letter-spacing:2.7px;color:#c9cec5}.intro{display:grid;grid-template-columns:1fr 2fr;gap:70px;padding-block:103px 100px;border-bottom:1px solid var(--line)}.intro .eyebrow{padding-top:12px}.intro h2{font-size:clamp(35px,3.9vw,52px)}.intro h2 span{color:#747d6e}.intro p:not(.eyebrow){font-size:13px;max-width:620px;line-height:1.9;margin-top:26px;color:var(--muted)}.portfolio{padding-block:96px 94px}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-bottom:32px}.section-heading>.eyebrow{margin-bottom:25px}.section-heading>p,.portfolio-aside>p{color:var(--muted);font-size:12px;line-height:1.8}.portfolio-aside{min-width:250px}.filters{display:flex;gap:26px;margin-top:27px}.filters button{position:relative;padding:6px 0 10px;font-size:11px;border:0;border-bottom:1px solid transparent;background:none;color:#777c72;min-width:35px;text-align:left}.filters button.selected{color:#242b25;border-bottom-color:#242b25}.filters button span{display:inline-block;width:4px;height:4px;border-radius:50%;background:#242b25;margin-left:9px;vertical-align:middle}.illustration-note{font-size:10px;color:#747b6c;margin-bottom:18px}.photo-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:28px;row-gap:37px}.photo-card{background:none;border:0;padding:0;text-align:left;min-width:0}.photo-wrap{position:relative;overflow:hidden;background:#dadcd4;aspect-ratio:1.4}.photo-wrap img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:transform .6s,filter .6s}.photo-card:hover img{transform:scale(1.035);filter:grayscale(.15)}.photo-card:nth-child(2) .photo-wrap img{object-position:65% center}.photo-category{position:absolute;left:20px;top:20px;font-size:8px;letter-spacing:1.4px;text-transform:uppercase;background:#f4f3ead9;padding:5px 9px;color:#242b25}.photo-expand{position:absolute;bottom:18px;right:18px;background:#f4f3ea;border-radius:50%;width:37px;height:37px;display:grid;place-items:center;opacity:0;transform:translateY(5px);transition:all .2s}.photo-card:hover .photo-expand,.photo-card:focus-visible .photo-expand{opacity:1;transform:translateY(0)}.photo-caption{padding-top:15px;display:flex;justify-content:space-between;align-items:center;gap:10px}.photo-caption h3{font-family:var(--serif);font-size:21px;line-height:1.3}.photo-caption>span{font-size:9px;color:var(--muted)}.center{text-align:center;margin-top:40px}.services{background:#eeeee7;padding:96px 0 55px}.service-list{margin-top:53px}.service-row{display:grid;grid-template-columns:46px 1fr 1fr 48px;gap:30px;border-top:1px solid #cfd3c7;padding:35px 0;align-items:center}.service-number{font-size:10px;color:#7b8373;align-self:start;margin-top:7px}.service-title h3{font-family:var(--serif);font-size:29px;letter-spacing:-.7px;line-height:1.3}.service-title p{font-size:10px;color:#737a6e;margin-top:8px}.service-description>p{font-size:12px;line-height:1.8;color:#61685c}.service-description small{display:block;margin-top:12px;font-size:9px;color:#747c6b}.circle-link{width:45px;height:45px;border:1px solid #abb4a0;border-radius:50%;display:grid;place-items:center;transition:background .2s}.circle-link:hover{background:#dce2d4}.service-footer{border-top:1px solid #cfd3c7;padding-top:30px;display:flex;justify-content:space-between;gap:25px}.service-footer>span{font-size:10px;color:#6f7866}.about{padding-block:110px;display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.about-photo{position:relative;height:570px;overflow:hidden;background:#242723}.about-photo img{height:100%;width:100%;object-fit:cover;object-position:65% center;filter:grayscale(1)}.about-photo>span{position:absolute;bottom:25px;left:25px;right:25px;color:#d4d8cf;font-size:8px;letter-spacing:2px}.about-copy .eyebrow{margin-bottom:28px}.about-copy h2{font-size:61px}.about-lead{font-size:18px;font-family:var(--serif);line-height:1.6;margin:26px 0 18px}.about-copy>p:not(.eyebrow):not(.about-lead){font-size:12px;line-height:1.9;color:var(--muted);margin-bottom:17px;max-width:440px}.signature{font:italic 37px var(--serif);color:#718163;margin:24px 0 27px}.process{border-top:1px solid var(--line);padding-block:82px 105px}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:39px;margin-top:50px}.process-grid article{border-top:1px solid #bfc8b7;padding-top:17px}.process-grid article>span{font-size:10px;color:#7d8875}.process-grid h3{font:24px var(--serif);margin:24px 0 12px}.process-grid p{font-size:12px;color:var(--muted);line-height:1.8}.quote-band{height:440px;position:relative;color:#f1f0e8;background:#202320;overflow:hidden}.quote-band img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:70% 48%;opacity:.4;filter:grayscale(1)}.quote-band:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#202621d9,#20262100)}.quote-band>div{position:relative;z-index:1;width:min(1280px,calc(100% - 112px));margin:auto;padding-top:63px}.quote{font:64px/1.12 var(--serif);letter-spacing:-2px;margin-bottom:30px}.quote em{color:#c7d1bd}.quote-band .eyebrow{margin-bottom:20px}.faq{padding-block:100px;display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.faq-item{border-bottom:1px solid var(--line)}.faq-item:first-child{border-top:1px solid var(--line)}.faq h3 button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:20px;background:none;border:0;text-align:left;padding:21px 0;font-size:12px;font-weight:500}.faq h3 svg{flex-shrink:0}.faq-item p{padding:0 30px 24px 0;font-size:12px;color:var(--muted);line-height:1.9}.contact{background:#252d27;color:var(--paper);padding:93px 0}.contact-inner{display:grid;grid-template-columns:.95fr 1.05fr;gap:90px;align-items:start}.contact h2{font-size:clamp(51px,5.5vw,78px);letter-spacing:-2.5px}.contact h2 em{color:#c3cdb8}.contact-intro>p:not(.eyebrow){font-size:12px;color:#bcc4b6;line-height:1.9;margin-top:30px}.location{display:flex;gap:12px;margin-top:48px;align-items:flex-start;color:#d2d9c9}.location strong{font-size:11px;font-weight:400;display:block;margin-bottom:5px}.location span{display:block;font-size:10px;color:#a8b3a2}.contact-intro .contact-note{font-size:10px!important;margin-top:42px!important}.form-panel{background:var(--paper);color:var(--ink);padding:36px}.form-panel h3{font:29px/1.2 var(--serif);letter-spacing:-.5px}.form-hint{font-size:10px;color:#70776a;margin:10px 0 27px}.form-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:20px;row-gap:20px}.form-grid label{display:flex;flex-direction:column;gap:7px;font-size:10px;font-weight:500;min-width:0}.form-grid label.full{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{width:100%;min-width:0;border:0;border-bottom:1px solid #cbd1c3;border-radius:0;color:#2d352b;background:transparent;padding:8px 0 11px;outline-offset:2px;font-size:11px;line-height:1.5}.form-grid input::placeholder,.form-grid textarea::placeholder{color:#8a9083}.form-grid select{height:37px}.form-grid textarea{resize:vertical;min-height:90px}.form-grid input[type=date]{min-height:37px}.consent{display:flex;gap:10px;align-items:flex-start;margin:23px 0;font-size:9px;line-height:1.65;color:#656e5d}.consent input{width:14px;height:14px;margin:2px 0 0;flex-shrink:0;accent-color:#4e6344}.consent a{text-decoration:underline}.submit{width:100%;font-size:11px}.form-footnote{text-align:center;color:#7d8674;font-size:8px;margin-top:12px}.honey{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.form-error{font-size:12px;color:#9b332b;background:#f6e6e1;padding:10px;margin-bottom:16px}.form-success{padding:55px 0;min-height:540px;display:flex;align-items:flex-start;justify-content:center;flex-direction:column;gap:24px}.success-icon{border:1px solid #b7c6ac;border-radius:50%;width:65px;height:65px;display:grid;place-items:center;color:#586d4b}.form-success h3{font-size:43px}.form-success .eyebrow{margin:0}.form-success>p:not(.eyebrow){font-size:13px;color:var(--muted)}.form-success .reference{font-size:10px!important}.footer{padding-block:44px 25px}.footer-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:36px;gap:30px}.footer-top>p{font:italic 18px var(--serif);color:#767d6d}.back-top{display:grid;place-items:center;border:1px solid #b7c0ad;width:40px;height:40px}.footer-bottom{padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:8px;color:#7d8474}.footer-bottom>div{display:flex;gap:22px;flex-wrap:wrap}.footer-bottom a:hover{text-decoration:underline}.lightbox{border:0;background:#171c18;color:#f7f6ef;width:100vw;max-width:100vw;height:100svh;max-height:100svh;position:fixed;padding:55px 7vw 30px;margin:0}.lightbox::backdrop{background:#171c18f5}.lightbox-close{position:absolute;right:28px;top:20px;padding:10px;border:0;background:none;color:#f7f6ef;z-index:3}.lightbox-inner{height:100%;display:flex;flex-direction:column;justify-content:center;gap:22px}.lightbox-inner>img{min-height:0;max-height:calc(100svh - 190px);height:100%;width:100%;object-fit:contain}.lightbox-info{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-shrink:0}.lightbox-info h3{font:27px var(--serif)}.lightbox-info p{font-size:11px;color:#b5c0ac;margin:5px 0}.lightbox-info small{font-size:9px;color:#919d86}.lightbox-controls{display:flex;align-items:center;gap:20px;font-size:10px}.lightbox-controls button{display:grid;place-items:center;background:none;border:1px solid #7a8572;width:44px;height:44px}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
/* Content pages and private inbox */
.simple-header{padding:28px 40px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:24px}.simple-header>a{font-size:12px}.prose-page{max-width:800px;margin:70px auto 100px;padding:0 25px}.prose-page h1,.admin h1{font:52px/1.1 var(--serif);letter-spacing:-1.5px;margin:18px 0 30px}.prose-page h2{font-size:28px;letter-spacing:-.5px;margin:30px 0 14px}.prose-page p,.prose-page li{font-size:14px;line-height:1.8;color:#646e5e;margin-bottom:15px}.prose-page a{text-decoration:underline}.prose-page ul{padding-left:20px;list-style:disc}.notice{border-left:3px solid #a5b296;background:#edf0e8;padding:18px 24px}.admin{max-width:1140px;padding:55px 30px 90px;margin:auto}.admin-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:25px}.admin-intro p{font-size:13px;color:var(--muted)}.inbox-tools{display:flex;justify-content:space-between;align-items:center;margin:35px 0 25px;gap:20px;flex-wrap:wrap}.inbox-tools select,.inbox-tools input{background:transparent;border:1px solid var(--line);padding:10px;font-size:12px}.inbox-tools>div{display:flex;gap:10px}.inbox-card{padding:26px;border:1px solid var(--line);margin-top:16px;background:#fcfcf8}.inbox-card-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.inbox-card h2{font-size:28px}.inbox-card small{color:var(--muted);font-size:10px}.badge{font-size:10px;background:#e6ecdf;padding:5px 12px;border-radius:30px}.inbox-meta{display:flex;gap:20px;flex-wrap:wrap;font-size:12px;margin:17px 0;color:#66725c}.inbox-meta a{text-decoration:underline}.inbox-message{white-space:pre-wrap;font-size:13px;color:#505c47;border-top:1px solid var(--line);padding-top:18px}.inbox-actions{display:flex;gap:15px;justify-content:flex-end;margin-top:22px;align-items:center}.inbox-actions button,.inbox-actions a{font-size:11px;background:none;border:1px solid #bdc7b5;padding:8px 13px}.inbox-actions .danger{color:#a15547}.empty-state{border:1px dashed #bcc5b4;padding:60px 20px;text-align:center;color:var(--muted)}.admin-error{color:#982a20;padding:18px;background:#f3e5df;margin:15px 0}
@media(min-width:1600px){.header-inner{max-width:1440px}.hero-content{padding-top:90px}}@media(max-width:1100px){.section-width{width:calc(100% - 72px)}.header-inner{padding:0 36px}.brand{gap:13px}.brand-name{padding-left:13px;font-size:9px}.nav{gap:20px}.nav-cta{gap:15px}.hero-content{width:calc(100% - 72px)}.hero-bottom{left:36px;right:36px}.hero h1{font-size:90px}.photo-caption{display:block}.photo-caption>span{display:block;margin-top:5px}.about{gap:55px}.service-row{gap:20px;grid-template-columns:30px 1fr 1.2fr 45px}.service-title h3{font-size:26px}.about-photo{height:530px}.about-copy h2{font-size:52px}.contact-inner{gap:45px}.form-panel{padding:27px}.quote-band>div{width:calc(100% - 72px)}.process-grid{gap:25px}.faq{gap:45px}}
@media(max-width:800px){html{scroll-padding-top:85px}.header-inner{height:78px;padding:0 25px}.brand-name{font-size:9px}.monogram{font-size:38px}.nav{display:none;position:absolute;left:0;right:0;top:78px;background:var(--paper);padding:28px;box-shadow:0 20px 35px #0001;border-top:1px solid var(--line)}.nav.open{display:flex;flex-direction:column;align-items:stretch;font-size:14px;gap:24px}.nav-cta{margin:0;justify-content:space-between}.menu-toggle{display:block}.section-width{width:calc(100% - 50px)}.hero{min-height:650px;height:calc(100svh - 78px);max-height:850px}.hero-content{width:calc(100% - 50px);padding-top:68px}.hero h1{font-size:clamp(65px,12vw,90px)}.hero-image{object-position:65% center}.hero-shade{background:linear-gradient(90deg,#172019dc,#17201935),linear-gradient(0deg,#172019bb,transparent 30%)}.hero-side{display:none}.hero-bottom{left:25px;right:25px;flex-wrap:wrap}.hero-note{width:100%;margin-top:3px;font-size:7px}.hero-bottom>a{margin-left:auto}.intro{padding-block:65px;grid-template-columns:1fr;gap:5px}.intro .eyebrow{padding:0}.intro h2{font-size:42px}.intro p:not(.eyebrow){font-size:13px}.section-heading{align-items:flex-start;flex-direction:column;gap:23px}.portfolio{padding-block:65px}.portfolio-aside{display:flex;align-items:flex-end;justify-content:space-between;width:100%;gap:20px}.portfolio-aside>p{font-size:11px}.filters{margin:0}.photo-grid{column-gap:18px;row-gap:28px}.photo-wrap{aspect-ratio:1}.photo-caption h3{font-size:21px}.photo-caption>span{font-size:8px}.photo-category{left:12px;top:12px}.services{padding-block:65px 40px}.service-list{margin-top:35px}.service-row{grid-template-columns:30px 1fr 40px;padding:27px 0;gap:10px 15px}.service-description{grid-column:2;grid-row:2}.service-description small{line-height:1.7}.circle-link{grid-column:3;grid-row:1}.service-title h3{font-size:28px}.service-footer{flex-direction:column;align-items:flex-start;gap:22px}.about{padding-block:70px;gap:38px;grid-template-columns:1fr 1fr}.about-photo{height:490px}.about-copy h2{font-size:42px}.about-copy .eyebrow{font-size:9px;letter-spacing:1.2px}.about-lead{font-size:16px}.about-copy>p:not(.eyebrow):not(.about-lead){font-size:11px}.process{padding-block:65px}.process-grid{grid-template-columns:1fr 1fr;gap:35px}.quote-band>div{width:calc(100% - 50px)}.quote{font-size:58px}.faq{padding-block:65px;grid-template-columns:1fr;gap:35px}.contact{padding-block:65px}.contact-inner{grid-template-columns:1fr;gap:40px}.contact h2{font-size:66px}.contact h2 br:nth-child(2){display:none}.contact-intro .contact-note{display:none}.location{margin-top:25px}.form-panel{padding:35px}.footer-top{flex-wrap:wrap;gap:25px}.footer-top>p{order:3;width:100%;font-size:16px}.footer-bottom{flex-direction:column;font-size:9px}.back-top{margin-left:auto}.footer-bottom>div{gap:18px}.lightbox{padding-inline:20px}.lightbox-info{align-items:flex-start}.lightbox-controls{gap:10px}.lightbox-info h3{font-size:22px}.hero .eyebrow{font-size:8px}.intro p br{display:none}}
@media(max-width:540px){.hero{min-height:630px}.hero-content{padding-top:55px}.hero h1{font-size:72px;letter-spacing:-3px}.hero-description{font-size:11px;max-width:280px}.desktop-break{display:none}.hero .button{margin-top:8px;font-size:11px}.hero-image{object-position:62% center;opacity:.65}.hero-shade{background:linear-gradient(90deg,#172019d9,#17201945),linear-gradient(0deg,#172019c7,transparent 38%)}.hero-bottom{font-size:7px;letter-spacing:1px}.hero-bottom>a{font-size:7px}.eyebrow{font-size:9px;letter-spacing:1.7px;margin-bottom:20px}h2{font-size:39px}.intro h2{font-size:37px}.portfolio-aside{display:block}.portfolio-aside>p{margin-bottom:17px}.filters{gap:29px}.illustration-note{font-size:9px;line-height:1.7}.photo-grid{grid-template-columns:1fr;row-gap:28px}.photo-wrap{aspect-ratio:1.18}.photo-caption{display:flex;flex-wrap:wrap;gap:1px}.photo-caption>span{width:100%;font-size:9px}.photo-expand{opacity:1;transform:none;width:32px;height:32px}.service-title h3{font-size:25px}.service-row{grid-template-columns:22px 1fr 38px;gap:13px}.circle-link{width:36px;height:36px}.service-description>p{font-size:11px}.service-description{grid-column:2/4}.service-description small{font-size:9px}.about{grid-template-columns:1fr;gap:35px}.about-photo{height:420px}.about-copy h2{font-size:54px}.about-copy>p:not(.eyebrow):not(.about-lead){font-size:13px}.about-lead{font-size:19px}.about-copy .eyebrow{font-size:9px}.process-grid{gap:30px 22px}.process-grid p{font-size:11px}.process-grid h3{font-size:23px}.quote-band{height:410px}.quote{font-size:55px}.quote-band .eyebrow{font-size:8px;letter-spacing:1.2px}.faq h3 button{font-size:12px}.contact h2{font-size:58px}.contact h2 br:nth-child(2){display:initial}.form-panel{padding:26px 22px}.form-panel h3{font-size:26px}.form-grid{grid-template-columns:1fr;gap:19px}.form-grid input,.form-grid select,.form-grid textarea{font-size:16px;line-height:1.4}.form-grid label{font-size:11px}.consent{font-size:10px}.form-footnote{font-size:9px}.form-success{min-height:450px}.lightbox-info{flex-direction:column;gap:15px}.lightbox-inner>img{max-height:calc(100svh - 260px)}.lightbox-info h3{font-size:25px}.lightbox-controls{align-self:flex-end}.simple-header{padding:20px}.prose-page h1,.admin h1{font-size:42px}.admin{padding:35px 20px}.admin-intro{display:block}.inbox-tools>div{flex-wrap:wrap}.inbox-card{padding:18px}.inbox-card-top{align-items:flex-start}.inbox-card h2{font-size:23px}.inbox-actions{justify-content:flex-start;flex-wrap:wrap}.form-panel .submit{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

.form-space{margin-top:25px}.small-note{font-size:11px;color:var(--muted);margin:18px 0;line-height:1.7}.setup-form{max-width:560px}.admin-nav,.search-form{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.admin-nav button{font-size:12px}.search-form .button{min-height:40px;padding:9px 15px}.inbox-actions form{margin:0}.pagination{display:flex;justify-content:center;align-items:center;gap:25px;margin-top:35px;font-size:12px}.pagination a{text-decoration:underline}.no-js .filters,.no-js #gallery-more,.no-js .menu-toggle{display:none}.no-js .faq-item [hidden]{display:block!important}.no-js .photo-card{cursor:default}.inbox-card-top{display:flex;justify-content:space-between;gap:18px}.inbox-card .small-note{margin-bottom:0}@media(max-width:800px){.no-js .nav{display:flex;position:static;flex-wrap:wrap;padding:0;box-shadow:none;border:0}.no-js .header-inner{height:auto;min-height:100px;padding-block:20px;flex-direction:column}.no-js .nav-cta{display:none}.admin-nav{margin-top:20px}}
/* Pages de prestations : même identité, lecture confortable et contenu rendu en HTML. */
.hero h1{font-size:clamp(48px,6.3vw,88px);letter-spacing:-2.5px;line-height:1.04}
.photo-wrap picture,.about-photo picture{display:block;width:100%;height:100%}
.local-context{padding-block:75px;border-top:1px solid var(--line)}.local-context>p:not(.eyebrow){max-width:780px;color:var(--muted);margin-top:22px;font-size:14px}
.content-links{display:flex;flex-wrap:wrap;gap:14px 24px;margin-top:28px;font-size:12px}.content-links a{border-bottom:1px solid var(--line);padding-bottom:5px}.content-links a:hover{color:#52684a}
.public-contact{font-size:12px;padding-block:25px;border-top:1px solid var(--line);color:var(--muted)}.public-contact p+p{margin-top:10px}.public-contact a{text-decoration:underline;text-underline-offset:3px}
.breadcrumbs{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;color:var(--muted);padding-block:25px}.breadcrumbs a{text-decoration:underline}
.detail-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:65px;align-items:center;padding-block:35px 65px;border-bottom:1px solid var(--line)}
.detail-hero h1{font:clamp(42px,4.6vw,68px)/1.08 var(--serif);letter-spacing:-1.8px}.detail-lead{font-size:15px;line-height:1.85;color:var(--muted);margin-block:25px}.detail-hero figure{margin:0}.detail-hero picture{display:block}.detail-hero img{width:100%;height:auto;aspect-ratio:4/4.5;object-fit:cover;filter:grayscale(1)}.detail-hero figcaption{font-size:10px;color:var(--muted);margin-top:12px}
.detail-body{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,1fr);gap:85px;padding-top:50px}.detail-body article>section{margin-bottom:44px}.detail-body h2{font:32px/1.2 var(--serif);letter-spacing:-.5px;margin-bottom:18px}.detail-body p,.detail-body li{font-size:14px;line-height:1.85;color:#555e52}.detail-body ul{padding-left:20px}.detail-body li{margin-block:8px}.detail-aside{align-self:start;padding:30px;background:#edeee7}.detail-aside h2{font-size:28px}.detail-aside .text-link{margin-top:24px}.detail-aside .content-links{flex-direction:column;gap:17px}.detail-faq details{border-bottom:1px solid var(--line);padding-block:17px}.detail-faq summary{font-size:14px;cursor:pointer;font-weight:600}.detail-faq details p{margin-top:15px}.detail-end{display:flex;justify-content:space-between;align-items:center;gap:30px;border-block:1px solid var(--line);padding-block:40px;margin-block:20px 40px}.detail-end h2{font-size:36px;max-width:560px}.detail-footer{padding-bottom:30px}.detail-footer>p{font-size:11px;color:var(--muted)}
@media(max-width:800px){.detail-hero{gap:30px}.detail-body{grid-template-columns:1fr;gap:20px}.detail-aside{margin-bottom:30px}.detail-end{align-items:flex-start;flex-direction:column}.hero h1{font-size:clamp(45px,9.4vw,72px)}}
@media(max-width:540px){.detail-hero{grid-template-columns:1fr;padding-top:15px}.detail-hero img{aspect-ratio:4/3}.detail-hero h1{font-size:43px}.detail-body h2{font-size:29px}.hero h1{font-size:clamp(39px,9.4vw,51px);letter-spacing:-1.5px}.local-context{padding-block:55px}.simple-header .brand-name{font-size:8px;letter-spacing:1px;padding-left:12px}.simple-header .brand{gap:12px}.simple-header>a:last-child{font-size:10px}}
/* Photographies personnelles et offre collectivités. */
.hero-image,.photo-wrap img,.about-photo img,.quote-band img,.detail-hero img{filter:none}
.photo-card:hover img{filter:none}
.hero-image{object-position:65% 62%;opacity:.9}
.photo-wrap{aspect-ratio:3/2}
.photo-card:nth-child(2) .photo-wrap img{object-position:center}
.portfolio-note{font-size:11px;color:var(--muted);margin-bottom:20px}
.filters{flex-wrap:wrap;gap:15px 24px}
.nav{gap:24px}
.municipalities{padding-block:90px;background:#e9ece4}
.municipal-layout{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}
.municipal-layout figure{margin:0}.municipal-layout picture{display:block}
.municipal-layout img{width:100%;height:auto;display:block}
.municipal-layout figcaption{font-size:10px;color:#626c5c;margin-top:12px}
.municipal-copy h2{font-size:clamp(36px,4vw,58px);letter-spacing:-1.5px}
.municipal-copy>p:not(.eyebrow){font-size:13px;line-height:1.85;color:#56614f;margin-top:25px}
.municipal-copy ul{list-style:none;padding:0;margin:25px 0}
.municipal-copy li{border-top:1px solid #cbd2c4;padding-block:13px}
.municipal-copy li strong{display:block;font-size:12px;font-weight:600}
.municipal-copy li span{display:block;font-size:12px;line-height:1.75;color:#5c6556;margin-top:4px}
.municipal-actions{display:flex;flex-wrap:wrap;gap:22px;align-items:center}
.detail-hero img{aspect-ratio:auto;height:auto;object-fit:contain}
.detail-selection{padding-block:30px 45px}.detail-selection h2{font-size:38px;margin-bottom:30px}
.detail-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.detail-photo-grid figure{margin:0}.detail-photo-grid img{width:100%;height:auto}.detail-photo-grid figcaption{font-size:10px;color:var(--muted);margin-top:12px}
@media(max-width:1000px){.municipal-layout{gap:35px}.nav{gap:17px}.nav-cta{gap:10px;padding-inline:12px}}
@media(max-width:800px){.municipalities{padding-block:60px}.municipal-layout{grid-template-columns:1fr;gap:35px}.municipal-layout figure{max-width:700px}.municipal-copy h2{font-size:45px}.municipal-copy .eyebrow{margin-bottom:22px}.portfolio-aside{align-items:flex-start;flex-wrap:wrap}}
@media(max-width:540px){.municipal-copy h2{font-size:39px}.municipal-actions{align-items:flex-start;flex-direction:column}.detail-photo-grid{grid-template-columns:1fr}.detail-selection h2{font-size:32px}.hero-image{object-position:64% 64%}}
/* Galeries et administration photographique. */
.gallery-nav{display:flex;flex-wrap:wrap;gap:16px 30px;padding-block:18px;border-bottom:1px solid var(--line);font-size:12px}
.gallery-page{padding-block:55px 85px}.gallery-page h1{font:clamp(40px,5.5vw,72px)/1.08 var(--serif);letter-spacing:-2px;margin-bottom:25px;overflow-wrap:anywhere}.gallery-intro{font-size:15px;color:var(--muted);margin:20px 0 32px}.gallery-description{max-width:800px;line-height:1.9;margin-bottom:28px}
.gallery-filters{display:flex;align-items:end;flex-wrap:wrap;gap:16px;padding:24px;background:#eeeee7;margin-block:28px}.gallery-filters label,.gallery-admin label{display:flex;flex-direction:column;gap:7px;font-size:12px}.gallery-filters input,.gallery-filters select,.gallery-admin input:not([type=checkbox]),.gallery-admin select,.gallery-admin textarea{width:100%;min-width:0;padding:11px;border:1px solid #c5cebf;border-radius:0;background:#fff;color:var(--ink);font-size:14px}.gallery-filters label:first-child{flex:1;min-width:180px}.gallery-filters button{min-height:44px}.gallery-filters>a{font-size:12px;padding:10px}
.gallery-albums{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 24px;margin-top:25px}.gallery-cover{aspect-ratio:3/2;background:#e2e6dc;overflow:hidden;display:grid;place-items:center}.gallery-cover img{width:100%;height:100%;object-fit:cover}.gallery-album-card h2{font-size:29px;letter-spacing:-.7px;margin-bottom:10px}.gallery-album-card>.eyebrow{margin:18px 0 10px;font-size:9px}.gallery-album-card>p:last-child{color:var(--muted);font-size:12px}.gallery-album-card:hover h2{text-decoration:underline}
.album-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:30px 22px;margin-block:35px}.album-photos figure{margin:0}.album-photos img{width:100%;height:auto;display:block}.album-photos figcaption{font-size:12px;padding-top:12px;line-height:1.8}.album-photos figcaption>*{display:block}.album-photos figcaption a{margin-top:7px;text-decoration:underline}.gallery-actions{display:flex;flex-wrap:wrap;align-items:center;gap:15px;margin:25px 0}.gallery-actions button,.category-row button{background:transparent;border:1px solid #b7c3b1;padding:9px 12px;font-size:12px}.gallery-album-form{max-width:900px}.gallery-upload{margin-top:40px}.gallery-upload h2{font-size:32px}.gallery-upload p{margin-block:18px}.gallery-upload label{margin:25px 0}.gallery-upload [type=file]{padding:18px}.gallery-upload progress{width:100%;height:18px;accent-color:#667a56}.upload-results{font-size:12px;max-height:300px;overflow:auto;list-style:none;padding:0}.upload-results li{padding:8px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.admin-photo-list article{background:#eeeee7}.admin-photo-list form{padding:18px}.admin-photo-list label{margin:12px 0}.admin-photo-list img{aspect-ratio:3/2;object-fit:contain;background:#222723}.gallery-danger{padding:20px 0;border-top:1px solid #cbbeb6;color:#833c34;font-size:12px;margin-top:20px}.gallery-danger label,.gallery-admin label.consent{flex-direction:row;align-items:start;gap:10px;margin-block:18px}.gallery-danger button{padding:12px}.gallery-settings{padding:26px 0;border-top:1px solid var(--line);margin-top:35px}.gallery-settings summary{font:25px var(--serif);cursor:pointer}.gallery-settings p{max-width:800px;line-height:1.9;margin-block:20px}.category-row{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid var(--line)}.gallery-admin-albums>a{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line)}.gallery-admin-albums h2{font-size:30px}.gallery-admin-albums .eyebrow{margin-bottom:10px}.gallery-admin-albums p{color:var(--muted);font-size:12px}.gallery-admin-albums span{white-space:nowrap;font-size:12px}.gallery-callout{border-top:1px solid var(--line);margin-top:35px;padding-top:25px;display:flex;align-items:center;justify-content:space-between;gap:25px}.gallery-callout h3{font:29px var(--serif)}.gallery-callout p{font-size:12px;color:var(--muted);margin-top:8px}
@media(max-width:1000px){.gallery-albums,.album-photos{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.gallery-albums,.album-photos{grid-template-columns:1fr}.gallery-filters{padding:18px}.gallery-filters label{width:100%}.gallery-page{padding-block:35px 60px}.gallery-callout{flex-direction:column;align-items:start}.gallery-admin-albums>a{align-items:start;flex-direction:column}.gallery-admin input,.gallery-admin select,.gallery-admin textarea{font-size:16px!important}}
@media(min-width:801px) and (max-width:1200px){.site-header .brand-name{font-size:8px;letter-spacing:1px}.site-header .nav{gap:14px;font-size:10px}.site-header .nav-cta{padding-inline:10px;gap:10px}.header-inner{padding-inline:25px}}
@media(min-width:801px) and (max-width:1100px){.site-header .nav{display:none;position:absolute;left:0;right:0;top:96px;background:var(--paper);padding:28px;box-shadow:0 20px 35px #0001;border-top:1px solid var(--line)}.site-header .nav.open{display:flex;flex-direction:column;align-items:stretch;font-size:14px;gap:24px}.nav-cta{margin:0;justify-content:space-between}.menu-toggle{display:block}}
