:root{--ink:#151714;--paper:#ebeae5;--paper2:#f3f1eb;--muted:#777970;--line:rgba(21,23,20,.2);--white:#f3f1eb}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--white);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%}em{font-family:Georgia,'Times New Roman',serif;font-weight:400}::selection{background:#b9bc96;color:var(--ink)}.skip-link{position:absolute;z-index:20;top:-4rem;left:1rem;padding:.8rem 1rem;background:var(--paper);color:var(--ink)}.skip-link:focus{top:1rem}.site-header{height:82px;padding:0 4.3vw;display:flex;align-items:center;justify-content:space-between;background:var(--ink);position:relative;z-index:5;border-bottom:1px solid rgba(255,255,255,.15)}.brand{font-size:19px;font-weight:700;letter-spacing:.11em;white-space:nowrap}.brand-dot{padding:0 .14em;color:#a5ad86}.navigation{display:flex;align-items:center;gap:clamp(1.5rem,3vw,4rem);font-size:12px;letter-spacing:.13em;text-transform:uppercase}.navigation a{transition:opacity .2s}.navigation a:hover{opacity:.6}.nav-contact{border-bottom:1px solid currentColor;padding-bottom:7px}.nav-contact span{margin-left:18px}.menu-button{display:none}.hero{display:grid;grid-template-columns:50% 50%;min-height:min(780px,calc(100svh - 82px))}.hero-copy{padding:clamp(3rem,6vw,7rem) 6vw 2.2rem 4.3vw;display:flex;flex-direction:column}.eyebrow{text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:.19em;line-height:1.5;color:#a9b292;margin:0 0 2.4rem}.hero h1{max-width:760px;font-size:clamp(4.2rem,7.5vw,9.7rem);font-weight:400;line-height:.94;letter-spacing:-.065em;margin:0 0 2.6rem}.hero h1 em{display:block;letter-spacing:-.075em}.hero-intro{max-width:420px;color:#c0c2ba;font-size:clamp(16px,1.3vw,19px);line-height:1.6;margin:0 0 2.8rem}.text-link{width:max-content;display:inline-flex;gap:3rem;align-items:center;font-size:12px;text-transform:uppercase;letter-spacing:.15em;border-bottom:1px solid var(--white);padding-bottom:.85rem;transition:gap .2s}.text-link:hover{gap:4rem}.text-link span{font-size:18px}.hero-index{display:flex;justify-content:space-between;align-items:end;margin-top:auto;padding-top:5rem;color:#858a80;font-size:10px;letter-spacing:.13em}.hero-visual{position:relative;min-height:650px;overflow:hidden}.hero-visual img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:center 38%}.hero-photo-caption{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;padding:1.3rem 1.5rem;background:linear-gradient(transparent,rgba(0,0,0,.46));color:white;font-size:11px;letter-spacing:.08em}.work-section{background:var(--paper);color:var(--ink);padding:clamp(5rem,8vw,9rem) 4.3vw clamp(5rem,8vw,9rem);scroll-margin-top:25px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:4rem}.eyebrow.dark{color:#657052}.section-head h2,.about-top h2,.contact-block h2{font-size:clamp(3.4rem,7vw,8.5rem);font-weight:400;line-height:.96;letter-spacing:-.065em;margin:0}.section-head>p{max-width:320px;font-size:15px;line-height:1.6;color:#5e625c;margin:0 0 .3rem}.work-controls{display:flex;gap:.6rem;overflow-x:auto;padding-bottom:1.6rem;margin-bottom:1.4rem;scrollbar-width:none}.work-controls::-webkit-scrollbar{display:none}.filter{border:1px solid #bbbcb4;background:transparent;color:var(--ink);padding:.8rem 1.25rem;border-radius:100px;white-space:nowrap;font-size:12px;letter-spacing:.03em;cursor:pointer;transition:background .2s,color .2s}.filter:hover,.filter.active{background:var(--ink);color:var(--paper)}.filter sup{font-size:9px;margin-left:4px}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.7rem,1.4vw,1.5rem);align-items:start}.photo-card{position:relative;display:block;width:100%;padding:0;border:0;background:#d7d7d1;overflow:hidden;cursor:zoom-in;aspect-ratio:4/3}.photo-card.tall{aspect-ratio:3/4}.photo-card[hidden]{display:none}.photo-card img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease,filter .4s}.photo-card:hover img{transform:scale(1.045);filter:brightness(.76)}.photo-meta{position:absolute;bottom:0;left:0;right:0;padding:2.5rem 1.3rem 1.25rem;display:flex;justify-content:space-between;gap:.5rem;color:#fff;text-align:left;font-size:11px;letter-spacing:.06em;background:linear-gradient(transparent,rgba(0,0,0,.57));opacity:0;transition:opacity .2s}.photo-card:hover .photo-meta,.photo-card:focus-visible .photo-meta{opacity:1}.project-notes{display:grid;grid-template-columns:1fr 1fr;gap:2rem;border-top:1px solid var(--line);margin-top:3.5rem}.project-notes a{display:flex;align-items:center;gap:1.5rem;padding:1.5rem 0;border-bottom:1px solid var(--line);font-family:Georgia,serif;font-size:clamp(1.3rem,2vw,2.2rem);transition:padding .2s}.project-notes a:hover{padding-left:.5rem}.project-notes a span:first-child{font-family:Arial,sans-serif;font-size:10px;color:#6d7664}.project-notes a span:last-child{font-family:Arial,sans-serif;font-size:18px;margin-left:auto}.about-section{padding:clamp(5rem,8vw,9rem) 4.3vw 1.3rem;scroll-margin-top:25px}.about-top{display:grid;grid-template-columns:1.2fr 1fr;gap:8vw;align-items:end;padding-bottom:clamp(5rem,8vw,9rem)}.about-top h2{max-width:850px}.about-copy{max-width:510px;padding-bottom:.2rem;color:#c0c2ba;font-size:clamp(17px,1.5vw,22px);line-height:1.55}.about-copy p{margin:0 0 1.2rem}.services{border-top:1px solid rgba(255,255,255,.18);padding:clamp(5rem,7vw,8rem) 0;display:grid;grid-template-columns:1fr 1.3fr;gap:9vw}.services-intro h3{font-size:clamp(3rem,5vw,6rem);line-height:1;letter-spacing:-.06em;font-weight:400;margin:0 0 1.4rem}.services-intro>p:last-child{max-width:350px;color:#adb1a8;line-height:1.6}.services-list>div{display:grid;grid-template-columns:3rem 1fr;column-gap:1.2rem;padding:1.5rem 0;border-top:1px solid rgba(255,255,255,.23)}.services-list>div:last-child{border-bottom:1px solid rgba(255,255,255,.23)}.services-list span{grid-row:span 2;font-size:11px;color:#9fa888;padding-top:.55rem}.services-list h4{font-family:Georgia,serif;font-size:clamp(1.5rem,2.4vw,2.6rem);font-weight:400;margin:0 0 .45rem}.services-list p{color:#aab0a7;font-size:14px;line-height:1.5;margin:0}.contact-block{background:#dce0d3;color:var(--ink);padding:clamp(4rem,7vw,8rem) clamp(2rem,6vw,8rem);text-align:center;scroll-margin-top:35px}.contact-block .eyebrow{color:#657052;margin-bottom:1.7rem}.contact-block h2{max-width:950px;margin:0 auto 2.5rem}.contact-cta{display:inline-flex;gap:3rem;align-items:center;background:var(--ink);color:var(--white);font-size:12px;letter-spacing:.13em;text-transform:uppercase;padding:1.3rem 1.6rem;transition:background .2s,transform .2s}.contact-cta:hover{background:#3d4a36;transform:translateY(-2px)}.contact-cta span{font-size:19px}.contact-block>p:last-child{font-size:12px;color:#677064;margin:1.3rem 0 0}footer{display:flex;gap:2rem;align-items:center;padding-top:2.1rem;color:#969d92;font-size:11px;letter-spacing:.07em}footer a{transition:color .2s}footer a:hover{color:var(--white)}footer a:nth-of-type(1){margin-left:auto}.lightbox{position:fixed;inset:0;z-index:30;background:rgba(15,16,14,.97);display:grid;grid-template-columns:70px 1fr 70px;align-items:center;color:white}.lightbox[hidden]{display:none}.lightbox figure{margin:0;min-width:0;display:flex;flex-direction:column;align-items:center}.lightbox figure img{max-height:calc(100dvh - 110px);max-width:100%;width:auto;object-fit:contain}.lightbox figcaption{width:min(100%,900px);display:flex;justify-content:space-between;gap:2rem;padding:1rem 0;color:#bec3ba;font-size:12px;letter-spacing:.06em}.lightbox button{border:0;background:transparent;color:var(--white);cursor:pointer}.lightbox-close{position:absolute;right:2rem;top:1.2rem;font-size:34px}.lightbox-arrow{font-size:28px;height:100%;min-height:60px}.lightbox-arrow:hover{color:#b8c3a7}body.dialog-open{overflow:hidden}:focus-visible{outline:2px solid #a1b68a;outline-offset:4px}
@media(max-width:900px){.hero{grid-template-columns:50% 50%;min-height:630px}.hero-copy{padding-top:4rem}.hero h1{font-size:clamp(3.4rem,7vw,6.4rem)}.hero-visual{min-height:630px}.about-top,.services{gap:4vw}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.site-header{height:68px;padding:0 5vw}.brand{font-size:16px}.menu-button{display:flex;width:44px;height:44px;flex-direction:column;justify-content:center;gap:6px;align-items:center;background:transparent;border:0;color:var(--white);cursor:pointer}.menu-button span{display:block;width:23px;height:1px;background:currentColor}.navigation{display:none;position:absolute;top:68px;left:0;right:0;background:var(--ink);border-top:1px solid rgba(255,255,255,.15);padding:1.8rem 5vw 2.2rem;flex-direction:column;align-items:start;gap:1.7rem}.navigation.open{display:flex}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:4.5rem 5vw 2.5rem}.hero .eyebrow{margin-bottom:1.9rem}.hero h1{font-size:clamp(4.1rem,15vw,7rem);margin-bottom:1.8rem}.hero-intro{font-size:16px;margin-bottom:2rem}.hero-index{padding-top:3rem}.hero-visual{height:75svh;min-height:480px;max-height:750px}.hero-photo-caption{font-size:10px}.work-section,.about-section{padding-left:5vw;padding-right:5vw}.section-head{display:block;margin-bottom:2.4rem}.section-head h2,.about-top h2,.contact-block h2{font-size:clamp(3.5rem,12vw,6.5rem)}.section-head>p{margin-top:1.4rem}.work-controls{margin-bottom:.4rem}.gallery{gap:9px}.photo-card,.photo-card.tall{aspect-ratio:3/4}.photo-meta{opacity:1;padding:.7rem;background:linear-gradient(transparent,rgba(0,0,0,.45));font-size:10px}.photo-meta span:last-child{display:none}.project-notes{grid-template-columns:1fr;gap:0;margin-top:2.4rem}.about-top,.services{display:block}.about-top{padding-bottom:4rem}.about-copy{margin-top:2.2rem;font-size:17px}.services{padding:4rem 0}.services-intro{margin-bottom:2.5rem}.services-intro h3{font-size:3.4rem}.contact-block{padding:4.5rem 1.4rem}.contact-block h2{font-size:clamp(3.1rem,11vw,5rem)}.contact-cta{gap:1.5rem}footer{flex-wrap:wrap;gap:1.2rem;padding-bottom:.5rem}footer span:nth-child(2){width:50%}footer a:nth-of-type(1){margin-left:0}.lightbox{grid-template-columns:42px 1fr 42px}.lightbox figure img{max-height:calc(100dvh - 160px)}.lightbox-close{right:1rem;top:.7rem}.lightbox-arrow{font-size:23px}.lightbox figcaption{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* Full photographs and project pages */
.hero-visual{background:#252923}.hero-visual img{width:100%;height:100%;object-fit:contain;object-position:center center}.hero-photo-caption{background:linear-gradient(transparent,rgba(0,0,0,.55))}
.gallery{display:block;columns:3;column-gap:clamp(.7rem,1.4vw,1.5rem)}.photo-card,.photo-card.tall{aspect-ratio:auto;break-inside:avoid;margin:0 0 clamp(.7rem,1.4vw,1.5rem);height:auto}.photo-card img{height:auto;object-fit:contain}.photo-card:hover img{transform:none;filter:brightness(.86)}.photo-meta{opacity:1;padding:2rem 1rem 1rem;background:linear-gradient(transparent,rgba(0,0,0,.48))}
.project-hero{min-height:680px;display:grid;grid-template-columns:50% 50%;background:var(--ink)}.project-hero-copy{display:flex;flex-direction:column;justify-content:space-between;padding:2.5rem 6vw 5rem 4.3vw}.back-link{font-size:12px;text-transform:uppercase;letter-spacing:.12em;width:max-content;border-bottom:1px solid #798373;padding-bottom:.5rem}.project-hero h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(4.5rem,8vw,10rem);line-height:.94;letter-spacing:-.07em;margin:0 0 2rem}.project-hero-copy>div>p:not(.eyebrow){max-width:450px;font-size:18px;line-height:1.55;color:#bfc3bb}.project-count{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:#9dab91;margin-top:3rem}.project-hero-visual{min-height:680px;background:#282a27;display:grid;place-items:center;overflow:hidden}.project-hero-visual img{width:100%;height:680px;object-fit:contain}.project-work .section-head{margin-bottom:3rem}.project-end{display:flex;justify-content:space-between;gap:2rem;border-top:1px solid var(--line);padding-top:2rem;margin-top:3rem;font-size:13px;text-transform:uppercase;letter-spacing:.1em}.project-end a:hover{text-decoration:underline}.project-footer{padding:2rem 4.3vw;background:var(--ink);color:#a7afa3}.project-footer a{margin-left:auto}
.contact-block{padding-bottom:clamp(4rem,7vw,8rem)}.contact-form{max-width:750px;margin:3.5rem auto 0;text-align:left;display:grid;gap:1.1rem}.contact-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}.contact-form label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:#4b554a}.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;border:1px solid #a8b0a1;border-radius:0;background:rgba(255,255,255,.36);color:var(--ink);padding:1rem;margin-top:.55rem;font:16px Arial,Helvetica,sans-serif;letter-spacing:0;text-transform:none}.contact-form textarea{resize:vertical}.contact-form button{width:max-content;border:0;background:var(--ink);color:var(--white);padding:1.2rem 1.5rem;cursor:pointer;font-size:12px;text-transform:uppercase;letter-spacing:.12em;display:flex;align-items:center;gap:2.5rem}.contact-form button span{font-size:19px}.contact-form button:hover{background:#3d4a36}.form-feedback{min-height:2rem;color:#465245;font-size:12px;line-height:1.5;margin:0}
@media(max-width:900px){.gallery{columns:2}.project-hero{grid-template-columns:50% 50%;min-height:580px}.project-hero-visual,.project-hero-visual img{min-height:580px;height:580px}}
@media(max-width:640px){.hero-visual{height:74svh;min-height:450px}.gallery{columns:2;column-gap:9px}.photo-card,.photo-card.tall{margin-bottom:9px}.photo-meta{padding:1.5rem .55rem .55rem;font-size:10px}.project-hero{display:flex;flex-direction:column;min-height:0}.project-hero-copy{padding:2rem 5vw 3rem;min-height:450px}.project-hero h1{font-size:clamp(3.8rem,14vw,6rem)}.project-hero-visual,.project-hero-visual img{height:70svh;min-height:420px;max-height:700px}.project-end{flex-direction:column}.project-footer{padding:2rem 5vw}.contact-form{margin-top:2.5rem}.contact-form .form-row{grid-template-columns:1fr}.contact-form button{width:100%;justify-content:space-between}}

.project-notes{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){.project-notes{grid-template-columns:1fr}}

/* Séries accessibles avant le portfolio */
.category-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0 4.3vw;background:var(--ink);border-bottom:1px solid rgba(255,255,255,.15)}
.category-nav a{display:flex;align-items:center;gap:1.1rem;min-height:86px;padding:1rem 1.6rem;border-right:1px solid rgba(255,255,255,.15);font-family:Georgia,serif;font-size:clamp(1.15rem,1.7vw,1.8rem);line-height:1.15;transition:background .2s}
.category-nav a:first-child{padding-left:0}.category-nav a:last-child{border-right:0}.category-nav a:hover{background:#252923}
.category-number{font-family:Arial,Helvetica,sans-serif;font-size:11px;letter-spacing:.1em;color:#a9b292}
.category-arrow{font-family:Arial,Helvetica,sans-serif;font-size:19px;margin-left:auto;color:#a9b292}
@media(max-width:640px){.category-nav{grid-template-columns:1fr;padding:0 5vw}.category-nav a,.category-nav a:first-child{min-height:58px;padding:.65rem 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.15);font-size:1.16rem}.category-nav a:last-child{border-bottom:0}}

/* Formules simples, puis devis pour les productions sur mesure */
.category-nav,.pricing-section{scroll-margin-top:24px}
.pricing-section{background:var(--paper2);color:var(--ink);padding:clamp(5rem,8vw,9rem) 4.3vw;border-top:1px solid var(--line)}
.pricing-head{margin-bottom:2.5rem}
.pricing-head h2{font-size:clamp(3.4rem,7vw,8.5rem);font-weight:400;line-height:.96;letter-spacing:-.065em;margin:0;max-width:850px}
.pricing-head>p{max-width:330px;color:#5e625c;font-size:16px;line-height:1.6;margin:0 0 .3rem}
.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.pricing-card{display:flex;flex-direction:column;min-height:430px;padding:2rem clamp(1.25rem,2.7vw,3rem) 2rem 0;border-right:1px solid var(--line)}
.pricing-card:not(:first-child){padding-left:clamp(1.25rem,2.7vw,3rem)}.pricing-card:last-child{border-right:0}
.pricing-name{color:#536148;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;line-height:1.4;margin:0 0 2.5rem}
.pricing-price{font-family:Georgia,'Times New Roman',serif;font-size:clamp(4rem,7vw,7rem);line-height:1;letter-spacing:-.07em;margin:0 0 1.4rem}.pricing-price span{font-size:.42em;vertical-align:top;letter-spacing:0}
.pricing-description{max-width:300px;min-height:3.8rem;font-size:16px;line-height:1.5;color:#4e544d;margin:0 0 1.5rem}
.pricing-card ul{list-style:none;padding:0;margin:0 0 2.5rem}.pricing-card li{border-top:1px solid var(--line);padding:.7rem 0;font-size:15px;line-height:1.45}.pricing-card li:last-child{border-bottom:1px solid var(--line)}
.pricing-card>a{display:flex;align-items:center;justify-content:space-between;gap:1rem;align-self:stretch;margin-top:auto;border-bottom:1px solid currentColor;padding-bottom:.7rem;font-size:13px;text-transform:uppercase;letter-spacing:.1em}.pricing-card>a:hover{color:#536148}.pricing-card>a span{font-size:19px}
.pricing-tail{display:flex;align-items:center;justify-content:space-between;gap:3rem;padding:2.5rem 0;border-bottom:1px solid var(--line)}.pricing-tail p{max-width:740px;color:#4e544d;font-size:16px;line-height:1.6;margin:0}.pricing-tail strong{font-family:Georgia,serif;color:var(--ink);font-size:clamp(1.35rem,2vw,2rem);font-weight:400}.pricing-tail a{flex:none;border-bottom:1px solid currentColor;padding-bottom:.7rem;font-size:13px;text-transform:uppercase;letter-spacing:.1em}.pricing-tail a span{margin-left:1.5rem;font-size:19px}.pricing-tail a:hover{color:#536148}
.pricing-terms{color:#656b63;font-size:13px;line-height:1.6;margin:1.3rem 0 0}
@media(max-width:900px){.pricing-head{gap:2rem}.pricing-card{min-height:450px}}
@media(max-width:640px){.pricing-section{padding:5rem 5vw}.pricing-head{display:block;margin-bottom:2.3rem}.pricing-head h2{font-size:clamp(3.5rem,12vw,6.5rem)}.pricing-head>p{margin-top:1.5rem}.pricing-grid{grid-template-columns:1fr}.pricing-card,.pricing-card:not(:first-child){min-height:0;padding:2rem 0 2.2rem;border-right:0;border-bottom:1px solid var(--line)}.pricing-card:last-child{border-bottom:0}.pricing-name{margin-bottom:1.5rem}.pricing-price{font-size:5.5rem}.pricing-description{min-height:0}.pricing-card ul{margin-bottom:2rem}.pricing-tail{display:block}.pricing-tail a{display:inline-block;margin-top:1.5rem}.pricing-tail a span{margin-left:2rem}}

/* Portfolio épuré : titres courts et photographies sans légendes. */
.work-section,.pricing-section{padding-top:clamp(2rem,4vw,4rem);padding-bottom:clamp(3rem,5vw,5rem)}
.section-head h1,.pricing-head h2,.about-top h2,.contact-block h2{font-size:clamp(2rem,4vw,4rem);font-weight:400;line-height:1.12;letter-spacing:-.04em;margin:0}
.section-head,.project-work .section-head,.pricing-head{margin-bottom:2rem}
.photo-card:hover img{filter:none}
.about-section{padding-top:clamp(3rem,5vw,5rem)}
.about-top{align-items:center;padding-bottom:clamp(2rem,4vw,4rem)}
.about-copy p{margin:0}
.services{padding:clamp(2rem,4vw,4rem) 0}
.services-intro h3{font-size:clamp(2rem,3vw,3rem);line-height:1.12}
.pricing-card{min-height:0}
.contact-block{padding-top:clamp(2rem,4vw,4rem);padding-bottom:clamp(2rem,4vw,4rem)}
.lightbox figcaption{justify-content:flex-end}

/* Accès aux trois séries et prestations sans tarifs. */
.category-nav a{display:grid;grid-template-columns:minmax(0,1fr) auto;align-content:center;align-items:center;gap:1.2rem;min-height:210px;padding:1.8rem 1.8rem;min-width:0}
.category-nav a:first-child{padding-left:0}
.category-number{grid-column:1/-1;font-size:14px}
.category-title{font-size:clamp(1.8rem,2.8vw,3.2rem);line-height:1.12;letter-spacing:-.035em;overflow-wrap:break-word}
.category-arrow{font-size:24px}
.services-section{background:var(--paper2);color:var(--ink);padding:clamp(2rem,4vw,4rem) 4.3vw clamp(3rem,5vw,5rem);border-top:1px solid var(--line);scroll-margin-top:24px}
.services-section h2{font-size:clamp(2rem,4vw,4rem);font-weight:400;line-height:1.12;letter-spacing:-.04em;margin:0}
.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:3rem;border-top:1px solid var(--line)}
.service-card{padding:1.8rem 0;border-bottom:1px solid var(--line);min-width:0}
.service-card h3{font-family:Georgia,serif;font-size:clamp(1.5rem,2.3vw,2rem);font-weight:400;line-height:1.2;margin:0 0 .8rem}
.service-card p{max-width:480px;font-size:16px;line-height:1.5;color:#4e544d;margin:0}
.service-contact{display:inline-block;margin-top:2rem;border-bottom:1px solid currentColor;padding-bottom:.7rem;font-size:14px}
.service-contact:hover{color:#536148}
@media(max-width:640px){.category-nav a,.category-nav a:first-child{min-height:126px;padding:1.1rem 0;gap:.7rem}.category-title{font-size:clamp(1.8rem,7vw,2.3rem)}.category-number{font-size:12px}.services-section{padding-left:5vw;padding-right:5vw}.service-grid{grid-template-columns:1fr}.service-card{padding:1.5rem 0}}

/* Four portfolio categories: two columns on desktop, one on mobile. */
@media(min-width:641px){.category-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.category-nav a{border-bottom:1px solid rgba(255,255,255,.15)}.category-nav a:nth-child(even){border-right:0}.category-nav a:nth-child(odd){padding-left:0}.category-nav a:nth-last-child(-n+2){border-bottom:0}}

.contact-receipt{display:none}
.contact-receipt:target{display:block;margin:1rem auto;line-height:1.5}
.contact-form button:disabled{opacity:.65;cursor:wait}
.contact-form .form-feedback{min-height:0;font-size:14px}
.contact-form .form-feedback:empty{margin-bottom:-1.1rem}
.contact-alternative{margin:0;font-size:14px;line-height:1.5;color:#465245}
.contact-alternative a{text-decoration:underline;text-underline-offset:3px}
