.site-section{padding:96px max(5%,calc((100vw - 1500px)/2));scroll-margin-top:24px}
.section-intro{max-width:760px;margin-bottom:46px}
.section-intro>p:not(.eyebrow){max-width:590px;font-size:15px;line-height:1.8;color:#6e6260}
.site-section h3{font-weight:500;letter-spacing:-.7px}
.site-section p{line-height:1.8}
.site-section .eyebrow{color:var(--red)}
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.service-card{padding:30px 32px 35px 0}
.service-card+.service-card{border-left:1px solid var(--line);padding-left:32px}
.service-index{font:11px/1.5 monospace;color:var(--red)}
.service-card h3{font-size:27px;line-height:1.2;margin:26px 0 20px}
.service-card p,.service-card li{font-size:13px;line-height:1.8;color:#6e6260}
.service-card ul{padding-left:17px;margin:24px 0 0}
.service-note{display:flex;align-items:center;gap:30px;justify-content:space-between;padding-top:25px}
.service-note>span{font-size:9px;letter-spacing:1.4px}.service-note p{font-size:13px;color:#6e6260;margin:0}
.pricing-section{background:#eee7dd}
.creation-offer{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;padding:38px 42px;background:var(--ink);color:var(--paper);border-radius:6px;margin-bottom:24px}
.creation-offer .eyebrow{color:#e1b3a2}.creation-offer h3{font-size:34px;line-height:1.15;margin:18px 0}
.creation-offer>div>p:last-child{font-size:13px;max-width:580px;color:#cec2b9}
.creation-price{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.creation-price>p{margin:0 0 8px;font-size:14px}.creation-price strong{font-size:clamp(28px,3.5vw,48px);font-weight:500;letter-spacing:-1.7px}
.creation-price>span{font-size:12px;line-height:1.8;color:#cec2b9}.creation-price .button{margin-top:25px;background:var(--paper);color:var(--ink)}
.plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.plan{display:flex;flex-direction:column;padding:38px 42px;background:var(--paper);border:1px solid #d8cabe;border-radius:6px}
.plan h3{font-size:30px;margin:14px 0 8px}.plan .plan-price{font-size:58px;letter-spacing:-2.5px;line-height:1.3;margin:12px 0}
.plan-price>span,.plan-price>small{font-size:14px;letter-spacing:0;font-weight:400}
.plan .plan-term{font-size:12px;line-height:1.8;color:#6e6260;margin:0;padding-bottom:23px;border-bottom:1px solid var(--line)}
.plan-description{font-size:15px;max-width:420px;margin:24px 0}
.plan ul{padding:0;list-style:none;margin:0 0 24px}.plan li{position:relative;padding-left:23px;font-size:13px;line-height:1.7;margin:11px 0}
.plan li::before{content:'✓';position:absolute;left:0;color:var(--red)}
.plan-extra{font-size:12px;color:#6e6260;margin:auto 0 24px}
.button-outline{border:1px solid var(--red);background:transparent;color:var(--red)}.button-outline:hover{color:var(--paper)}
.plan-follow{border-color:var(--red);box-shadow:inset 0 3px 0 var(--red)}
.monthly-change{display:flex;gap:24px;align-items:center;background:#eee4da;padding:20px;margin-bottom:16px;border-radius:4px}
.monthly-change>span{font-size:44px;line-height:1;color:var(--red);letter-spacing:-1.5px}
.monthly-change small{display:block;font-size:10px;letter-spacing:0;white-space:nowrap;margin-top:8px}
.monthly-change p{font-size:12px;margin:0;max-width:300px}
.pricing-notes{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin-top:22px;font-size:12px;color:#6e6260}
.pricing-notes a{text-decoration:underline;text-underline-offset:4px}
.method-list{padding:0;list-style:none;margin:0}
.method-list li{display:grid;grid-template-columns:70px minmax(0,1fr) 210px;gap:28px;padding:30px 0;border-top:1px solid var(--line);align-items:start}
.method-list li:last-child{border-bottom:1px solid var(--line)}
.step-number{font-family:'Instrument Serif',Georgia,serif;font-size:42px;color:var(--red)}
.method-list h3{font-size:25px;margin:5px 0 10px}.method-list p{font-size:14px;color:#6e6260;max-width:700px;margin:0}
.step-tag{font-size:9px;letter-spacing:1px;text-align:right;margin-top:15px;color:#79675e}
.about-section{display:grid;grid-template-columns:1fr 1fr;gap:clamp(35px,7vw,110px);align-items:center;background:#eee7dd}
.about-signature{background:var(--red);color:var(--paper);padding:42px;min-height:430px;display:flex;flex-direction:column;justify-content:space-between;border-radius:5px;overflow:hidden}
.about-signature>span{font-size:9px;letter-spacing:2px}
.about-signature img{width:75%;height:auto;align-self:center;filter:brightness(0) invert(94%) sepia(12%) saturate(214%);margin:35px 0;opacity:.85}
.about-signature p{font-size:32px;letter-spacing:-1px;line-height:1.2;margin:0 0 35px}
.about-signature em{font-family:'Instrument Serif',Georgia,serif;font-size:42px}
.about-copy>p:not(.eyebrow){font-size:15px;color:#6e6260}.about-copy .text-link{color:var(--red)}
.faq-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px}
.faq-section .section-intro{margin:0}
.faq-list details{border-top:1px solid var(--line);scroll-margin-top:30px}.faq-list details:last-child{border-bottom:1px solid var(--line)}
.faq-list summary{padding:22px 32px 22px 0;position:relative;cursor:pointer;font-size:15px;line-height:1.5;list-style:none}
.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:'+';position:absolute;right:2px;top:21px;color:var(--red);font-size:23px}
.faq-list details[open] summary::after{content:'−'}.faq-list details[open] summary{color:var(--red)}
.faq-list details>div{padding:0 25px 20px 0;color:#6e6260;font-size:13px}.faq-list details p:first-child{margin-top:0}
.faq-list summary:focus-visible{outline:2px solid var(--red);outline-offset:4px}
.contact-section{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,6vw,90px);text-align:left;background:#eee7dd}
.contact-section>.contact-copy{display:block;margin:0}
.contact-copy>p:not(.eyebrow){font-size:14px;color:#6e6260;max-width:470px}
.contact-links{display:flex;flex-direction:column;gap:0;margin:32px 0;max-width:420px}
.contact-links a{display:flex;justify-content:space-between;padding:17px 0;border-bottom:1px solid #d6c8bc;font-size:clamp(15px,1.7vw,22px);gap:16px}
.contact-links a:hover{color:var(--red)}.contact-copy .contact-location{font-size:12px}
.project-form{background:var(--paper);padding:34px;border:1px solid #d8cabe;border-radius:6px}
.project-form h3{font-size:25px;margin:0 0 12px}.project-form .form-intro{font-size:13px;color:#6e6260;margin:0 0 25px}
.project-form label{display:block;font-size:12px;line-height:1.6;margin-bottom:18px}
.project-form input,.project-form select,.project-form textarea{display:block;width:100%;min-width:0;margin-top:7px;border:1px solid #c9bbae;border-radius:3px;background:#fffcf7;padding:12px;font:inherit;font-size:16px;color:var(--ink);min-height:46px}
.project-form textarea{resize:vertical}.project-form input:focus,.project-form select:focus,.project-form textarea:focus{outline:2px solid var(--red);outline-offset:2px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.optional{color:#79675e;font-size:10px}.project-form .form-note,.project-form .form-status{font-size:11px;color:#6e6260}
.project-form .button{width:100%;border:0;min-height:48px}.form-status:empty{display:none}
.site-footer{align-items:center;line-height:1.8}.site-footer>span:first-child{font-size:16px;color:var(--ink)}
.skip-link{position:absolute;top:8px;left:8px;transform:translateY(-180%);padding:12px 20px;background:var(--ink);color:var(--paper);z-index:200}
.skip-link:focus{transform:none}
.nav nav{gap:clamp(16px,2vw,34px);font-size:12px}
.nav-toggle{display:none}
.project-three .project-visual{background:#dde3b7}.project-four .project-visual{background:#ded6c9}
.project-four{margin-top:80px}.project-label p{font-size:10px;color:#79675e;margin:-5px 0 0}.project-label>div{min-width:0}
@media(max-width:1100px){
  .service-card{padding-right:22px}.service-card+.service-card{padding-left:22px}.service-card h3{font-size:23px}
  .plan,.creation-offer{padding:28px}.faq-section{gap:36px}
  .method-list li{grid-template-columns:50px minmax(0,1fr) 160px}
  .nav nav{gap:16px}.nav nav>a:not(.nav-contact){font-size:11px}
}
@media(max-width:900px){
  .nav-toggle{display:block;border:1px solid #cdbfb4;border-radius:3px;padding:10px 15px;min-height:44px;background:transparent;font-size:12px}
  .nav nav{display:none;position:absolute;top:calc(100% - 1px);left:0;right:0;flex-direction:column;align-items:stretch;background:var(--paper);padding:15px 22px;border:1px solid var(--line);box-shadow:0 15px 25px #25202112;gap:0}
  .nav nav.is-open{display:flex}.nav nav a,.nav nav>a:first-child{display:block;padding:14px 0;font-size:14px}
  .nav .nav-contact{border-bottom:0;color:var(--red)}
  .service-grid{grid-template-columns:1fr}.service-card,.service-card+.service-card{padding:27px 0;border-left:0}
  .service-card+.service-card{border-top:1px solid var(--line)}.service-card h3 br{display:none}.service-card h3{margin:15px 0}
  .service-card p{max-width:650px}.service-card ul{margin-top:16px}
  .creation-offer{gap:28px;grid-template-columns:1fr 1fr}
  .about-section{gap:32px}.about-signature{padding:28px}
  .faq-section{grid-template-columns:1fr;gap:26px}
  .contact-section{grid-template-columns:1fr}.contact-copy>p:not(.eyebrow){max-width:600px}
}
@media(max-width:760px){
  .site-section{padding:60px 6%}.section-intro{margin-bottom:28px}
  .section-intro>p:not(.eyebrow){font-size:14px}.site-section h2{font-size:clamp(33px,8.5vw,44px);letter-spacing:-1.5px}
  .service-note{align-items:flex-start;flex-direction:column;gap:12px}
  .creation-offer,.plan-grid,.pricing-notes,.about-section{grid-template-columns:1fr}
  .creation-offer,.plan{padding:25px}.creation-offer h3{font-size:30px}
  .creation-price strong{font-size:37px}.plan-grid{gap:18px}.plan .plan-price{font-size:50px}
  .pricing-notes{gap:4px}.monthly-change{gap:20px}
  .method-list li{grid-template-columns:38px minmax(0,1fr);gap:16px}.step-tag{grid-column:2;text-align:left;margin-top:0}
  .step-number{font-size:34px}.method-list h3{font-size:22px}.method-list p{font-size:13px}
  .about-signature{min-height:340px}.about-signature img{max-width:280px}
  .project-four{margin-top:0}.project-label{align-items:flex-start}.project-label>span{padding-top:18px;white-space:nowrap}
  .project-form{padding:23px}.form-row{grid-template-columns:1fr;gap:0}
  .contact-links a{font-size:20px}
}

/* One-time website creation offers, separate from recurring subscriptions. */
.build-section{background:var(--paper)}
.build-grid{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}
.build-card{display:flex;flex-direction:column;min-width:0;padding:30px;background:#fffcf7;border:1px solid #d8cabe;border-radius:6px;position:relative}
.build-card-top{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:28px;margin-bottom:28px}
.build-number{font:12px/1 monospace;color:var(--red)}
.build-badge{font-size:10px;padding:7px 10px;background:var(--red);color:var(--paper);border-radius:20px}
.build-card .eyebrow{font-size:9px;letter-spacing:1.1px;min-height:28px;margin:0}
.build-card h3{font-size:clamp(25px,2.4vw,34px);line-height:1.15;margin:12px 0 18px}
.build-description{font-size:13px;color:#6e6260;margin:0;min-height:100px}
.build-card .build-price{margin:24px 0;padding:22px 0;border-top:1px solid #d8cabe;border-bottom:1px solid #d8cabe;line-height:1.3}
.build-price small{display:block;font-size:11px;color:#6e6260}
.build-price>span{display:block;font-size:clamp(36px,3.4vw,52px);letter-spacing:-2px;margin:8px 0 10px;white-space:nowrap}
.build-price b{font-size:14px;font-weight:400;letter-spacing:0}
.build-card ul{list-style:none;margin:0 0 30px;padding:0;flex:1}
.build-card li{font-size:13px;line-height:1.7;padding-left:22px;position:relative;margin:0 0 13px}
.build-card li::before{content:'✓';position:absolute;left:0;color:var(--red)}
.build-card .button{display:flex;justify-content:space-between;gap:14px;padding:18px 20px;font-size:12px}
.build-card-featured{background:#f0e3d7;border-color:var(--red);box-shadow:inset 0 4px 0 var(--red),0 16px 35px #7c200c0a}
.build-section .build-footnote{max-width:1050px;font-size:12px;line-height:1.8;color:#6e6260;margin:25px 0}
.build-next{display:inline-flex;gap:30px;align-items:center;color:var(--red);font-size:12px;border-bottom:1px solid #9a261d55;padding:10px 0}
.build-next span{font-size:22px}
@media(max-width:1100px){.build-grid{gap:14px}.build-card{padding:24px}.build-description{min-height:120px}}
@media(max-width:900px){.build-grid{grid-template-columns:1fr}.build-card{padding:30px}.build-description{min-height:0;max-width:580px}.build-card .eyebrow{min-height:0}.build-card h3{font-size:32px}.build-price>span{font-size:48px}.build-card-top{margin-bottom:20px}}
@media(max-width:400px){.build-card{padding:23px}.build-next{gap:15px}.build-price>span{font-size:42px}}

.build-card .button[data-plan="Simple"],.build-card .button[data-plan="Boutique e-commerce"]{background:#fff;color:var(--red);border:1px solid #d8cabe}
.build-card .button[data-plan="Simple"]:hover,.build-card .button[data-plan="Boutique e-commerce"]:hover{background:#fff;color:var(--red);border-color:var(--red)}

.pricing-section .domain-note{font-size:12px;color:#6e6260;margin:18px 0 0}
.plan>.button{margin-top:auto}
@media(max-width:760px){.proximity-benefits article{padding-left:0}}

.build-card h3 .nowrap{white-space:nowrap}

@media(prefers-reduced-motion:no-preference){
.about-signature img{transform-origin:50% 65%;animation:about-logo-sway 4.5s ease-in-out infinite}
}
@keyframes about-logo-sway{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-5px) rotate(2deg)}}
.reduced .about-signature img{animation:none}

/* Deep red footer with white typography. */
.site-footer{background:#780b0e;color:#fff;margin:0;padding:28px max(5%,calc((100vw - 1500px)/2));border-top:0}
.site-footer>span:first-child,.site-footer a{color:#fff}
.site-footer a:focus-visible{outline-color:#fff}

.form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.project-form button:disabled{opacity:.65;cursor:wait}

/* Three levels of recurring support. */
.plan-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.plan{position:relative;min-width:0;padding:32px 28px}
.plan>.button{margin-top:auto}
.plan-pro{background:#f0e3d7;border-color:var(--red);box-shadow:inset 0 3px 0 var(--red)}
.plan-note a{text-decoration:underline;text-underline-offset:3px}
.plan .monthly-change{gap:16px;padding:16px}
@media(min-width:901px){.plan-grid .plan>.eyebrow{min-height:30px}}
@media(max-width:1000px) and (min-width:901px){.plan{padding:26px 18px}.plan .plan-price{font-size:48px}}
@media(max-width:900px){.plan-grid{grid-template-columns:1fr}.plan{padding:28px}.plan-description{max-width:none}}
.domain-note a { text-decoration: underline; text-underline-offset: 3px; }

/* Accueil : respiration verticale et appel à action détaché. */
.hero{padding-top:62px;padding-bottom:90px}
.hero-copy{align-self:start}
.hero-copy>.eyebrow{margin-top:0}
.hero-copy>.detail{margin-bottom:84px}
.work .section-heading>.work-audience{font-size:10px;font-weight:600;letter-spacing:1.5px;line-height:1.8}
@media(max-width:760px){.hero{padding-top:50px;padding-bottom:105px}.hero-copy{align-self:stretch}}
@media(min-width:761px){.hero{min-height:777px;height:calc(100svh - 83px);max-height:1077px}}

/* Section location: keyboard-accessible dots, mobile reading progress. */
.section-progress{position:fixed;right:10px;top:50%;transform:translateY(-50%);z-index:40;display:flex;flex-direction:column;padding:6px 0;border-radius:24px;background:#f7f2eadb}
.section-progress,.reading-progress{opacity:0;visibility:hidden;transition:opacity .3s ease,visibility 0s linear .3s}
.section-progress.is-visible,.reading-progress.is-visible{opacity:1;visibility:visible;transition-delay:0s}
.section-progress:not(.is-visible){pointer-events:none}
.section-progress a{position:relative;display:grid;place-items:center;width:32px;height:32px}
.section-progress a::after{content:'';width:6px;height:6px;border-radius:50%;background:#b8aaa0;transition:background .2s,transform .2s}
.section-progress a[aria-current]::after{background:var(--red);transform:scale(1.5)}
.section-progress a span{position:absolute;right:38px;white-space:nowrap;background:var(--paper);color:var(--ink);padding:7px 11px;border:1px solid var(--line);border-radius:4px;font-size:12px;opacity:0;visibility:hidden;pointer-events:none}
.section-progress a:hover span,.section-progress a:focus-visible span{opacity:1;visibility:visible}
.section-progress a:focus-visible{outline:2px solid var(--red);outline-offset:0;border-radius:50%}
.reading-progress{display:none;position:fixed;top:0;left:0;right:0;height:3px;background:var(--red);z-index:100;transform-origin:left;pointer-events:none}
@media(max-width:900px){.section-progress{display:none}.reading-progress{display:block}}
@media(prefers-reduced-motion:reduce){.section-progress,.reading-progress,.section-progress a::after{transition:none}}