.sp-page>.wp-block-heading,.sp-page>.wp-block-paragraph,.sp-page>.wp-block-list,.sp-page>.wp-block-details,.sp-page>p,.sp-page>ul,.sp-page>h2{max-width:780px;width:calc(100% - 48px);margin:28px auto}.sp-page>p,.sp-page>ul{font-size:16px;line-height:1.9}.sp-page>h2{font-size:46px;padding-top:35px}.sp-page>.wp-block-details{border-bottom:1px solid #332e2730;padding-bottom:18px}.wp-block-details summary{cursor:pointer;font-size:18px;font-weight:500}.wp-block-details p{font-size:15px;line-height:1.8}.sp-intro{padding:65px 0}.sp-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.sp-intro h1{font-size:clamp(60px,7vw,100px);line-height:1.04}.sp-intro p:not(.eyebrow){font-size:15px;line-height:1.9;max-width:440px}.sp-intro .photo{height:530px}.sp-gallery{padding-block:60px}.sp-gallery h2{font-size:48px}.sp-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.sp-gallery figure{margin:0}.sp-gallery .photo{height:390px}.sp-gallery figcaption{font:italic 17px var(--sans);margin-top:12px}.sp-contact{padding:50px 0;background:#a24a35;color:#f6f1e8}.sp-contact h2{font-size:60px}.sp-contact .contact-button{max-width:400px}.sp-title{padding-block:60px}.site-header nav li{list-style:none;display:inline-block}.portrait-text h3 br{display:block}body.modal-open{overflow:hidden}.portrait-stage .photo:focus-visible{outline-offset:-6px}.sp-page .story-diptych .portrait-text .eyebrow{color:var(--portrait-accent)}.sp-page .story-diptych{margin:0}.sp-intro .eyebrow{margin-bottom:22px}@media(max-width:700px){.sp-intro{padding:35px 0}.sp-intro-grid{grid-template-columns:1fr;gap:25px}.sp-intro h1{font-size:62px}.sp-intro .photo{height:390px}.sp-gallery-grid{grid-template-columns:1fr}.sp-gallery .photo{height:auto;aspect-ratio:4/5}.sp-gallery{padding-block:35px}.sp-contact h2{font-size:46px}.site-header nav>a:not(.nav-contact){display:inline}.site-header nav{gap:12px}.site-header nav a{font-size:10px}}

/* Native navigation, forms and editorial page templates. */
.sp-mobile-menu{display:none}.site-header{position:relative;z-index:20}.site-header .sp-desktop-nav{display:flex;gap:28px}.sp-intro-text .sp-intro-grid{grid-template-columns:1fr}.sp-intro-text .sp-photo{display:none}.sp-intro-text{padding-block:90px}.sp-intro-long h1{font-size:clamp(42px,4.8vw,70px)}.sp-layout .photo img{width:100%;height:100%;object-fit:cover}.sp-page>.sp-layout{max-width:none}.sp-page>.hero.wrap,.sp-page>.intro.wrap,.sp-page>.about.wrap{max-width:1392px}.sp-layout a.text-link{cursor:pointer}.sp-page>.wp-block-heading,.sp-page>h3,.sp-page>h4,.sp-page>h5,.sp-page>h6{max-width:780px;width:calc(100% - 48px);margin:35px auto 22px}.sp-page>h3{font-size:34px}.sp-page>h4{font-size:28px}.sp-page>p:last-child{margin-bottom:70px}.sp-projects{padding-block:70px}.sp-projects h2,.sp-contact-form h2,.sp-video h2{font-size:clamp(38px,5vw,64px)}.sp-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:35px}.sp-project-card{text-decoration:none;display:block}.sp-project-card img{width:100%;height:350px;object-fit:cover;transition:transform .6s}.sp-project-card:hover img{transform:translateY(-7px)}.sp-project-card h3{font-size:32px;margin:20px 0 12px}.sp-project-card span{font:12px var(--sans)}.sp-video{padding-block:55px}.sp-video video{display:block;width:100%;max-height:75vh;background:#242a27;margin-top:28px}.sp-contact-form{max-width:1000px;padding-block:65px}.sp-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:30px 0}.sp-contact-form label{display:block;font-size:14px;line-height:1.8}.sp-contact-form input:not([type=checkbox]),.sp-contact-form select,.sp-contact-form textarea{display:block;width:100%;border:0;border-bottom:1px solid #948879;background:#eee6d9;padding:13px 14px;font:inherit;color:#332e27;border-radius:0;margin-top:8px}.sp-contact-form textarea{resize:vertical}.sp-contact-form .sp-consent{display:flex;gap:10px;margin:25px 0;align-items:flex-start}.sp-contact-form .contact-button{background:#a24a35;color:#fff5e9;cursor:pointer;margin-top:24px;max-width:400px}.sp-contact-form .contact-button:disabled{opacity:.55;cursor:not-allowed}.sp-form-status{border-left:3px solid #a24a35;padding:15px 20px;background:#eadbca}.sp-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.sp-layout .hero-main img{object-position:center}.sp-layout .hero-small img{object-position:center}.sp-page>.sp-layout.contact{width:100%}
@media(max-width:1000px){.site-header .sp-desktop-nav{display:none}.sp-mobile-menu{display:block;margin-left:auto}.sp-mobile-menu summary{cursor:pointer;list-style:none;font:13px var(--sans)}.sp-mobile-menu summary span{font-size:20px;margin-left:10px}.sp-mobile-menu nav{position:absolute;right:0;left:0;top:100%;background:#f6f1e8;padding:25px;box-shadow:0 12px 15px #332e2715;display:flex;flex-direction:column;gap:20px}.site-header .sp-mobile-menu nav>a{display:block;font-size:17px}.sp-project-grid{grid-template-columns:1fr 1fr}.sp-project-card img{height:290px}}
@media(max-width:600px){.sp-project-grid,.sp-form-grid{grid-template-columns:1fr}.sp-intro-long h1{font-size:42px}.sp-intro-text{padding-block:45px}.sp-project-card img{height:350px}.sp-contact-form{padding-block:35px}.sp-mobile-menu nav{max-height:75vh;overflow-y:auto}}
@media(prefers-reduced-motion:reduce){.sp-project-card img{transition:none}}

/* Audit: stable media geometry and a direct route to the contact form. */
.sp-video video{aspect-ratio:16/9;height:auto;object-fit:contain}.sp-intro-contact .sp-photo{height:420px}
@media(max-width:700px){.sp-intro-contact .sp-photo{display:none}.sp-intro-contact{padding-block:35px}.sp-layout.contact h2{font-size:clamp(50px,17vw,68px)}.sp-layout.contact h2>span{font-size:54px;right:10px;top:25px}}

.sp-intro-portrait .sp-photo{width:min(100%,400px);height:auto;aspect-ratio:2/3;justify-self:center;background:transparent}.sp-intro-portrait .sp-photo img{object-fit:contain}

/* Quiet, visible navigation matching the structured breadcrumbs. */
.sp-breadcrumbs{padding-block:18px;font-size:12px;line-height:1.6}.sp-breadcrumbs ol{display:flex;flex-wrap:wrap;gap:6px 12px;list-style:none;margin:0;padding:0}.sp-breadcrumbs li{max-width:100%;overflow-wrap:anywhere}.sp-breadcrumbs li+li::before{content:"/";margin-right:12px;opacity:.5}.sp-breadcrumbs a{text-underline-offset:3px}.sp-page>.wp-block-heading{overflow-wrap:break-word}

@media(max-width:600px){.sp-intro-service h1{font-size:clamp(40px,12vw,62px)}}

/* Two consistent families: editorial headings and humanist reading text. */
body,input,select,textarea,button{font-family:var(--sans)}
/* A moderate variable weight keeps the editorial titles warm and readable. */
h1,h2,h3,h4,h5,h6,.sp-page :is(h1,h2,h3,h4,h5,h6){font-family:var(--serif);font-weight:450;font-optical-sizing:auto;font-variation-settings:'SOFT' 50,'WONK' 1}
:is(h1,h2,h3,h4,h5,h6) :is(em,strong,b){font-weight:inherit}
p,li,summary,label,.eyebrow,.text-link,.contact-button,.sp-breadcrumbs{font-family:var(--sans)}
.sp-page>p,.sp-page>ul,.sp-page>ol{font-size:17px;line-height:1.8}
.sp-page>p a{border-bottom:1px solid currentColor;text-underline-offset:4px}
.wp-block-details summary{font-size:18px;line-height:1.6;font-weight:500;letter-spacing:0}
.wp-block-details p{font-size:17px;line-height:1.8}
.sp-intro p:not(.eyebrow){font-size:17px;line-height:1.75}
.story-diptych .portrait-text>div>p{font-size:16px;line-height:1.75}
.portrait-footnote,.sp-gallery figcaption,.mamie-gallery figcaption,.vanille-gallery figcaption{font-family:var(--sans);font-size:17px;line-height:1.5;font-style:italic}
.hero-intro,.chapter-copy>p:not(.eyebrow),.about-grid>div>p{font-size:16px;line-height:1.8}
.site-header nav{font-family:var(--sans);font-size:14px}
.sp-reportage-ending{margin-bottom:60px}
@media(max-width:600px){.sp-page>p,.sp-page>ul,.sp-page>ol,.wp-block-details p{font-size:16.5px}.sp-page>.wp-block-heading{font-size:clamp(32px,8.5vw,46px);letter-spacing:-1px;line-height:1.12}}

/* Respect the photograph's original proportions instead of cropping every frame. */
.sp-project-grid,.sp-gallery-grid{align-items:start}
.sp-project-card img{height:auto;aspect-ratio:auto;object-fit:contain}
.sp-intro .sp-photo{height:auto;aspect-ratio:auto;max-width:100%;justify-self:center}
.sp-intro .sp-photo img{height:auto;object-fit:contain}
.sp-gallery .photo,
.sp-page .sp-layout :is(.restaurant-gallery,.beach-gallery,.mamie-gallery,.vanille-gallery,.studio-gallery,.artisan-stories) .photo{height:auto;aspect-ratio:auto}
.sp-gallery .photo img,
.sp-page .sp-layout :is(.restaurant-gallery,.beach-gallery,.mamie-gallery,.vanille-gallery,.studio-gallery,.artisan-stories) .photo img{height:auto;object-fit:contain}
.sp-layout :is(.hero-main,.hero-small,.cafe-detail,.cafe-feature>.photo,.hotel-large,.hotel-small){height:auto;aspect-ratio:auto;align-self:start}
.sp-layout :is(.hero-main,.hero-small,.cafe-detail,.cafe-feature>.photo,.hotel-large,.hotel-small) img{height:auto;object-fit:contain}
/* Sticky scenes keep their geometry; contain leaves the entire portrait visible. */
.sp-layout .portrait-image .photo img{object-fit:contain;object-position:center}
/* Compact captions and multi-line headings, independent of body leading. */
h3,h4,h5,h6{line-height:1.18}
.sp-projects{padding-block:48px}
.sp-project-grid{margin-top:26px;row-gap:34px}
.sp-project-card h3{font-size:clamp(25px,2.2vw,32px);line-height:1.18;letter-spacing:-.55px;margin:14px 0 8px}
.sp-project-card span{display:inline-block;line-height:1.35}
.sp-gallery figcaption,.sp-layout :is(.mamie-gallery,.vanille-gallery,.restaurant-gallery) figcaption{margin-top:9px;line-height:1.35}
.sp-page>p,.sp-page>ul,.sp-page>ol{line-height:1.6;margin-block:18px}
.sp-page>.wp-block-heading,.sp-page>h2{line-height:1.12;margin:30px auto 16px;padding-top:18px}
.sp-intro p:not(.eyebrow),.wp-block-details p{line-height:1.6}
.wp-block-details summary{line-height:1.4}
.sp-page>.wp-block-details{margin-block:18px;padding-bottom:14px}
.story-diptych .portrait-text>div>p{line-height:1.6;margin-bottom:18px}
.portrait-text h3{margin-bottom:18px}
.portrait-intro>p:last-child,.story-diptych .portrait-intro>p:last-child,
.hero-intro,.chapter-copy>p:not(.eyebrow),.about-grid>div>p{line-height:1.6}
@media(max-width:700px){
 .sp-layout .portrait-image{height:auto;min-height:0;max-height:none}
 .sp-layout .portrait-image .photo{height:auto}
 .sp-layout .portrait-image .photo img{height:auto;object-fit:contain}
 .sp-projects{padding-block:32px}
 .sp-gallery{padding-block:30px}
 .sp-project-card h3{font-size:28px}
 .sp-page>.wp-block-heading{margin-block:26px 14px;padding-top:12px}
}

/* A project name and its smaller baseline form two distinct reading levels. */
.sp-project-card .sp-project-baseline{font-family:var(--sans);font-size:17px;font-weight:400;line-height:1.4;letter-spacing:0;margin:0 0 12px;max-width:34ch}
.sp-project-card h3:has(+.sp-project-baseline){margin-bottom:6px}

/* Four smaller, consistently vertical covers on the portfolio index. */
.sp-projects-reportages .sp-project-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:34px 24px}
.sp-projects-reportages .sp-project-cover{aspect-ratio:2/3;overflow:hidden;background:transparent}
.sp-projects-reportages .sp-project-cover img{height:100%;width:100%;object-fit:contain}
.sp-projects-reportages .sp-project-card h3{font-size:clamp(24px,2vw,29px)}
@media(max-width:1150px){.sp-projects-reportages .sp-project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){.sp-projects-reportages .sp-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:500px){.sp-projects-reportages .sp-project-grid{grid-template-columns:1fr}}

.sp-intro:not(.sp-intro-portrait) .sp-photo{max-width:480px}

@media(max-width:700px){.hero-copy .handnote{position:static;max-width:none;width:100%;text-align:right;margin:18px 0 0;transform:rotate(-4deg);font-size:19px}}

.sp-projects-reportages .sp-project-card:hover img{transform:none}.sp-projects-reportages .sp-project-card:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}

/* Portfolio filters: native buttons, keyboard focus and a live result count. */
.sp-project-filters{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 12px}
.sp-project-filters[hidden],.sp-project-count[hidden],.sp-project-card[hidden]{display:none}
.sp-project-filters button{font-family:var(--sans);font-size:15px;line-height:1.35;padding:10px 17px;border:1px solid #332e2740;border-radius:24px;background:transparent;transition:background-color .18s,color .18s}
.sp-project-filters button:hover{border-color:var(--ink)}
.sp-project-filters button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--cream)}
.sp-project-count{font:14px/1.4 var(--sans);color:#655c50;margin:0 0 20px}
.sp-projects-reportages .sp-project-filters~.sp-project-grid{margin-top:0}
@media(max-width:600px){.sp-project-filters{gap:8px;margin-top:20px}.sp-project-filters button{font-size:14px;padding:9px 13px}}
@media(prefers-reduced-motion:reduce){.sp-project-filters button{transition:none}}

/* A composed editorial close to the home, before the contact invitation. */
.sp-home-editorial{background:#e7dfd1;border-top:1px solid #332e2720;padding-block:64px}
.sp-home-editorial-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(36px,7vw,100px);align-items:start}
.sp-home-editorial-heading h2{font-size:clamp(40px,4.5vw,64px);line-height:1.06;letter-spacing:-1.4px;margin:20px 0 22px}
.sp-home-editorial-note{font-size:17px;line-height:1.5;max-width:29ch;margin:0;color:#665642}
.sp-home-editorial-copy>p{font-size:17px;line-height:1.6;margin:0 0 18px;max-width:60ch}
.sp-home-editorial-copy>.sp-home-editorial-label{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;margin:28px 0 10px}
.sp-home-editorial-links{display:grid;grid-template-columns:1fr 1fr;gap:0 26px}
.sp-home-editorial-links a{font:500 16px/1.4 var(--sans);display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid #332e2740}
.sp-home-editorial-links a:hover{color:var(--red);border-color:currentColor}
.sp-home-editorial-links a span{transition:transform .2s}.sp-home-editorial-links a:hover span{transform:translate(2px,-2px)}
@media(max-width:850px){.sp-home-editorial-grid{grid-template-columns:1fr;gap:28px}.sp-home-editorial{padding-block:42px}.sp-home-editorial-heading h2{font-size:clamp(40px,7vw,58px)}.sp-home-editorial-copy>p{max-width:none}}
@media(max-width:500px){.sp-home-editorial-heading h2{font-size:42px}.sp-home-editorial-copy>p{font-size:16px}.sp-home-editorial-links{grid-template-columns:1fr}.sp-home-editorial-links a{padding-block:12px}}
@media(prefers-reduced-motion:reduce){.sp-home-editorial-links a span{transition:none}}

.sp-intro-contact.sp-intro-portrait .sp-photo{display:block;max-width:360px}
@media(max-width:700px){.sp-intro-contact.sp-intro-portrait .sp-photo{display:block;width:min(100%,320px);max-width:100%}}

/* Portrait and biography: clear hierarchy, complete vertical image. */
.sp-about-home{padding-block:64px}
.sp-about-home-grid{display:grid;grid-template-columns:minmax(240px,.85fr) minmax(0,1.15fr);gap:clamp(36px,6vw,88px);align-items:center;margin-top:28px}
.sp-about-home-portrait{margin:0;width:100%;max-width:380px;justify-self:center}
.sp-about-home-portrait .photo{aspect-ratio:2/3;width:100%;height:auto}
.sp-about-home-portrait .photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.sp-about-home-portrait figcaption{font:italic 15px/1.4 var(--sans);margin-top:10px;color:#665642}
.sp-about-home-copy h2{font-size:clamp(38px,4vw,58px);line-height:1.08;letter-spacing:-1.2px;margin:0 0 24px}
.sp-about-home-copy>p{font-size:17px;line-height:1.6;margin:0 0 18px;max-width:58ch}
.sp-about-home-copy .text-link{margin-top:8px}
.sp-about-home .approach{margin-top:36px}
.sp-about-bio{padding-block:64px}
.sp-about-bio-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(32px,6vw,88px);align-items:start}
.sp-about-bio-heading h2{font-size:clamp(36px,4vw,56px);line-height:1.1;letter-spacing:-1.2px;margin:20px 0 0}
.sp-about-bio-copy>p{font-size:17px;line-height:1.65;margin:0 0 20px;max-width:62ch}
.sp-about-bio-copy>.sp-about-bio-lead{font-size:22px;line-height:1.45;margin-bottom:22px}
.sp-about-bio-copy h3{font-size:29px;line-height:1.2;letter-spacing:-.5px;margin:30px 0 16px}
.sp-about-bio-contact{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:28px 32px;background:#e7dfd1;margin-top:30px}
.sp-about-bio-contact h3{font-size:28px;line-height:1.2;letter-spacing:-.5px;margin:0 0 10px}
.sp-about-bio-contact p{font-size:16px;line-height:1.5;margin:0}
.sp-about-bio-contact .text-link{flex-shrink:0}
@media(max-width:850px){.sp-about-home-grid,.sp-about-bio-grid{grid-template-columns:1fr;gap:30px}.sp-about-home,.sp-about-bio{padding-block:40px}.sp-about-home-portrait{max-width:360px}.sp-about-home-copy h2{font-size:42px}.sp-about-bio-heading h2{font-size:42px;margin-top:14px}.sp-about-bio-contact{flex-direction:column;align-items:flex-start;padding:24px;gap:22px}}
@media(max-width:500px){.sp-about-home-copy>p,.sp-about-bio-copy>p{font-size:16px}.sp-about-bio-copy>.sp-about-bio-lead{font-size:21px}.sp-about-bio-copy h3,.sp-about-bio-contact h3{font-size:27px}.sp-about-bio-contact .text-link{font-size:13px;gap:18px}}
/* Compact floating glass navigation; its shell prevents layout jumps on scroll. */
html{scroll-padding-top:108px}
.sp-header-shell{height:112px}
.site-header{position:fixed;z-index:50;top:12px;left:40px;right:40px;margin:0;padding:18px 22px;min-height:84px;border:1px solid #332e2726;border-radius:10px;background:rgba(246,241,232,.78);-webkit-backdrop-filter:blur(16px) saturate(1.15);backdrop-filter:blur(16px) saturate(1.15);transition:padding .2s,background-color .2s,box-shadow .2s,min-height .2s}
.site-header.is-scrolled{min-height:64px;padding:10px 20px;background:rgba(246,241,232,.82);box-shadow:0 6px 24px #332e2710}
.site-header .wordmark{font-size:28px;transition:font-size .2s}
.site-header.is-scrolled .wordmark{font-size:24px}
.site-header .nav-contact{padding:7px 0}
.skip{z-index:1000}
.portrait-enhanced{--scene-height:calc(100svh - 88px)}
.portrait-enhanced .portrait-stage{top:88px}
.back-top[hidden]{display:none}
.back-top{z-index:45;width:46px;height:46px;font-size:24px}
.modal-open .back-top{visibility:hidden}
.site-footer{padding-block:38px 22px}
.sp-footer-links{display:flex;align-items:center;flex-wrap:wrap;gap:10px 28px;font:500 15px/1.5 var(--sans)}
.sp-footer-links a{padding-block:8px}
.sp-footer-links a:hover{text-decoration:underline;text-underline-offset:4px}
.site-footer small{font-size:12px;line-height:1.5}
@media(max-width:1000px){.sp-header-shell{height:98px}.site-header{left:24px;right:24px;padding:14px 18px;min-height:74px}.site-header.is-scrolled{padding:10px 16px;min-height:64px}.site-header .wordmark{font-size:25px}.site-header.is-scrolled .wordmark{font-size:23px}.site-header .sp-mobile-menu nav{top:calc(100% + 10px);border:1px solid #332e2726;border-radius:10px;max-height:calc(100svh - 115px);background:rgba(246,241,232,.97);overflow-y:auto}}
@media(max-width:700px){.site-header{left:14px;right:14px;top:10px;gap:12px}.sp-header-shell{height:94px}.sp-footer-links{display:grid;grid-template-columns:1fr 1fr;gap:4px 22px;width:100%;font-size:15px}.site-footer small{font-size:12px}.back-top{right:16px;bottom:16px}}
@supports not (backdrop-filter:blur(16px)){.site-header{background:rgba(246,241,232,.96)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.site-header,.site-header .wordmark{transition:none}}

@media(max-width:500px){.sp-about-bio-contact .text-link{max-width:100%;width:100%;justify-content:space-between;gap:12px}.sp-about-bio-contact .text-link span{flex-shrink:0}}
@media(max-width:360px){.site-header,.site-header.is-scrolled{padding-inline:12px}.site-header .wordmark,.site-header.is-scrolled .wordmark{font-size:22px}.site-header .wordmark span{font-size:6.5px;letter-spacing:1.3px}}

@media(min-width:701px) and (max-height:750px){.portrait-text{padding:24px 30px 60px;gap:18px}.portrait-text h3{font-size:clamp(34px,4vw,56px);margin-bottom:14px}.portrait-text>div>p,.story-diptych .portrait-text>div>p{font-size:15px;line-height:1.5;margin-bottom:14px}.portrait-text .eyebrow{font-size:8.5px}.portrait-footnote{font-size:15px;line-height:1.4}}

/* Editorial guides: the established palette and typography, with readable article widths. */
.sp-guide-page .sp-intro h1{font-size:clamp(38px,4.2vw,64px);line-height:1.08;letter-spacing:-1.4px}.sp-guide-page .sp-intro-grid{gap:48px}.sp-guide-page .sp-gallery{max-width:1050px}.sp-guide-page .sp-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sp-guide-page .sp-gallery figcaption{font-size:14px;line-height:1.4}.sp-guide-page .sp-page>.wp-block-heading{font-size:clamp(28px,3.1vw,43px);line-height:1.15}.sp-guide-page .sp-page>p{line-height:1.65;margin-block:20px}.sp-silo-resources{max-width:1100px;width:calc(100% - 48px);margin:60px auto;padding:32px;background:#ece6d9;border-radius:6px}.sp-silo-resources h2{font-size:clamp(30px,4vw,46px);line-height:1.15;margin:14px 0 26px}.sp-silo-resources ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}.sp-silo-resources li{border-top:1px solid #332e2733}.sp-silo-resources a{display:flex;justify-content:space-between;gap:15px;padding:16px 0;text-decoration:none;font:17px/1.35 var(--sans)}.sp-silo-resources a:hover{text-decoration:underline;text-underline-offset:4px}.sp-silo-resources a span{color:#a54832;flex-shrink:0}
@media(max-width:700px){.sp-guide-page .sp-intro-grid{gap:28px}.sp-guide-page .sp-intro h1{font-size:40px;letter-spacing:-1px}.sp-guide-page .sp-gallery-grid,.sp-silo-resources ul{grid-template-columns:1fr}.sp-silo-resources{padding:22px;margin-block:40px}.sp-guide-page .sp-page>p{font-size:16px}}


/* Consent card, shared accept/refuse prominence and small-screen layout. */
#cookie-notice.cookie-notice-visible {
 inset:auto 24px 24px auto; width:calc(100% - 48px); max-width:820px;
 min-width:0; border:1px solid rgba(93,76,52,.2); border-radius:20px;
 background:#f6f1e8!important; color:#332e27!important;
 box-shadow:0 16px 60px rgba(38,32,22,.18); z-index:100000;
 text-align:left; font-family:'Source Sans 3',sans-serif;
}
#cookie-notice .cookie-notice-container {padding:26px 32px 25px; text-align:left;}
#cookie-notice #cn-notice-text {display:block; padding-right:12px; margin:0 0 20px; max-width:66ch; font-size:15px; line-height:1.55; color:#625a50;}
#cookie-notice #cn-notice-text::before {content:'Un mot sur les cookies'; display:block; margin-bottom:10px; font-family:'Fraunces',Georgia,serif; font-size:27px; line-height:1.2; letter-spacing:-.025em; font-weight:450; color:#332e27;}
#cookie-notice #cn-notice-buttons {display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin:0;}
#cookie-notice #cn-notice-buttons .cn-button {display:inline-flex; align-items:center; justify-content:center; min-height:44px; margin:0; padding:10px 18px; border-radius:8px; border:1px solid #8a453b; background:#8a453b; color:#fffaf3; font-family:inherit; font-size:14px; font-weight:600; line-height:1.3; text-decoration:none; transition:background .2s,transform .2s; box-shadow:none;}
#cookie-notice #cn-notice-buttons #cn-refuse-cookie {min-width:126px;}
#cookie-notice #cn-notice-buttons #cn-more-info {padding:10px 6px; margin-left:4px; border-color:transparent; background:transparent!important; color:#625a50; text-decoration:underline; text-underline-offset:4px; font-weight:400;}
#cookie-notice #cn-notice-buttons #cn-accept-cookie:hover,#cookie-notice #cn-notice-buttons #cn-refuse-cookie:hover {background:#6d342c; transform:translateY(-1px);}
#cookie-notice .cn-button:focus-visible,#cookie-notice .cn-close-icon:focus-visible {outline:2px solid #332e27; outline-offset:4px;}
#cookie-notice .cn-close-icon {top:12px; right:12px; transform:none; width:28px; height:28px; opacity:.65;}
#cookie-notice .cn-close-icon:before,#cookie-notice .cn-close-icon:after {background:#625a50;}
#cookie-notice .cookie-revoke-container {padding:0;background:transparent;}
#cookie-notice #cn-revoke-text {display:none;}
#cookie-notice.cookie-notice-hidden {background:transparent!important;min-height:0;min-width:0;pointer-events:none;}
#cookie-notice #cn-revoke-cookie {position:fixed; bottom:16px; left:16px; padding:8px 13px; margin:0; border:1px solid #d9cfc0; border-radius:7px; background:#8a453b!important; color:#fffaf3!important; pointer-events:auto; font-family:'Source Sans 3',sans-serif; font-size:12px; line-height:1.4; box-shadow:0 3px 14px #332e2712;}
@media(max-width:600px){
 #cookie-notice.cookie-notice-visible {left:12px; right:12px; bottom:max(12px,env(safe-area-inset-bottom)); width:calc(100% - 24px); border-radius:16px; max-height:calc(100dvh - 36px); overflow:auto;}
 #cookie-notice .cookie-notice-container {padding:23px 22px 20px;}
 #cookie-notice #cn-notice-text {font-size:14px; line-height:1.5; margin-bottom:16px; padding-right:0;}
 #cookie-notice #cn-notice-text::before {font-size:24px; padding-right:12px;}
 #cookie-notice #cn-notice-buttons {display:grid; grid-template-columns:1fr 1fr; gap:9px;}
 #cookie-notice #cn-notice-buttons .cn-button {padding:11px 8px; font-size:13px; min-width:0;}
 #cookie-notice #cn-notice-buttons #cn-more-info {grid-column:1/-1; margin:0; padding:4px; min-height:32px; justify-self:start;}
}
@media(prefers-reduced-motion:reduce){#cookie-notice,#cookie-notice .cn-button{animation:none!important;transition:none!important;}}
