@font-face{font-family:Inter;src:url(../assets/inter.woff2);font-weight:100 900;font-display:swap}@font-face{font-family:Playfair;src:url(../assets/playfair-display-0.ttf);font-weight:400;font-display:swap}@font-face{font-family:Archivo;src:url(../assets/archivo-2.ttf);font-weight:700;font-display:swap}@font-face{font-family:Manrope;src:url(../assets/manrope-0.ttf);font-weight:400;font-display:swap}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:14px/1.65 Inter,Arial,sans-serif;background:var(--bg,#f5f5ef);color:var(--ink,#213833);--accent:#206153;--muted:#65756b;--line:#d5ddd5;--soft:#e9eee6}h1,h2,h3,p{margin:0}h1,h2{text-wrap:balance}h1{font-size:clamp(48px,5.5vw,85px);line-height:1.03;letter-spacing:-.055em;font-weight:500}h2{font-size:clamp(31px,3.5vw,50px);line-height:1.13;letter-spacing:-.045em;font-weight:450}h3{font-size:22px;line-height:1.25;letter-spacing:-.025em}em{font-family:Georgia,serif;font-weight:400}img{display:block;max-width:100%;height:auto;object-fit:cover}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a,button{ -webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--accent);outline-offset:5px}button:disabled{cursor:not-allowed;opacity:.5}button{border:0}a:hover{text-underline-offset:5px}.wrap{width:min(1240px,90%);margin:auto}.kicker{text-transform:uppercase;letter-spacing:.17em;font-size:10px;font-weight:650}.lead{font-size:16px;line-height:1.7;color:var(--muted);max-width:470px;margin:25px 0}.logo{font-size:22px;line-height:1.1;letter-spacing:-.045em;font-weight:700}.logo small{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.17em;font-weight:400;margin-top:8px}.cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:14px 25px;background:var(--accent);color:white;border-radius:99px;border:1px solid transparent;font-size:12px;font-weight:550;transition:background-color .18s,transform .18s}.cta:hover{filter:brightness(.92)}.cta:active{transform:translateY(1px)}.cta.outline{background:transparent;border-color:currentColor;color:inherit}.text-link{border-bottom:1px solid;padding:8px 0;display:inline-block;font-size:12px}.pill{padding:7px 13px;border:1px solid var(--line);border-radius:99px;font-size:11px;background:transparent;min-height:40px}.pill[aria-pressed=true],.choice[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.hamburger{width:46px;height:46px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border-radius:50%;background:var(--soft);border:1px solid var(--line)}.hamburger span{width:18px;height:1px;background:currentColor}.desktop-nav{display:flex;gap:26px;align-items:center;font-size:12px}.standard-head{padding:28px 0;display:flex;align-items:center;justify-content:space-between;gap:20px}.mobile-only{display:none}.menu-dialog{position:fixed;inset:0 0 0 auto;margin:0;width:min(460px,95vw);height:100dvh;max-height:100dvh;border:0;background:var(--bg);color:var(--ink);padding:40px}.menu-dialog::backdrop{background:#102419aa;backdrop-filter:blur(5px)}.menu-dialog nav{display:flex;flex-direction:column;gap:25px;margin-top:65px}.menu-dialog nav a{font-size:32px;line-height:1.2;letter-spacing:-.045em}.menu-dialog .close{float:right}.close{border:1px solid var(--line);border-radius:40px;padding:10px 18px;background:transparent;min-height:44px}.prototype-footer{padding:25px 5%;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:30px;font-size:10px;color:var(--muted)}.prototype-footer .logo{color:var(--ink)}.prototype-footer p{max-width:540px}.prototype-footer a:last-child{text-decoration:underline}.demo-label{padding:12px 18px;border-left:2px solid var(--accent);font-size:11px;color:var(--muted);margin:20px 0;background:var(--soft)}.section{padding:65px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:32px}.section-head p{max-width:380px;color:var(--muted);font-size:13px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:50px}.feature{border-top:1px solid var(--line);padding:25px 0}.feature p{color:var(--muted);margin-top:15px;font-size:13px}.feature h3{font-weight:500}.feature .kicker{margin-bottom:15px}.module-hero{padding:35px 0 40px}.module-hero h1{font-size:clamp(40px,5vw,66px);margin-top:16px}.module-hero p{max-width:700px;color:var(--muted);margin-top:17px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:flex;flex-direction:column;gap:9px;margin-bottom:20px;font-size:12px}.field input,.field select,.field textarea{border:1px solid var(--line);background:var(--bg);border-radius:12px;padding:13px 15px;min-height:48px;width:100%}.field textarea{height:110px;resize:vertical}.notice{font-size:11px;line-height:1.6;color:var(--muted);margin:15px 0}.form-panel{padding:30px;background:var(--soft);border-radius:24px}.form-panel h2{font-size:27px;margin-bottom:20px}.status{margin-top:20px;padding:15px 0;font-size:13px}.status:empty{display:none}.contact-main{padding:40px 0 70px}.contact-main h1{margin:20px 0}.contact-main dl{margin:30px 0}.contact-main dt{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-top:22px}.contact-main dd{margin:5px 0}.contact-main .contact-photo{height:240px;width:100%;border-radius:20px}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:20px 0}.drawer-card{background:var(--bg);color:var(--ink);border:0;border-radius:24px;width:min(860px,94vw);max-height:90dvh;padding:32px;overflow:auto}.drawer-card::backdrop{background:#09172caa;backdrop-filter:blur(5px)}.drawer-card .close{float:right;margin-bottom:15px}.drawer-card img{width:100%;height:280px;border-radius:16px;margin-bottom:20px}.drawer-card h2{clear:both}.drawer-card p{margin:15px 0}.specs{display:flex;gap:15px;flex-wrap:wrap;margin:20px 0;font-size:12px}.specs span{padding:8px 12px;border-radius:10px;background:var(--soft)}.empty-state{padding:40px;border:1px dashed var(--line);border-radius:15px}.hidden,[hidden]{display:none!important}
/* Plumbing: rounded service dock, pragmatic contact and diagnosis. */
.plomberie{--bg:#f4f7f7;--ink:#173c47;--accent:#0d8296;--soft:#e6eff1;--line:#c8dce0;--muted:#5b7680}.plumbing-top{background:#183d47;color:white;font-size:10px;padding:8px 5%;display:flex;justify-content:space-between}.plumbing-header{background:white;border-radius:22px;padding:20px 25px;margin-top:22px;box-shadow:0 5px 22px #173c4708}.plumbing-logo{display:flex;align-items:center;gap:12px}.watermark{width:35px;height:43px;border:3px solid #0d8296;border-radius:60% 40% 60% 40%;transform:rotate(35deg)}.plomberie .hero{padding:65px 0;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.plomberie .hero h1 em{color:#0d8296;font-style:normal}.plomberie .hero-photo{position:relative}.plomberie .hero-photo>img{height:505px;width:100%;border-radius:150px 28px 28px 28px}.plomberie .photo-label{position:absolute;left:-28px;bottom:25px;background:white;padding:18px 23px;border-radius:18px;box-shadow:0 12px 50px #1b454022;font-size:12px;max-width:250px}.plomberie .photo-label strong{display:block;font-size:17px}.service-dock{background:white;padding:28px;border-radius:25px;display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.service-dock a{padding:10px 20px;border-right:1px solid var(--line)}.service-dock a:last-child{border:0}.service-dock span{display:block;font-size:28px;color:var(--accent);margin-bottom:12px}.service-dock h3{font-size:19px}.service-dock p{font-size:12px;color:var(--muted);margin-top:8px}.diagnostic{max-width:820px;margin:auto;padding:35px;background:white;border-radius:28px}.choices{display:flex;gap:12px;flex-wrap:wrap}.choice{padding:16px 22px;border:1px solid var(--line);border-radius:16px;background:transparent;min-height:52px;font-size:13px;text-align:left}.diagnostic h2{font-size:28px;margin-bottom:25px}.diagnostic-result{margin-top:30px;border-top:1px solid var(--line);padding-top:25px}.diagnostic-result h3{margin-bottom:12px}
/* Building: off-canvas navigation, technical typography and a framed project. */
.btp{--bg:#ebe9e2;--ink:#252620;--accent:#b34322;--soft:#e0ddd3;--line:#c5c2b6;--muted:#64675a;padding-left:94px}.btp .rail{position:fixed;left:0;top:0;bottom:0;width:94px;background:#252620;color:#ebe9e2;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:28px 0;z-index:10}.rail .hamburger{color:white;background:transparent;border-color:#777d6d}.rail strong{writing-mode:vertical-rl;transform:rotate(180deg);font-size:12px;letter-spacing:.2em}.rail a{font-size:10px;writing-mode:vertical-rl}.btp .standard-head{border-bottom:1px solid var(--line)}.btp .logo{font-family:Archivo,Arial,sans-serif;text-transform:uppercase;letter-spacing:-.06em}.btp .cta{border-radius:0}.btp h1,.btp h2{font-family:Archivo,Arial,sans-serif;font-weight:700;letter-spacing:-.055em}.btp .hero{padding:60px 0 0;position:relative}.btp .hero h1{font-size:clamp(62px,7.8vw,112px);line-height:.95;max-width:870px;position:relative;z-index:1}.btp .hero em{font-family:inherit;font-style:normal;font-weight:700;color:var(--accent)}.btp .construction-visual{margin-top:32px;position:relative;display:grid;grid-template-columns:.6fr 1.4fr;gap:40px;align-items:end}.btp .construction-visual img{height:350px;width:100%;filter:saturate(.6)}.btp .construction-visual>div{padding-bottom:30px}.btp .hero .kicker{margin-bottom:24px}.btp .construction-strip{display:flex;gap:20px;justify-content:space-between;background:#252620;color:#eae9dc;padding:16px 25px;font-size:12px}.quote-layout{display:grid;grid-template-columns:300px 1fr;gap:65px;align-items:start}.quote-nav{list-style:none;padding:0;counter-reset:q}.quote-nav li{padding:20px 0;border-bottom:1px solid var(--line);font-size:13px;color:var(--muted)}.quote-nav li[aria-current=step]{color:var(--accent);font-weight:700}.quote-nav span{margin-right:22px}.quote-stage{background:#fffefa;padding:36px;border-radius:5px}.quote-stage h2{font-size:32px;margin-bottom:15px}.quote-stage .choices{margin:25px 0}.quote-actions{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding-top:25px;margin-top:30px}.quote-summary dl{display:grid;grid-template-columns:1fr 1fr;gap:15px}.quote-summary dt{color:var(--muted)}.quote-summary dd{margin:0;font-weight:600}.btp .contact-main .grid2{grid-template-columns:.8fr 1.2fr}.btp .form-panel{border:1px solid var(--ink);border-radius:0;background:transparent}.btp .field input,.btp .field select,.btp .field textarea{border-radius:0;background:#f6f5ee}
/* Restaurant: typographic masthead, large capsule navigation and a real room model. */
.restaurant{--bg:#f6f0e5;--ink:#612c32;--accent:#782e3c;--soft:#eee2d2;--line:#d9c5b6;--muted:#846168}.restaurant h1,.restaurant h2,.restaurant h3{font-family:Georgia,serif;font-weight:400;letter-spacing:-.035em}.restaurant .masthead{display:grid;grid-template-columns:1fr auto 1fr;gap:25px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line)}.restaurant .masthead .logo{text-align:center;font:italic 31px Georgia,serif}.restaurant .masthead .kicker{font-size:9px}.restaurant .masthead .cta{justify-self:end}.restaurant .menu-links{display:flex;justify-content:center;gap:45px;padding:22px 0;font-size:12px}.restaurant .hero{display:grid;grid-template-columns:1fr 1.05fr;gap:65px;align-items:center;padding:30px 0 55px}.restaurant .hero h1{font-size:clamp(50px,5.2vw,78px);line-height:1.08}.restaurant .hero img{height:490px;width:100%;border-radius:50% 50% 7px 7px}.restaurant .hero .kicker{margin-bottom:20px}.restaurant .signature{font:italic 22px Georgia,serif;margin-top:25px}.restaurant .menu-preview{background:#ede0ca;padding:35px;border-radius:22px}.dish{display:flex;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line);padding:23px 0}.dish h3{font-size:24px}.dish p{font-size:12px;color:var(--muted);margin-top:6px}.dish>strong{white-space:nowrap;font-size:17px;font-weight:500}.restaurant-menu{max-width:850px;margin:auto}.restaurant-menu .toolbar{justify-content:center}.room-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.7fr);gap:30px;align-items:start}.room{background:#e8decc;border-radius:24px;overflow:hidden;min-width:0}.room-canvas{height:440px;position:relative}.room-canvas canvas{width:100%;height:100%;display:block;touch-action:pan-y}.room-controls{display:flex;justify-content:space-between;gap:15px;padding:15px;flex-wrap:wrap;background:#f0e9de}.room-controls button{background:white;padding:9px 15px;border-radius:20px;font-size:11px;min-height:42px}.legend{display:flex;gap:15px;font-size:10px}.legend span:before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;background:#708d6b;margin-right:6px}.legend span:nth-child(2):before{background:#aa8385}.legend span:nth-child(3):before{background:#b68933}.table-list{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:15px}.table-list button{padding:10px 6px;border-radius:10px;font-size:11px;background:#d7e4cb;color:#354635;border:1px solid transparent;min-height:46px}.table-list button:disabled{background:#dccacc;color:#634144;opacity:.75}.table-list button[aria-pressed=true]{background:#e7c16e;color:#443616;border-color:#9b782f}.booking-summary{background:#fffaf2;border:1px solid var(--line);border-radius:22px;padding:25px}.booking-summary h2{font-size:29px;margin-bottom:24px}.booking-summary select,.booking-summary input{background:#fffaf2}.booking-summary .cta{width:100%}.restaurant .contact-main{max-width:940px;margin:auto}.restaurant .contact-main>h1{text-align:center}.restaurant .contact-main .form-panel{background:transparent;border-top:1px solid var(--line);border-radius:0}.restaurant .field input,.restaurant .field textarea{border-radius:0;border-width:0 0 1px;background:transparent}.restaurant .contact-main .contact-photo{border-radius:180px 180px 10px 10px;height:380px}
/* Real estate: blue atmospheric architecture and translucent floating navigation. */
.immobilier{--bg:#fff;--ink:#152849;--accent:#195bef;--soft:#eff4ff;--line:#dce4f1;--muted:#677995}.immo-shell{background:linear-gradient(180deg,#1150ef 0%,#3c7af6 48%,#86acfb 76%,#fff 100%);color:white;position:relative;overflow:hidden}.immo-lines{position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(30% - 1px),#ffffff26 calc(30% - 1px),#ffffff26 30%);margin:0 5%;mask-image:linear-gradient(#000,transparent)}.immobilier .standard-head{position:relative;z-index:3}.immobilier .immo-header{display:grid;grid-template-columns:1fr auto 1fr;gap:20px}.immobilier .immo-header>.cta{justify-self:end}.immobilier .logo{font-weight:500;font-family:Manrope,sans-serif;font-size:18px}.glass-nav{display:flex;gap:5px}.glass-nav a{padding:11px 17px;border-radius:99px;background:#ffffff24;backdrop-filter:blur(12px);font-size:11px}.glass-nav a:first-child{background:white;color:#1b3050}.immobilier .immo-header>.cta{background:#ffffff1c;border:1px solid #ffffffa8;backdrop-filter:blur(12px)}.immo-hero{position:relative;min-height:820px;padding:25px 0 60px}.immo-hero h1{position:relative;z-index:2;font:400 clamp(60px,8.2vw,120px)/.94 Playfair,Georgia,serif;letter-spacing:-.045em;max-width:920px;text-transform:uppercase}.immo-hero h1 span{display:block}.immo-hero h1 span:first-child{padding-left:.8em}.immo-hero .house{position:absolute;right:-7%;bottom:-10px;width:94%;max-width:none;z-index:1;pointer-events:none}.immo-tagline{position:absolute;right:0;top:95px;max-width:230px;z-index:3;font-size:13px;text-transform:uppercase;letter-spacing:.015em}.immo-hero .hero-side{position:absolute;left:0;bottom:80px;z-index:3;width:230px}.immo-hero .hero-side .cta{background:white;color:#1d4fae}.immo-hero .hero-side img{width:180px;height:112px;border-radius:15px;margin-top:28px;box-shadow:0 10px 40px #10398030}.immo-hero .hero-side p{font-size:12px;margin-top:10px}.immobilier .hamburger{background:#ffffff20;color:inherit;border-color:#ffffff40;backdrop-filter:blur(12px)}.immobilier .page-head{background:#1755e6;color:white}.property-section{padding:65px 0}.property-section h2{font:400 52px/1.08 Playfair,Georgia,serif;letter-spacing:-.04em}.property-filters{display:flex;justify-content:space-between;gap:15px;align-items:center;flex-wrap:wrap;margin:28px 0}.property-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.property-card{position:relative}.property-image{display:block;padding:0;background:var(--soft);width:100%;border-radius:22px;overflow:hidden;text-align:left}.property-image img{width:100%;height:350px;transition:transform .4s}.property-image:hover img{transform:scale(1.025)}.favorite{position:absolute;right:13px;top:13px;z-index:1;width:42px;height:42px;background:#ffffffdd;border-radius:50%;color:#173971;font-size:22px;backdrop-filter:blur(8px)}.favorite[aria-pressed=true]{color:#bf4452;background:white}.property-meta{display:flex;justify-content:space-between;font-size:10px;text-transform:uppercase;letter-spacing:.08em;margin-top:19px;color:var(--muted)}.property-card h3{font-size:21px;margin:8px 0}.property-card p{font-size:12px;color:var(--muted)}.property-price{font-size:19px;font-weight:550;margin-top:14px}.immo-contact{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px}.immo-contact .form-panel{background:#f1f5fd;border-radius:30px}.immo-contact aside{padding-top:20px}.immo-contact h1{font-family:Playfair,Georgia,serif}.contact-options{display:grid;gap:12px}.contact-options button{text-align:left;padding:21px;border:1px solid var(--line);background:white;border-radius:15px}.contact-options button[aria-pressed=true]{border-color:var(--accent);background:var(--soft)}
/* Flowers: compact store navigation and expressive typographic rhythm. */
.fleuriste{--bg:#f8e6d8;--ink:#6e3023;--accent:#b83d26;--soft:#f1d5bf;--line:#dbb59b;--muted:#92684f}.flower-header{display:flex;align-items:center;justify-content:space-between;padding:25px 0;gap:25px}.flower-header .logo{font:italic 34px Georgia,serif}.flower-nav{display:flex;gap:30px;font-size:12px}.flower-header .hamburger{background:#6e3023;color:#fff;border:0}.fleuriste .hero{display:grid;grid-template-columns:1.05fr 1fr;gap:45px;align-items:center;padding:35px 0 70px}.fleuriste h1{font:400 clamp(58px,7vw,98px)/.95 Georgia,serif;letter-spacing:-.055em}.fleuriste h1 em{color:var(--accent);font-weight:400}.fleuriste .hero img{height:550px;width:100%;border-radius:8px 180px 8px 8px}.fleuriste .hero .lead{max-width:330px;font-size:14px}.flower-ribbon{padding:17px 0;background:#b83d26;color:#ffeddf;display:flex;justify-content:space-around;font:italic 24px Georgia,serif;gap:20px}.flower-shop{display:grid;grid-template-columns:1fr 1fr;gap:65px}.flower-shop>img{height:560px;width:100%;border-radius:30px}.flower-shop h2{font:400 44px/1.1 Georgia,serif}.flower-shop .price{font-size:27px;margin:15px 0}.flower-shop .choice{border-radius:99px}.flower-cart{margin-top:30px;padding:25px;border-radius:25px;background:#fff5eb}.flower-cart h3{font-family:Georgia,serif;font-weight:400;margin-bottom:15px}.flower-cart .cart-row{display:flex;justify-content:space-between;gap:15px}.flower-cart button{background:none;text-decoration:underline;margin-top:15px}.fleuriste .contact-main .grid2{gap:70px}.fleuriste .form-panel{background:#fff6ed;border-radius:40px 5px 40px 5px}.fleuriste .contact-main h1{font:400 72px/1 Georgia,serif}.fleuriste .contact-photo{border-radius:5px 100px 5px 5px}
/* Beauty: framed editorial image, spare pill navigation, appointment calendar. */
.beaute{--bg:#f7f5ef;--ink:#4c4b3e;--accent:#74785d;--soft:#eae9df;--line:#d0d1c1;--muted:#80826d}.beauty-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:30px 0;gap:25px}.beauty-header .logo{font:400 26px Georgia,serif;letter-spacing:.05em;text-align:center}.beauty-header>a:last-child{justify-self:end}.beauty-header .desktop-nav{font-size:11px;gap:22px}.beaute .hero{height:680px;position:relative;border-radius:200px 200px 12px 12px;overflow:hidden;background:#d4c4a7}.beaute .hero img{width:100%;height:100%;object-position:center 55%;filter:brightness(.83)}.beaute .hero-copy{position:absolute;bottom:60px;left:6%;max-width:700px;color:white}.beaute h1{font:400 clamp(52px,6vw,85px)/1.04 Georgia,serif;letter-spacing:-.045em}.beaute .hero .lead{color:white;max-width:365px;font-size:14px}.beaute .hero .cta{background:#f9f8ed;color:#585946}.beaute .hero .kicker{margin-bottom:20px}.beaute h2{font-family:Georgia,serif}.beauty-booking{display:grid;grid-template-columns:.85fr 1.2fr .85fr;gap:25px}.treatment-list{display:flex;flex-direction:column;gap:12px}.treatment-list .choice{border-radius:20px;padding:22px}.treatment-list .choice span{display:block;font-size:11px;opacity:.75;margin-top:6px}.calendar-panel{padding:25px;border:1px solid var(--line);border-radius:24px}.calendar-panel h3{margin-bottom:20px;font:400 25px Georgia,serif}.dates{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.dates button,.slots button{border:1px solid var(--line);border-radius:15px;padding:12px 7px;min-height:45px;background:transparent;font-size:12px}.dates button span{display:block;font-size:10px}.dates button[aria-pressed=true],.slots button[aria-pressed=true]{background:var(--accent);color:#fff}.slots{display:flex;gap:8px;flex-wrap:wrap;margin-top:25px}.beaute .booking-summary{background:#e8eadd;border-color:var(--line)}.beaute .contact-main .form-panel{background:transparent;border-top:1px solid var(--line);border-radius:0;padding:25px 0}.beaute .field input,.beaute .field textarea{background:transparent;border-width:0 0 1px;border-radius:0}.beaute .contact-main h1{font:400 62px/1.12 Georgia,serif}.beaute .contact-photo{border-radius:100px 100px 5px 5px}
/* Photography: immersive black canvas and a full-screen menu. */
.photographe{--bg:#151615;--ink:#f1efe8;--accent:#d9d2ba;--soft:#262724;--line:#3f4038;--muted:#a4a69b}.photographe .standard-head{padding:35px 0}.photographe .logo{font-size:16px;letter-spacing:.14em;font-weight:400;text-transform:uppercase}.photographe .cta{color:#1c201b}.photographe .menu-dialog{width:100vw;max-width:100vw;text-align:center}.photographe .menu-dialog nav{align-items:center;margin-top:12vh}.photographe .menu-dialog nav a{font:400 55px Georgia,serif}.photo-hero{position:relative;height:670px;overflow:hidden}.photo-hero img{width:100%;height:100%;object-position:center;filter:brightness(.6)}.photo-hero>div{position:absolute;bottom:65px;left:6%;right:6%;display:flex;align-items:end;justify-content:space-between;gap:30px}.photo-hero h1{font:400 clamp(55px,7vw,100px)/1 Georgia,serif;max-width:740px}.photo-grid{columns:3;column-gap:20px}.photo-tile{display:block;width:100%;position:relative;background:none;padding:0;margin-bottom:20px;break-inside:avoid;color:white;text-align:left;overflow:hidden}.photo-tile img{width:100%;height:310px;filter:saturate(.75);transition:filter .2s}.photo-tile:nth-child(2n) img{height:420px}.photo-tile span{position:absolute;left:20px;bottom:18px;background:#151615a8;padding:6px 12px;font-size:11px;border-radius:15px}.photo-tile:hover img{filter:saturate(1)}.photo-tile[aria-pressed=true]{outline:3px solid #d2b77b;outline-offset:-3px}.photo-tile[aria-pressed=true] span{background:#d2b77b;color:#222}.selection-bar{position:sticky;bottom:15px;display:flex;align-items:center;justify-content:space-between;gap:25px;border-radius:99px;padding:15px 25px;background:#ffffff16;backdrop-filter:blur(18px);border:1px solid #ffffff35;margin:25px auto;max-width:750px;z-index:2}.photographe .contact-main{max-width:1000px;margin:auto}.photographe .contact-main h1{font:400 78px/1.06 Georgia,serif}.photographe .form-panel{background:none;padding:0}.photographe .field input,.photographe .field textarea{border-width:0 0 1px;border-radius:0;background:transparent}.photographe .drawer-card{background:#171917;color:white}.photographe .drawer-card img{height:65vh;object-fit:contain;border-radius:0}
@keyframes intro{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes houseRise{from{opacity:0;transform:translateY(80px)}to{opacity:1;transform:none}}.immo-hero h1 span{animation:intro .65s both}.immo-hero h1 span:nth-child(2){animation-delay:.12s}.immo-hero h1 span:nth-child(3){animation-delay:.24s}.immo-hero .house{animation:houseRise 1.2s both}.immo-tagline{animation:intro .7s .3s both}
@media(max-width:1000px){.desktop-nav{gap:15px}.immo-header .glass-nav{gap:3px}.glass-nav a{padding:10px 12px}.immo-tagline{position:relative;top:auto;right:auto;margin:25px 0 0 auto;max-width:270px}.immo-hero{min-height:800px}.immo-hero .house{right:-15%;width:110%}.beauty-booking{grid-template-columns:1fr 1.4fr}.beauty-booking .booking-summary{grid-column:1/-1}.room-layout{grid-template-columns:1fr 290px}.btp{padding-left:70px}.btp .rail{width:70px}.quote-layout{grid-template-columns:210px 1fr;gap:30px}.flower-nav{gap:17px}.standard-head{gap:15px}.photo-grid{columns:2}}
@media(max-width:760px){.wrap{width:89%}h1{font-size:48px}.desktop-nav,.flower-nav{display:none}.mobile-only{display:flex}.standard-head{padding:22px 0}.logo{font-size:20px}.prototype-footer{flex-wrap:wrap;gap:20px;font-size:9px}.prototype-footer p{order:3}.section{padding:45px 0}.section-head{display:block}.section-head p{margin-top:18px}.grid3,.grid2,.immo-contact,.contact-main .grid2,.btp .contact-main .grid2{grid-template-columns:1fr;gap:30px}.form-grid{grid-template-columns:1fr;gap:0}.form-panel{padding:24px}.module-hero{padding-top:25px}.module-hero h1{font-size:40px}.plumbing-top{font-size:8px}.plumbing-top span:last-child{display:none}.plumbing-header{margin-top:15px;padding:16px 18px}.plumbing-header>.cta{display:none}.plomberie .hero{grid-template-columns:1fr;padding:38px 0;gap:30px}.plomberie .hero-photo>img{height:340px;border-radius:100px 24px 24px}.plomberie .photo-label{left:12px;bottom:15px;padding:12px 18px;font-size:10px}.plomberie .photo-label strong{font-size:14px}.service-dock{grid-template-columns:1fr;padding:20px}.service-dock a{border:0;border-bottom:1px solid var(--line);padding:5px 0 20px}.service-dock span{float:left;margin-right:18px;font-size:24px}.service-dock p{margin-left:45px}.diagnostic{padding:23px}.btp{padding-left:0}.btp .rail{position:static;width:100%;height:60px;flex-direction:row;padding:0 5%}.rail strong,.rail a{writing-mode:horizontal-tb;transform:none}.rail a{display:none}.rail .hamburger{height:37px;width:37px}.btp .hero{padding-top:35px}.btp .hero h1{font-size:64px}.btp .construction-visual{grid-template-columns:1fr;gap:25px}.btp .construction-visual>div{padding:0}.btp .construction-visual img{height:280px}.btp .construction-strip{font-size:9px;padding:13px;gap:10px}.quote-layout{grid-template-columns:1fr;gap:20px}.quote-nav{display:flex;gap:13px;flex-wrap:wrap}.quote-nav li{padding:10px 0;font-size:10px}.quote-nav span{margin-right:6px}.quote-stage{padding:24px}.quote-summary dl{grid-template-columns:1fr}.restaurant .masthead{grid-template-columns:1fr auto;padding:22px 0}.restaurant .masthead>.kicker{display:none}.restaurant .masthead .logo{text-align:left;font-size:25px}.restaurant .masthead .cta{display:none}.restaurant .masthead .hamburger{display:flex}.restaurant .menu-links{gap:22px;font-size:11px;padding:17px 0}.restaurant .hero{grid-template-columns:1fr;gap:30px;padding:25px 0 40px}.restaurant .hero h1{font-size:55px}.restaurant .hero img{height:350px}.room-layout{grid-template-columns:1fr}.room-canvas{height:330px}.room-controls{gap:10px}.table-list{grid-template-columns:repeat(4,1fr);margin:12px;gap:6px}.restaurant .contact-main>h1{text-align:left}.restaurant .contact-main .contact-photo{height:270px}.immo-hero{min-height:750px;padding-top:25px}.immo-hero h1{font-size:clamp(45px,9.8vw,70px);line-height:1}.immo-hero h1 span:first-child{padding-left:.5em}.immo-tagline{font-size:11px;margin:25px 0 0;max-width:235px}.immo-hero .house{width:155%;right:-35%;bottom:0}.immo-hero .hero-side{bottom:30px;width:180px}.immo-hero .hero-side img,.immo-hero .hero-side p{display:none}.immo-hero .hero-side .cta{padding:13px 17px;font-size:11px}.immobilier .immo-header{display:flex;padding:25px 0}.immo-header .glass-nav,.immo-header>.cta{display:none}.immo-header .hamburger{margin-left:auto}.property-grid{grid-template-columns:1fr;gap:35px}.property-image img{height:340px}.property-section{padding:40px 0}.property-section h2{font-size:41px}.immo-contact{gap:30px}.flower-header{padding:22px 0;gap:15px}.flower-header .logo{font-size:28px}.flower-header>.cta{font-size:10px;padding:12px}.fleuriste .hero{grid-template-columns:1fr;gap:35px;padding:25px 0 40px}.fleuriste h1{font-size:69px}.fleuriste .hero img{height:350px;border-radius:8px 120px 8px 8px}.flower-ribbon{font-size:17px;padding:13px 12px;flex-wrap:wrap;gap:6px 15px}.flower-shop{grid-template-columns:1fr;gap:30px}.flower-shop>img{height:330px}.fleuriste .contact-main h1{font-size:57px}.beauty-header{display:flex;justify-content:space-between;padding:22px 0}.beauty-header .logo{font-size:23px}.beauty-header>a:last-child{display:none}.beaute .hero{height:600px;border-radius:130px 130px 12px 12px}.beaute .hero-copy{bottom:35px;left:7%;right:7%}.beaute .hero h1{font-size:51px}.beaute .hero .lead{font-size:12px}.beauty-booking{grid-template-columns:1fr}.beauty-booking .booking-summary{grid-column:auto}.calendar-panel{padding:22px}.beaute .contact-main h1{font-size:49px}.photo-hero{height:540px}.photo-hero>div{bottom:40px;display:block}.photo-hero h1{font-size:52px}.photo-hero .cta{margin-top:25px}.photo-grid{columns:2;column-gap:10px}.photo-tile{margin-bottom:10px}.photo-tile img{height:200px}.photo-tile:nth-child(2n) img{height:260px}.photo-tile span{left:8px;bottom:10px;padding:5px 8px;font-size:9px}.selection-bar{padding:14px 18px;border-radius:20px;gap:14px;font-size:11px;flex-wrap:wrap}.selection-bar .cta{font-size:10px;padding:10px 15px}.photographe .contact-main h1{font-size:55px}.drawer-card{padding:22px}.drawer-card img{height:230px}.photographe .drawer-card img{height:50vh}.contact-main{padding-top:20px}.contact-main .contact-photo{height:250px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.capture *{animation:none!important;transition:none!important}

.concept-scope{padding:22px max(24px,6vw);border-top:1px solid currentColor;font:12px/1.7 Arial,sans-serif;opacity:.88}.concept-scope strong{display:block;font-size:14px;margin-bottom:5px}.btp .concept-scope{margin-left:86px}@media(max-width:760px){.btp .concept-scope{margin-left:0}}

/* Shape tokens keep each concept consistent across its complete journey. */
.plomberie{--control-radius:14px;--action-radius:999px;--surface-radius:24px}
.btp{--control-radius:0px;--action-radius:0px;--surface-radius:0px}
.restaurant{--control-radius:0px;--action-radius:999px;--surface-radius:22px}
.immobilier{--control-radius:14px;--action-radius:999px;--surface-radius:24px}
.fleuriste{--control-radius:16px;--action-radius:999px;--surface-radius:24px}
.beaute{--control-radius:0px;--action-radius:999px;--surface-radius:24px}
.photographe{--control-radius:0px;--action-radius:999px;--surface-radius:24px}
body .field :is(input,select,textarea){border-radius:var(--control-radius);color:var(--ink)}
body .cta,body .close,body .pill{border-radius:var(--action-radius)}
body :is(.quote-stage,.diagnostic,.calendar-panel,.booking-summary,.drawer-card){border-radius:var(--surface-radius)}
.btp :is(.choice,.hamburger,.contact-photo,.form-panel,.specs span,.empty-state){border-radius:0}
.btp .quote-stage{border:1px solid var(--line)}
.btp .field :is(input,select,textarea){background:#f6f5ee;border:1px solid var(--line);padding:13px 15px}
.btp .quote-actions .cta{min-width:112px}
.btp .choice{background:transparent}
.btp .choice[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
:is(.restaurant,.beaute,.photographe) .field :is(input,select,textarea){border-width:0 0 1px;border-color:var(--line);background:transparent;padding-left:0;padding-right:0}
.plomberie .choice{border-radius:var(--control-radius)}
.fleuriste .field :is(input,select,textarea){background:#fff6ed}
