:root{
  --gold:#a97838;--gold2:#d5aa67;--cream:#f4f0e7;--paper:#fbfaf7;--ink:#29251f;
  --muted:#716b61;--line:#ded6c7;--dark:#201d18;--serif:"Cormorant Garamond",Georgia,serif;
  --sans:"Montserrat",Arial,sans-serif;--scale:1;
}
*{box-sizing:border-box}html{scroll-behavior:smooth;font-size:calc(16px * var(--scale))}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.65}
a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}
.topbar{background:var(--dark);color:#f4ead8;text-align:center;padding:8px;font-size:.68rem;letter-spacing:.2em}
.site-header{height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:rgba(251,250,247,.96);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}
.brand img{width:105px;height:76px;object-fit:contain;mix-blend-mode:multiply}.nav{display:flex;gap:1.35rem;align-items:center;font-size:.73rem;letter-spacing:.08em;text-transform:uppercase}.nav a{transition:.2s}.nav a:hover{color:var(--gold)}.nav-admin{border:1px solid var(--line);padding:10px 12px;font-size:.62rem}.nav-admin:hover{border-color:var(--gold)}.nav-cta{border:1px solid var(--gold);padding:10px 15px}.nav-gestion{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--gold);font-size:1.45rem;line-height:1;letter-spacing:0;color:var(--dark);transition:.2s}.nav-gestion:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-1px)}.menu-toggle{display:none;background:none;border:0;font-size:1.6rem}
.hero{min-height:690px;background:linear-gradient(110deg,#eee8dc 0%,#f8f5ee 58%,#e7dcc9 100%);display:grid;grid-template-columns:1fr 1fr;overflow:hidden;position:relative}
.hero-content{padding:100px 6vw 80px;align-self:center;position:relative;z-index:2}.eyebrow{font-size:.68rem;letter-spacing:.25em;font-weight:700;color:var(--gold);margin:0 0 13px}.hero h1,.section h2,.split-copy h2,.offer h2,.appointment h2,.contact h2{font-family:var(--serif);font-size:clamp(3.1rem,6vw,5.9rem);line-height:.9;font-weight:600;margin:0 0 26px}.hero h1 em,.section h2 em,.split-copy h2 em,.offer h2 em,.appointment h2 em,.contact h2 em{color:var(--gold);font-style:italic}.hero-text{max-width:540px;color:var(--muted);font-size:1.02rem}.hero-actions{display:flex;gap:12px;margin:30px 0}.btn{border:0;padding:14px 21px;text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;font-weight:700;cursor:pointer;display:inline-block}.btn-gold{background:var(--gold);color:#fff}.btn-outline{border:1px solid var(--gold);color:var(--gold);background:transparent}.btn-dark{background:var(--dark);color:#fff}.hero-note{font-size:.68rem;letter-spacing:.08em;color:#766e62}.hero-note span{color:var(--gold)}
.hero-art{position:relative;min-height:550px}.sun{width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,#ead0a3,#bb8a4a);position:absolute;right:9%;top:11%;opacity:.78}.lens{position:absolute;border:16px solid #3c3328;width:260px;height:220px;border-radius:45% 55% 52% 48%;z-index:2;box-shadow:0 15px 30px #6f59352b}.lens-a{right:29%;top:31%;transform:rotate(8deg)}.lens-b{right:1%;top:31%;transform:rotate(8deg)}.frame-shape{position:absolute;width:170px;height:22px;background:#3c3328;right:25%;top:50%;z-index:3;transform:rotate(8deg);border-radius:50%}
.trust-strip{display:grid;grid-template-columns:repeat(4,1fr);background:var(--dark);color:#fff;padding:25px 6vw}.trust-strip div{border-right:1px solid #ffffff22;padding:0 25px}.trust-strip div:first-child{padding-left:0}.trust-strip div:last-child{border:0}.trust-strip strong{display:block;color:#d6b278;font-size:.7rem;letter-spacing:.18em}.trust-strip span{font-family:var(--serif);font-size:1.15rem;color:#eee}
.section{padding:105px 6vw}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:42px}.section-heading h2{font-size:clamp(2.8rem,5vw,5rem);margin:0}.section-heading>p{max-width:370px;color:var(--muted);font-size:.86rem}.filters{display:flex;gap:8px;margin-bottom:26px;flex-wrap:wrap}.filter{border:1px solid var(--line);background:#fff;padding:9px 15px;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;cursor:pointer}.filter.active,.filter:hover{background:var(--gold);color:#fff;border-color:var(--gold)}
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.product-card{background:#fff;border:1px solid var(--line);transition:.3s}.product-card:hover{transform:translateY(-5px);box-shadow:0 20px 50px #3b2c1714}.product-visual{height:300px;display:grid;place-items:center;position:relative;overflow:hidden}.product-visual span{font-family:var(--serif);font-size:5rem;color:#fff8}.pv-1{background:linear-gradient(135deg,#d8c3a0,#8d6636)}.pv-2{background:linear-gradient(135deg,#332e29,#8b6847)}.pv-3{background:linear-gradient(135deg,#b68d52,#302b27)}.pv-4{background:linear-gradient(135deg,#e4d4bb,#a58b6b)}.pv-5{background:linear-gradient(135deg,#eadbc6,#b89972)}.pv-6{background:linear-gradient(135deg,#4d4740,#171513)}.product-info{padding:20px}.product-info small{color:var(--gold);font-size:.62rem;letter-spacing:.2em}.product-info h3{font-family:var(--serif);font-size:1.7rem;margin:5px 0}.product-info p{color:var(--muted);font-size:.78rem;margin:0 0 13px}.text-link{border:0;background:none;color:var(--gold);padding:0;cursor:pointer;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em}.catalog-note{color:#8b8377;font-size:.68rem;margin-top:25px}
.split-section{display:grid;grid-template-columns:1fr 1fr;background:#eee7da}.split-image{min-height:670px}.service-art{background:radial-gradient(circle at 50% 48%,#d5af76 0 14%,#9d6e36 15% 30%,#302a22 31% 53%,#e7ddcc 54%);display:grid;place-items:center}.service-circle{width:190px;height:190px;border:1px solid #fff8;border-radius:50%;display:grid;place-items:center;color:#fff;font-family:var(--serif);font-size:2.5rem}.split-copy{padding:90px 7vw;align-self:center}.split-copy h2{font-size:clamp(3rem,5vw,4.8rem)}.service-list>div{display:grid;grid-template-columns:45px 1fr;gap:15px;padding:18px 0;border-top:1px solid #cfc5b4}.service-list span{color:var(--gold);font-size:.68rem;font-weight:700}.service-list h3{font-family:var(--serif);font-size:1.55rem;margin:0}.service-list p{font-size:.76rem;color:var(--muted);margin:3px 0}
.centered{display:block;text-align:center;max-width:760px;margin:0 auto 45px}.centered>p:last-child{margin:0 auto;color:var(--muted);max-width:590px}.experience{background:var(--dark);color:#fff}.experience .eyebrow{color:#d8b777}.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#ffffff20}.experience-card{background:var(--dark);padding:42px 32px;min-height:220px}.experience-card b{color:#cba666;font-size:.7rem}.experience-card h3{font-family:var(--serif);font-size:2.1rem;margin:20px 0 8px}.experience-card p{color:#c8c0b3;font-size:.8rem}
.gallery-grid{display:grid;grid-template-columns:1.25fr .75fr .75fr;grid-template-rows:260px 260px;gap:12px}.gallery-tile{display:flex;align-items:end;padding:22px;color:#fff;font-size:.68rem;letter-spacing:.2em;background-size:cover;position:relative;overflow:hidden}.gallery-tile:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 40%,#0009)}.gallery-tile span{position:relative;z-index:1}.g1{grid-row:span 2;background:linear-gradient(140deg,#c8b294,#5a4733)}.g2{background:linear-gradient(140deg,#d9c1a0,#977048)}.g3{background:linear-gradient(140deg,#5b5146,#191714)}.g4{grid-column:2/4;background:linear-gradient(140deg,#e1d6c5,#a47c49)}
.offer{background:#d6bd94;padding:75px 8vw;display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.offer h2{font-size:clamp(2.7rem,4vw,4.5rem)}.offer p{color:#5c4d39;max-width:560px}.newsletter{display:flex;flex-wrap:wrap;gap:8px}.newsletter input{flex:1;min-width:220px;border:0;padding:15px;background:#fff}.newsletter small{width:100%}
.appointment{background:#f0ece3}.appointment-card{background:#fff;border:1px solid var(--line);display:grid;grid-template-columns:.9fr 1.1fr;padding:55px;gap:60px}.appointment h2{font-size:clamp(2.8rem,4vw,4.2rem)}.appointment-card>div>p:last-child{color:var(--muted);font-size:.8rem}.appointment-form{display:grid;grid-template-columns:1fr 1fr;gap:15px}.appointment-form label{font-size:.65rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700}.appointment-form label:nth-child(4),.appointment-form button,.form-note{grid-column:1/-1}.appointment-form input,.appointment-form select,.appointment-form textarea{display:block;width:100%;margin-top:7px;border:1px solid var(--line);padding:12px;background:#fbfaf7;outline:none}.appointment-form textarea{resize:vertical}.form-note{font-size:.62rem;color:#8c8478}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:70px}.contact-items{margin-top:35px}.contact-items>div{display:flex;gap:18px;border-top:1px solid var(--line);padding:18px 0}.contact-items span{font-size:1.2rem;color:var(--gold)}.contact-items small{font-size:.6rem;letter-spacing:.15em;color:var(--gold);font-weight:700}.contact-items p{margin:3px 0;font-size:.78rem}.map-container{min-height:430px;border:1px solid var(--line);background:#e8e1d5;overflow:hidden;position:relative}.map-container iframe{display:block;width:100%;height:430px;border:0}.map-caption{position:absolute;left:18px;bottom:18px;background:#fff;padding:14px 16px;display:flex;flex-direction:column;gap:3px;box-shadow:0 8px 25px #3b2c1720;max-width:300px}.map-caption strong{font-family:var(--serif);font-size:1.2rem}.map-caption span{font-size:.68rem;color:var(--muted)}.map-caption a{margin-top:5px;color:var(--gold);font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.accessibility{display:flex;justify-content:space-between;align-items:center;padding:18px 6vw;border-top:1px solid var(--line);background:#fff}.accessibility span{font-size:.7rem;color:var(--muted);margin-left:12px}.access-controls button{border:1px solid var(--line);background:#fff;padding:7px 10px;cursor:pointer}
.footer{background:#211e19;color:#eee;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:35px;padding:60px 6vw 30px;position:relative}.footer-brand img{width:115px;height:75px;object-fit:contain;mix-blend-mode:screen}.footer-brand p{font-family:var(--serif);color:#c7b9a4}.footer h4{font-size:.65rem;color:#d4ae70;letter-spacing:.15em;text-transform:uppercase}.footer>div>a{display:block;color:#bfb7aa;font-size:.72rem;margin:8px 0}.footer-bottom{grid-column:1/-1;border-top:1px solid #ffffff1a;padding-top:20px;color:#8f877c;font-size:.6rem}
.modal{display:none;position:fixed;inset:0;background:#1e1b17cc;z-index:100;place-items:center;padding:20px}.modal.open{display:grid}.modal-box{background:#fff;max-width:560px;padding:42px;position:relative}.modal-box h2{font-family:var(--serif);font-size:3rem;line-height:1;margin:0 0 20px}.modal-box p{font-size:.8rem;color:var(--muted)}.close{position:absolute;right:14px;top:10px;border:0;background:none;font-size:1.7rem;cursor:pointer}.toast{position:fixed;bottom:25px;right:25px;background:var(--dark);color:#fff;padding:13px 18px;font-size:.72rem;transform:translateY(100px);opacity:0;transition:.3s;z-index:200}.toast.show{transform:none;opacity:1}
@media(max-width:900px){.nav{display:none}.menu-toggle{display:block}.nav.mobile-open{display:flex;position:absolute;top:92px;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;padding:20px 6vw;border-bottom:1px solid var(--line)}.hero{grid-template-columns:1fr}.hero-art{position:absolute;right:-140px;bottom:-40px;opacity:.35}.trust-strip{grid-template-columns:1fr 1fr;gap:18px}.trust-strip div{border:0;padding:0}.product-grid{grid-template-columns:1fr 1fr}.split-section,.contact,.appointment-card,.offer{grid-template-columns:1fr}.split-image{min-height:400px}.appointment-card{padding:35px}.gallery-grid{grid-template-columns:1fr 1fr}.g1{grid-row:span 1}.g4{grid-column:auto}.footer{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.site-header{height:76px}.brand img{height:64px}.hero-content{padding:80px 7vw 100px}.hero h1{font-size:3.5rem}.section{padding:75px 7vw}.section-heading{display:block}.section-heading>p{margin-top:18px}.product-grid{grid-template-columns:1fr}.product-visual{height:250px}.trust-strip{padding:24px 7vw}.gallery-grid{grid-template-columns:1fr;grid-template-rows:repeat(4,190px)}.appointment-form{grid-template-columns:1fr}.appointment-form label:nth-child(4),.appointment-form button,.form-note{grid-column:auto}.offer{padding:60px 7vw}.newsletter{display:block}.newsletter input,.newsletter button{width:100%;margin-bottom:8px}.footer{grid-template-columns:1fr}.footer-bottom{grid-column:auto}.accessibility{display:block}.access-controls{margin-top:10px}}
