/* Boutique Deyfer — estilos principales */
:root{--ink:#33272a;--muted:#76696a;--rose:#d7b6b7;--rose-dark:#9b696d;--cream:#fbf7f3;--paper:#fffdfa;--line:#eadfda;--gold:#b79a69;--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);line-height:1.65}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}.topline{background:var(--ink);color:#fff8f1;text-align:center;padding:8px 16px;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}.site-header{height:90px;padding:0 6.5%;display:flex;align-items:center;justify-content:space-between;gap:28px;background:rgba(255,253,250,.96);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand-mark{width:44px;height:44px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--rose-dark);font:italic 1.8rem var(--serif)}.brand-text{display:flex;flex-direction:column;line-height:1.3;letter-spacing:.13em}.brand-text strong{font-size:.78rem}.brand-text small{font-size:.57rem;letter-spacing:.23em;color:var(--rose-dark);margin-top:4px}.main-nav{display:flex;align-items:center;gap:clamp(14px,2.2vw,32px);font-size:.78rem}.main-nav a{transition:color .2s}.main-nav a:hover{color:var(--rose-dark)}.main-nav .nav-cta{padding:11px 17px;border:1px solid var(--rose-dark);color:var(--rose-dark)}.menu-toggle{display:none;background:none;border:0;font-size:1.6rem;color:var(--ink)}
.hero{display:grid;grid-template-columns:1fr .9fr;min-height:610px;padding:56px 6.5% 66px;gap:7%;align-items:center;background:linear-gradient(110deg,#fbf7f3 0%,#fbf7f3 58%,#f3e7e4 58%,#f3e7e4 100%)}.hero-copy{max-width:590px;padding:20px 0}.eyebrow{font-size:.68rem;letter-spacing:.2em;font-weight:700;color:var(--rose-dark);margin:0 0 20px}.hero h1,.section h2,.section-heading h2,.contact-copy h2{font:500 clamp(2.6rem,4.4vw,4.5rem)/1.12 var(--serif);letter-spacing:-.035em;margin:0 0 24px}.hero h1 em,.section h2 em,.section-heading h2 em,.contact-copy h2 em{font-weight:400;color:var(--rose-dark)}.hero-description{max-width:470px;color:var(--muted);font-size:.96rem;line-height:1.9}.hero-actions{display:flex;align-items:center;gap:27px;flex-wrap:wrap;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:15px 22px;font-size:.77rem;letter-spacing:.025em;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--ink);color:white}.button-light{background:#fff8f2;color:var(--ink)}.text-link{font-size:.78rem;font-weight:600;border-bottom:1px solid var(--rose);padding-bottom:5px}.text-link span{color:var(--rose-dark);padding-left:5px}.hero-note{display:flex;align-items:center;gap:11px;color:var(--muted);font-size:.73rem;margin-top:47px}.note-star{color:var(--gold);font-size:1.5rem}.hero-visual{height:490px;position:relative;background:#eadfe0;box-shadow:18px 18px 0 rgba(183,154,105,.16)}.hero-visual>img{object-position:center 35%}.hero-stamp{position:absolute;right:-26px;top:30px;background:var(--paper);border:1px solid var(--gold);width:96px;height:96px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:.55rem;letter-spacing:.16em;color:var(--rose-dark);transform:rotate(8deg)}.hero-stamp strong{font:italic 1rem var(--serif);letter-spacing:0}.hero-caption{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;background:linear-gradient(transparent,rgba(40,28,28,.55));color:white;padding:35px 20px 15px;font-size:.68rem;letter-spacing:.08em}.image-fallback{background:linear-gradient(135deg,#f0e3df,#d8b9b8);position:relative;min-height:180px}.image-fallback:after{content:"Añade aquí una fotografía de la boutique";position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:20px;color:#745c5e;font:italic 1.1rem var(--serif)}
.trust-strip{display:flex;justify-content:center;gap:clamp(30px,7vw,110px);padding:25px 6%;border-bottom:1px solid var(--line);background:#fffdfa;flex-wrap:wrap}.trust-strip>div{display:flex;align-items:center;gap:11px;font-size:.75rem;color:var(--muted)}.strip-icon{font-size:1.25rem;color:var(--gold)}
.section{padding:105px 8%}.about-section{display:grid;grid-template-columns:.8fr 1fr;gap:11%;align-items:center}.section-image{position:relative;background:#eee0dc;height:490px}.section-image img{object-position:center}.image-label{position:absolute;bottom:18px;left:18px;background:var(--paper);padding:10px 15px;font:italic 1rem var(--serif)}.section-copy{max-width:580px}.section h2,.section-heading h2{font-size:clamp(2.2rem,3.4vw,3.3rem)}.body-copy{font-size:.88rem;line-height:1.95;color:var(--muted);margin:0 0 18px}.note-placeholder{padding:14px 17px;border-left:2px solid var(--gold);background:#fbf7f3;font-size:.8rem}.section-copy .text-link{display:inline-block;margin-top:13px}
.services-section{background:var(--cream);padding-top:90px;padding-bottom:90px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:42px}.section-heading h2{margin:0}.heading-side{max-width:310px;font-size:.82rem;line-height:1.8;color:var(--muted);margin:0 0 7px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-card{background:#fffdfa;min-width:0}.service-card>img{height:260px;background:#eadfe0}.service-content{padding:24px 23px 28px}.service-number{font-size:.67rem;color:var(--gold);letter-spacing:.12em}.service-content h3{font:500 1.45rem var(--serif);margin:9px 0}.service-content p{font-size:.78rem;line-height:1.8;color:var(--muted);min-height:68px}.service-content .text-link{display:inline-block;font-size:.7rem}.service-card-feature{background:#eadbd8;display:flex;flex-direction:column;justify-content:center;min-height:420px;padding:30px}.service-card-feature .service-content{padding:20px 0 0}.feature-icon{font-size:3.3rem;color:var(--rose-dark)}.small-note{font-size:.72rem;color:var(--muted);margin-top:20px}
.quote-band{padding:76px 20px;text-align:center;background:#f3e7e4;display:flex;align-items:center;flex-direction:column}.quote-mark{font:4rem var(--serif);color:var(--gold);height:43px}.quote-band p{font:italic clamp(1.5rem,2.8vw,2.5rem) var(--serif);max-width:730px;margin:15px auto 24px}.quote-rule{width:50px;height:1px;background:var(--gold)}
.gallery-section{padding-top:100px;padding-bottom:110px}.gallery-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;grid-template-rows:230px 230px;gap:16px}.gallery-item{margin:0;position:relative;background:#eadfe0;overflow:hidden}.gallery-item img{transition:transform .5s}.gallery-item:hover img{transform:scale(1.04)}.gallery-large{grid-row:span 2}.gallery-item figcaption{position:absolute;bottom:0;left:0;right:0;padding:35px 18px 15px;background:linear-gradient(transparent,rgba(30,20,20,.6));color:white;font:italic 1.1rem var(--serif)}
.team-section{background:var(--cream);padding:90px 8%}.team-inner{max-width:1200px;margin:auto}.team-placeholder{display:flex;align-items:center;gap:24px;padding:28px;background:#fffdfa;border:1px solid var(--line);max-width:760px}.team-symbol{width:72px;height:72px;border-radius:50%;background:#f3e7e4;color:var(--rose-dark);display:grid;place-items:center;font-size:2rem;flex-shrink:0}.team-placeholder h3{font:500 1.35rem var(--serif);margin:0 0 7px}.team-placeholder p{font-size:.82rem;color:var(--muted);margin:0;line-height:1.8}
.contact-section{background:var(--ink);color:#fff8f2;padding:90px 8%;display:grid;grid-template-columns:1.1fr .9fr;gap:10%;align-items:center}.contact-copy h2{font-size:clamp(2.3rem,3.5vw,3.6rem);max-width:650px}.contact-copy h2 em{color:#dfbdbb}.contact-copy>p:not(.eyebrow):not(.contact-warning){color:#d4c5c1;max-width:520px;font-size:.87rem;line-height:1.9;margin-bottom:28px}.contact-warning{font-size:.68rem;color:#d4c5c1;max-width:440px;margin-top:18px}.contact-warning code{color:#f4d8d5}.contact-details{border-left:1px solid #69585a;padding-left:38px}.contact-details>div{padding:15px 0;border-bottom:1px solid #59494b}.detail-label{font-size:.62rem;letter-spacing:.17em;color:#dfbdbb}.contact-details p{font-size:.82rem;color:#fff8f2;margin:6px 0 0;overflow-wrap:anywhere}
.site-footer{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:28px 6.5%;background:#2b2123;color:#d6c8c4;font-size:.68rem;flex-wrap:wrap}.footer-brand .brand-mark{border-color:#8d7372;color:#e1bfc0}.footer-brand .brand-text strong{color:#fff8f2}.footer-brand .brand-text small{color:#d5aaaa}.site-footer p{margin:0}
@media(max-width:950px){.site-header{padding:0 5%;height:80px}.menu-toggle{display:block;cursor:pointer}.main-nav{display:none;position:absolute;top:80px;left:0;right:0;padding:20px 5% 25px;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0}.main-nav.is-open{display:flex}.main-nav a{padding:12px 0}.main-nav .nav-cta{padding:12px 14px;margin-top:8px;text-align:center}.hero{padding:45px 6%;gap:5%;min-height:auto}.hero-visual{height:420px}.hero h1{font-size:clamp(2.3rem,5vw,3.6rem)}.section{padding:80px 6%}.service-grid{grid-template-columns:repeat(2,1fr)}.service-card-feature{min-height:390px}.contact-section{padding:75px 6%;gap:7%}}
@media(max-width:650px){.topline{font-size:.58rem;letter-spacing:.08em}.brand-mark{width:39px;height:39px}.brand-text strong{font-size:.68rem}.brand-text small{font-size:.5rem}.hero{grid-template-columns:1fr;background:var(--cream);padding:40px 6% 55px;gap:30px}.hero-copy{padding:0}.hero h1{font-size:2.85rem}.hero-description{font-size:.88rem}.hero-visual{height:390px;margin-right:12px}.hero-stamp{right:-14px;width:78px;height:78px}.hero-note{margin-top:30px}.trust-strip{justify-content:flex-start;gap:14px;padding:22px 6%;flex-direction:column}.trust-strip>div{font-size:.74rem}.section{padding:65px 6%}.about-section{grid-template-columns:1fr;gap:32px}.section-image{height:360px;margin-right:12px}.section-heading{display:block;margin-bottom:28px}.section-heading h2,.section h2{font-size:2.35rem}.heading-side{margin-top:18px}.service-grid{grid-template-columns:1fr;gap:17px}.service-card>img{height:270px}.service-content p{min-height:0}.service-card-feature{min-height:310px}.quote-band{padding:60px 22px}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:230px 190px 190px}.gallery-large{grid-column:span 2;grid-row:auto}.gallery-item figcaption{font-size:1rem}.team-section{padding:65px 6%}.team-placeholder{align-items:flex-start;padding:20px;gap:15px}.team-symbol{width:52px;height:52px;font-size:1.5rem}.contact-section{grid-template-columns:1fr;padding:65px 6%;gap:38px}.contact-details{padding-left:20px}.site-footer{align-items:flex-start;flex-direction:column;gap:15px;padding:25px 6%}}

/* Mapa de ubicación */
.map-frame{width:100%;height:230px;overflow:hidden;border:1px solid var(--line);margin-top:12px;background:#f4ece8}.map-frame iframe{width:100%;height:100%;border:0}
.contact-details a{text-decoration:underline;text-decoration-color:var(--rose);text-underline-offset:3px;overflow-wrap:anywhere}
@media(max-width:600px){.map-frame{height:210px}}
