/*
Theme Name: Franck SMP — Studio Nantes
Theme URI: https://franck-smp.fr
Author: Franck SMP
Description: Thème WordPress sur mesure pour un studio de micropigmentation capillaire, avec vidéo locale et galerie avant/après.
Version: 1.2.0
Requires at least: 6.2
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: franck-smp
*/
:root{--ink:#121619;--deep:#101315;--deep2:#1b2022;--gold:#d2ac7e;--gold-dark:#997653;--paper:#f5f3ee;--paper2:#eae7df;--muted:#696e6d;--line:rgba(18,22,25,.16);--white:#fff;--shell:1220px;--font:Arial,Helvetica,sans-serif;--serif:Georgia,'Times New Roman',serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased}body.admin-bar .site-header{top:32px}img,video{max-width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #d3a15d;outline-offset:4px}.shell{width:min(calc(100% - 84px),var(--shell));margin-inline:auto}.section{padding:124px 0}.section-light{background:var(--paper)}.section-dark{background:var(--deep);color:var(--paper)}.micro{font-size:11px;letter-spacing:.2em;font-weight:700}.screenreader,.skip-link{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{position:fixed;width:auto;height:auto;top:15px;left:15px;z-index:9000;background:white;color:black;padding:10px;clip:auto}.eyebrow{display:flex;align-items:center;gap:12px;font-size:11px;font-weight:700;line-height:1.4;letter-spacing:.19em;text-transform:uppercase;color:var(--gold-dark)}.eyebrow.light{color:#dcc09a}.ornament{display:inline-block;height:1px;width:27px;flex:none;background:var(--gold)}.display-heading{font-size:clamp(43px,5.2vw,78px);font-weight:500;letter-spacing:-.055em;line-height:1.09;margin:26px 0 35px}.display-heading em,.inner-hero h1 em,.section-cta h2 em{font-family:var(--serif);font-weight:400;letter-spacing:-.065em}.section-dark .display-heading em{color:var(--gold)}p{line-height:1.75}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;border:1px solid transparent;padding:17px 22px;font-size:12px;font-weight:700;letter-spacing:.055em;transition:background .2s ease,transform .2s ease;min-height:53px}.btn:hover{transform:translateY(-2px)}.btn-gold{background:var(--gold);color:#121619}.btn-gold:hover{background:#e4c59d}.btn-dark{background:#121619;color:white}.btn-dark:hover{background:#262c2e}.btn-outline{border-color:#6a6560;color:#f7f3ef}.btn-outline:hover{border-color:var(--gold);background:#302f2b}.btn-small{font-size:11px;padding:12px 15px;min-height:44px}.text-link{display:inline-flex;align-items:center;gap:30px;border-bottom:1px solid currentColor;padding-bottom:10px;font-weight:700;font-size:12px;letter-spacing:.04em}.text-link-light{color:var(--paper)}.text-link:hover{color:var(--gold-dark)}.text-link-light:hover{color:var(--gold)}
/* header */
.site-header{height:93px;position:sticky;top:0;z-index:120;background:var(--deep);border-bottom:1px solid rgba(255,255,255,.12);color:#f9f7f1}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:30px}.wordmark{position:relative;display:inline-flex;align-items:baseline;gap:6px;font-size:26px;font-weight:800;white-space:nowrap;letter-spacing:-.065em;line-height:1}.wordmark strong{font-size:26px;color:var(--gold)}.wordmark small{position:absolute;top:32px;left:0;letter-spacing:.18em;font-size:7px;font-weight:700;color:#a7a7a5}.main-nav{display:flex;align-items:center;gap:29px}.nav-links{display:flex;align-items:center;gap:28px;list-style:none;margin:0;padding:0}.nav-links a{font-size:11px;font-weight:700;color:#dddcd7;transition:color .2s}.nav-links .current-menu-item a,.nav-links a:hover{color:var(--gold)}.nav-toggle{display:none;border:0;background:none;padding:10px}.nav-toggle span{display:block;width:26px;height:2px;background:#eee;margin:5px 0}
/* hero */
.hero{height:min(790px,calc(100svh - 93px));min-height:610px;position:relative;background:#171919;color:var(--white);overflow:hidden}.hero-photo{position:absolute;inset:0;background-size:cover;background-position:68% 42%;filter:saturate(.88)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,8,9,.98) 0%,rgba(5,8,9,.9) 22%,rgba(5,8,9,.54) 49%,rgba(5,8,9,.03) 92%),linear-gradient(0deg,rgba(3,6,7,.42),transparent 32%)}.hero-content{height:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;position:relative;z-index:1;padding-bottom:14px}.hero h1{font-size:clamp(58px,7vw,112px);letter-spacing:-.07em;line-height:.99;font-weight:500;margin:32px 0 26px;max-width:880px}.hero h1 em{color:var(--gold);font-family:var(--serif);font-weight:400}.hero-lead{font-size:15px;line-height:1.8;color:#d9dcdb;max-width:465px;margin:0 0 36px}.hero-actions{display:flex;gap:32px;align-items:center;flex-wrap:wrap}.hero-aside{position:absolute;right:43px;top:52%;writing-mode:vertical-rl;letter-spacing:.25em;font-size:10px;z-index:2;display:flex;gap:38px;color:#fff9}.hero-scroll{position:absolute;bottom:40px;left:42px;z-index:2;letter-spacing:.17em;font-size:10px;color:#efe7df;display:flex;gap:18px;align-items:center}.hero-scroll span{font-size:18px}.trust-strip{background:#dec6a8;color:#292a28}.trust-inner{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:24px 0;text-transform:uppercase;letter-spacing:.14em;font-size:10px;font-weight:700}.tiny-star{color:#795f41}
/* editorial + services */
.editorial-grid{display:grid;grid-template-columns:1.08fr 1fr;gap:12%;align-items:center}.editorial-copy{padding-top:58px}.editorial-copy .lede{font-size:clamp(20px,2.25vw,29px);line-height:1.48;font-weight:500;letter-spacing:-.02em}.editorial-copy p:not(.lede){color:#626867;font-size:15px;max-width:515px}.editorial-copy .text-link{margin-top:26px}.split-heading{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:52px}.split-heading>div:first-child{flex:1}.split-heading>p,.split-heading>div:last-child{max-width:325px;color:#696e6d;font-size:14px}.section-dark .split-heading>p{color:#abaeac}.split-heading .display-heading{margin-bottom:0}.split-heading .text-link{margin-top:18px}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #4e5050;border-left:1px solid #4e5050}.service-card{position:relative;min-height:350px;padding:32px 33px;display:flex;flex-direction:column;border-bottom:1px solid #4e5050;border-right:1px solid #4e5050;transition:background .2s}.service-card:hover{background:#222727}.service-number{font-size:11px;color:var(--gold);font-weight:700}.service-symbol{font-family:var(--serif);font-size:76px;color:#b8a184;margin-top:auto;margin-bottom:23px;line-height:.9;font-weight:400}.service-card h3{font-size:24px;font-weight:500;letter-spacing:-.035em;margin:0}.service-card p{color:#a9acaa;font-size:13px;max-width:260px}.card-arrow{position:absolute;bottom:38px;right:30px;color:var(--gold);font-size:20px}
/* compare */
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.result-card{background:#fff;border:1px solid #deded9;min-width:0}.compare{position:relative;width:100%;aspect-ratio:1/1.07;overflow:hidden;background:#282b2d;--split:50%;isolation:isolate}.compare-before,.compare-after{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.compare-after{clip-path:inset(0 calc(100% - var(--split)) 0 0)}.compare-line{position:absolute;z-index:3;top:0;bottom:0;left:var(--split);width:2px;background:#fff;pointer-events:none;transform:translateX(-50%)}.compare-line span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--gold);height:40px;width:40px;display:grid;place-items:center;border-radius:50%;border:2px solid white;color:#191b1d;box-shadow:0 3px 10px #0005}.pill{position:absolute;top:18px;z-index:3;background:#14171acd;color:white;font-size:9px;letter-spacing:.13em;padding:8px 10px;pointer-events:none}.before-label{left:13px}.after-label{right:13px}.compare-range{position:absolute;z-index:5;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}.compare:focus-within{outline:3px solid var(--gold);outline-offset:-3px}.result-content{padding:24px 25px 29px}.result-content .micro{color:#a08361}.result-content h3{font-size:23px;font-weight:500;margin:12px 0 8px;letter-spacing:-.03em}.result-content p{font-size:12px;color:#717574;line-height:1.65;margin:0}.photo-disclaimer{color:#7e817c;font-size:11px;max-width:850px;margin:23px 0 0}.gallery-note{margin:85px 0 0;max-width:570px}.gallery-note h2{font-size:33px;font-weight:500;letter-spacing:-.04em}.gallery-note p{color:#6a6d6b;margin-bottom:24px}
/* video */
.film-section{background:#252a2b;color:#f5f3ee;position:relative;overflow:hidden}.film-section:after{content:'F';position:absolute;left:40%;top:-160px;font-size:850px;font-family:var(--serif);color:#ffffff05;line-height:1;pointer-events:none}.film-grid{display:grid;grid-template-columns:1fr .85fr;align-items:center;gap:12%;position:relative;z-index:1}.film-copy .display-heading{margin-bottom:30px}.film-copy .display-heading em{color:var(--gold)}.film-copy>p:not(.eyebrow){max-width:475px;color:#c4c8c5;font-size:15px}.film-copy .text-link{margin-top:25px}.film-note{margin-top:95px;display:flex;gap:16px;align-items:center;color:var(--gold)}.film-note span{font-size:35px;font-family:var(--serif)}.film-note small{font-size:9px;letter-spacing:.2em}.film-frame{position:relative;width:min(100%,410px);justify-self:center;background:#0c1112;border:9px solid #3d4241;box-shadow:0 35px 55px #0004;overflow:hidden}.film-frame video{display:block;aspect-ratio:544/960;width:100%;max-height:580px;object-fit:contain;background:#0a0b0b}.film-corner{position:absolute;z-index:1;top:15px;left:15px;background:#121619d4;color:#fff;padding:10px;font-size:9px;letter-spacing:.12em}
/* CTA */
.section-cta{background:var(--gold);text-align:center;padding:110px 0}.cta-content{display:flex;flex-direction:column;align-items:center}.cta-content .eyebrow{color:#674e35}.cta-content .ornament{background:#674e35}.section-cta h2{font-size:clamp(50px,6.1vw,92px);font-weight:500;letter-spacing:-.07em;line-height:1.06;margin:19px 0}.section-cta p:not(.eyebrow){max-width:500px;font-size:15px;margin:15px auto 34px}
/* subpages */
.inner-hero{background:#181d1f;color:white;padding:115px 0 105px}.inner-hero h1{font-size:clamp(56px,7vw,105px);line-height:1.05;letter-spacing:-.07em;font-weight:500;margin:24px 0}.inner-hero h1 em{color:var(--gold)}.inner-hero p:not(.eyebrow){max-width:630px;color:#cdd0ce;font-size:17px}.prose-grid{max-width:1000px;margin:auto}.feature-row{display:grid;grid-template-columns:1fr 1.2fr;gap:45px 90px;align-items:start;padding:60px 0;border-bottom:1px solid var(--line)}.feature-row .micro{grid-column:1/-1;color:var(--gold-dark)}.feature-row h2{font-size:clamp(32px,3.5vw,51px);font-weight:500;letter-spacing:-.05em;line-height:1.1;margin:0}.feature-row p{margin:0;font-size:16px;color:var(--muted)}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:55px}.steps-grid>div{border-top:1px solid #6b6f6d;padding-top:25px}.steps-grid span{color:var(--gold);font-size:11px}.steps-grid h3{font-size:27px;font-weight:500}.steps-grid p{color:#bec1be;font-size:14px}.narrow{max-width:830px}.narrow>.display-heading{margin-top:0}.faq{border-top:1px solid #c3c4bb;padding:25px 0}.faq:last-of-type{border-bottom:1px solid #c3c4bb;margin-bottom:36px}.faq summary{cursor:pointer;font-size:18px;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:20px}.faq summary:after{content:'+';font-size:28px;color:var(--gold-dark);font-weight:400}.faq[open] summary:after{content:'−'}.faq p{color:var(--muted)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.about-grid img{width:100%;height:640px;object-fit:cover;object-position:60% center}.about-grid p:not(.eyebrow){color:#676b69}.about-grid .btn{margin-top:23px}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:12%}.contact-intro .display-heading{font-size:clamp(43px,4vw,63px)}.contact-intro>p:not(.eyebrow){color:#737775}.contact-facts{margin-top:70px}.contact-facts>div{padding:18px 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:10px}.contact-facts span{font-size:10px;letter-spacing:.16em;color:#8a7b69}.contact-facts strong{font-size:16px;font-weight:500}.contact-panel{background:white;padding:43px 47px;box-shadow:0 20px 50px #0000000d}.contact-panel h3{font-size:34px;font-weight:500;margin:0}.contact-panel>p{color:#7b7f7d;font-size:14px;margin:8px 0 30px}.fsmp-form{display:flex;flex-direction:column;gap:17px}.fsmp-form label{font-size:12px;font-weight:700;color:#363c3b;display:flex;flex-direction:column;gap:8px}.fsmp-form input:not([type=checkbox]),.fsmp-form textarea,.fsmp-form select{display:block;width:100%;min-height:49px;padding:12px;border:1px solid #dbdedb;background:#faf9f6;color:#1c2221;border-radius:0}.fsmp-form textarea{min-height:116px;resize:vertical}.fsmp-form input:focus,.fsmp-form textarea:focus,.fsmp-form select:focus{outline:2px solid #bc9465}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.fsmp-form .checkline{font-size:12px;font-weight:400;flex-direction:row;align-items:flex-start;line-height:1.6;color:#6f7472}.checkline input{margin-top:4px;flex:none}.checkline a{text-decoration:underline;color:#916b3d}.fsmp-form .btn{align-self:start;margin-top:6px}.form-small{font-size:11px;color:#8c8e8c;margin:0}.trap{position:absolute;left:-99999px;top:-99999px}.form-notice{padding:16px;margin-bottom:24px;font-size:14px}.form-success{background:#edf5e8;color:#285a2b}.form-error{background:#fff0ec;color:#843c2b}.legal-content h2{font-size:28px;margin-top:40px}.legal-content p{line-height:1.9;color:#444b49}.legal-content a{text-decoration:underline}
/* footer */
.site-footer{background:var(--deep);color:#f1efe9;padding:84px 0 26px}.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:15%;padding-bottom:88px}.footer-top>div{display:flex;flex-direction:column;gap:15px;align-items:flex-start}.footer-brand{margin-bottom:30px}.footer-top p{color:#a2a7a5;font-size:13px;max-width:265px}.footer-heading{text-transform:uppercase;font-size:11px;letter-spacing:.15em;color:var(--gold);font-weight:700;margin:3px 0 22px}.footer-top a:not(.wordmark),.footer-top>div>span:not(.footer-heading){font-size:12px;color:#c1c3c0}.footer-top a:hover,.footer-bottom a:hover{color:var(--gold)}.footer-bottom{border-top:1px solid #383e3e;display:flex;justify-content:space-between;gap:20px;padding-top:28px;font-size:11px;color:#89908b}.footer-bottom>div{display:flex;gap:26px}
@media(max-width:1100px){.shell{width:min(calc(100% - 54px),var(--shell))}.main-nav{gap:16px}.nav-links{gap:15px}.hero h1{font-size:clamp(60px,7.7vw,90px)}.hero-photo{background-position:62% center}.film-grid{gap:7%}.footer-top{gap:8%}}
@media(max-width:820px){body.admin-bar .site-header{top:46px}.site-header{height:78px}.wordmark{font-size:24px}.wordmark strong{font-size:24px}.wordmark small{top:29px}.nav-toggle{display:block;z-index:2}.main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#101315;padding:26px 28px 32px;box-shadow:0 12px 30px #0004}.main-nav.is-open{display:flex;flex-direction:column;align-items:stretch}.nav-links{flex-direction:column;align-items:stretch;gap:20px}.nav-links a{font-size:15px}.hero{height:auto;min-height:680px}.hero-shade{background:linear-gradient(90deg,#050808eb 0%,#05080896 62%,#05080844 100%),linear-gradient(0deg,#05080850,transparent)}.hero-content{padding:110px 0 125px}.hero-photo{background-position:63% center}.hero-aside{right:22px}.hero-scroll{left:27px}.trust-inner{flex-wrap:wrap;justify-content:center;gap:11px 25px}.editorial-grid,.film-grid,.about-grid,.contact-grid{grid-template-columns:1fr;gap:50px}.editorial-copy{padding-top:0}.section{padding:85px 0}.display-heading{font-size:clamp(46px,7vw,64px)}.split-heading{align-items:start;flex-direction:column;gap:10px}.services-grid,.gallery-grid,.steps-grid{grid-template-columns:repeat(2,1fr)}.service-card{min-height:310px}.film-note{display:none}.film-frame{max-width:350px}.about-grid img{height:480px}.footer-top{grid-template-columns:1.5fr 1fr;gap:50px}.footer-top>div:last-child{grid-column:2}.contact-panel{padding:35px}.feature-row{gap:20px 45px}}
@media(max-width:560px){.shell{width:calc(100% - 40px)}.hero{min-height:615px}.hero-photo{background-position:60% center}.hero-shade{background:linear-gradient(90deg,#050808ee,#0508089b 90%)}.hero-content{padding:80px 0 122px}.hero h1{font-size:clamp(50px,12vw,70px)}.hero-lead{font-size:14px}.hero-actions{align-items:flex-start;flex-direction:column;gap:24px}.hero-aside{display:none}.hero-scroll{bottom:23px;left:20px}.trust-inner{padding:17px 0;font-size:9px;gap:9px 12px}.trust-inner .tiny-star:nth-of-type(4){display:none}.section{padding:68px 0}.display-heading{font-size:clamp(40px,9.5vw,56px);margin:20px 0 26px}.services-grid,.gallery-grid,.steps-grid{grid-template-columns:1fr}.service-card{min-height:270px}.split-heading{margin-bottom:34px}.compare{aspect-ratio:1/1.03}.result-content{padding:22px}.film-grid{gap:38px}.film-frame{max-width:290px}.section-cta{padding:78px 0}.section-cta h2{font-size:clamp(41px,9.2vw,61px)}.inner-hero{padding:83px 0 72px}.inner-hero h1{font-size:clamp(53px,12vw,70px)}.feature-row{display:block;padding:35px 0}.feature-row h2{margin:18px 0 11px}.about-grid img{height:350px}.contact-panel{padding:26px 22px}.form-grid{grid-template-columns:1fr}.footer-top{grid-template-columns:1fr;gap:35px;padding-bottom:55px}.footer-top>div:last-child{grid-column:auto}.footer-bottom{flex-direction:column}.footer-bottom>div{flex-wrap:wrap;gap:15px}.site-footer{padding:60px 0 26px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:0.01ms!important;animation-duration:0.01ms!important}}

/* Version 1.1: hero text adjusted to accommodate full French proposition. */
.hero h1.hero-title-updated{font-size:clamp(38px,4.55vw,64px);line-height:1.12;letter-spacing:-.055em;max-width:900px;text-wrap:balance;overflow-wrap:normal}
.hero h1.hero-title-updated em{font-size:.95em}
@media(max-width:820px){.hero h1.hero-title-updated{font-size:clamp(36px,5.8vw,51px);max-width:720px}}
@media(max-width:560px){.hero h1.hero-title-updated{font-size:clamp(30px,8.2vw,40px);line-height:1.13;margin:23px 0 18px}.hero-title-updated em{line-height:1.12}}
