:root{--ivory:#EEE9DF;--white:#fff;--sage:#57634A;--sage-dark:#3E4636;--coal:#2F2F2D;--taupe:#A89C90;--stone:#D9D3CB;--line:rgba(47,47,45,.14);--shadow:0 24px 80px rgba(47,47,45,.13);--serif:Georgia,'Times New Roman',serif;--sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--coal);font-family:var(--sans);letter-spacing:.01em}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:22px 5vw;background:rgba(238,233,223,.88);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.brand{display:flex;flex-direction:column;gap:3px}.brand-main{font-family:var(--serif);font-size:31px;letter-spacing:.26em}.brand-sub{font-size:12px;letter-spacing:.48em}.nav{display:flex;align-items:center;gap:24px;font-size:13px;text-transform:uppercase;letter-spacing:.12em}.nav a:hover{color:var(--sage)}button,input,select,textarea{font:inherit}button{cursor:pointer}.primary,.ghost,.choice{border:1px solid var(--sage);padding:14px 20px;text-transform:uppercase;font-size:12px;letter-spacing:.16em;transition:.2s ease}.primary{background:var(--sage);color:#fff}.primary:hover{background:var(--sage-dark);border-color:var(--sage-dark);transform:translateY(-1px)}.ghost,.choice{background:transparent;color:var(--coal);border-color:var(--line)}.ghost:hover,.choice:hover,.choice.active{border-color:var(--sage);background:rgba(87,99,74,.08)}.small{padding:9px 12px;font-size:11px}.hero{min-height:760px;display:grid;grid-template-columns:1fr 1.12fr;border-bottom:1px solid var(--line)}.hero-copy{padding:9vw 6vw;display:flex;flex-direction:column;justify-content:center}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:12px;color:var(--sage-dark);font-weight:700}.hero h1,.section h2{font-family:var(--serif);font-weight:400;line-height:.96;margin:.2em 0;font-size:clamp(56px,7vw,118px)}.lead{font-size:22px;line-height:1.55;max-width:600px;color:#43433f}.hero-image{background:linear-gradient(rgba(47,47,45,.05),rgba(47,47,45,.05)),url('assets/brandboard.png');background-size:cover;background-position:center;min-height:600px}.availability-card{margin-top:36px;background:#fff;padding:26px;border:1px solid var(--line);box-shadow:var(--shadow);max-width:650px}.availability-card label{font-family:var(--serif);font-size:28px}.date-row{display:flex;gap:12px;margin:18px 0}.date-row input{flex:1}.status{margin:12px 0 0;color:var(--sage-dark);font-weight:700}.micro{font-size:13px;color:#67645d;line-height:1.5}.trust-strip{display:grid;grid-template-columns:repeat(4,1fr);background:var(--sage);color:#fff}.trust-strip div{padding:28px 4vw;border-right:1px solid rgba(255,255,255,.2);display:flex;flex-direction:column;gap:5px}.trust-strip strong{font-family:var(--serif);font-size:24px;font-weight:400}.trust-strip span{font-size:12px;text-transform:uppercase;letter-spacing:.14em}.section,.booking-shell{padding:86px 5vw;border-bottom:1px solid var(--line)}.section-title{max-width:750px;margin-bottom:38px}.section-title h2,.split h2{font-size:clamp(38px,5vw,72px)}.section-title p:not(.eyebrow){font-size:18px;line-height:1.6;color:#55524d}.compact{margin-bottom:25px}.products{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.product-card{background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;min-height:520px}.product-card img{height:300px;object-fit:contain;background:#faf9f5;padding:22px}.product-card div{padding:26px}.product-card h3,.event-summary h3{font-family:var(--serif);font-size:30px;font-weight:400;margin:0 0 10px}.product-card p{line-height:1.55;color:#55524d}.product-card strong{display:block;font-size:22px;margin-top:18px}.product-card span{font-size:13px;color:#67645d}.booking-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:24px;align-items:start}.booking-form{display:grid;gap:18px}.booking-form fieldset,.event-summary{border:1px solid var(--line);background:#fff;padding:26px}.booking-form legend{font-family:var(--serif);font-size:28px;padding:0 10px}.booking-form label{display:flex;flex-direction:column;gap:8px;margin:14px 0;font-weight:650}.booking-form input,.booking-form select,.booking-form textarea,.availability-card input{width:100%;border:1px solid var(--line);background:#fff;padding:13px 14px;color:var(--coal)}.booking-form textarea{min-height:90px;resize:vertical}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}.choice-row{display:flex;gap:12px;flex-wrap:wrap}.checkbox{flex-direction:row!important;align-items:flex-start;font-weight:400!important}.checkbox input{width:auto;margin-top:3px}.optional{font-weight:400;color:#777}.hidden{display:none!important}.form-actions{display:flex;gap:12px;flex-wrap:wrap}.event-summary{position:sticky;top:110px;box-shadow:var(--shadow)}.summary-lines{display:grid;gap:12px;margin:20px 0}.summary-line{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:10px}.total-row{display:flex;justify-content:space-between;margin:14px 0;font-size:18px}.total-row strong{font-size:24px}.muted{color:#67645d}.whatsapp{display:block;margin-top:22px;text-align:center;padding:13px;border:1px solid var(--sage);color:var(--sage-dark)}.split{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px}.steps{list-style:none;margin:0;padding:0;display:grid;gap:16px}.steps li{background:#fff;border:1px solid var(--line);padding:24px;display:grid;grid-template-columns:220px 1fr;gap:22px}.steps strong{font-family:var(--serif);font-size:24px;font-weight:400}.steps span{line-height:1.6;color:#55524d}.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.faq-grid details{background:#fff;border:1px solid var(--line);padding:22px}.faq-grid summary{font-family:var(--serif);font-size:24px;cursor:pointer}.faq-grid p{line-height:1.6;color:#55524d}.footer{padding:45px 5vw;background:var(--coal);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px}.footer p{color:#d9d3cb}.modal{width:min(900px,92vw);max-height:86vh;border:0;padding:30px;background:#fff;box-shadow:var(--shadow);overflow:auto}.modal::backdrop{background:rgba(47,47,45,.45);backdrop-filter:blur(6px)}.small-modal{width:min(560px,92vw)}.admin-modal{width:min(1100px,94vw)}.x{position:absolute;right:14px;top:10px;border:0;background:transparent;font-size:34px;line-height:1}.contract-preview{font-family:var(--serif);line-height:1.55;color:#111}.contract-preview h2{text-align:center;letter-spacing:.08em}.contract-preview .contract-box{border:1px solid var(--line);padding:18px;margin:18px 0;font-family:var(--sans)}.admin-actions{display:flex;gap:12px;margin:20px 0}.admin-table{width:100%;border-collapse:collapse;background:#fff}.admin-table th,.admin-table td{border:1px solid var(--line);padding:10px;text-align:left;font-size:13px}.badge{display:inline-block;background:rgba(87,99,74,.12);color:var(--sage-dark);padding:4px 8px;border-radius:999px;font-size:12px}.about-section{background:linear-gradient(180deg,rgba(255,255,255,.35),rgba(238,233,223,1))}.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start}.about-grid h2{font-size:clamp(42px,5.4vw,82px)}.about-copy{background:#fff;border:1px solid var(--line);padding:38px;box-shadow:var(--shadow)}.about-copy p{font-size:18px;line-height:1.78;color:#45433e;margin:0 0 18px}.about-copy blockquote{font-family:var(--serif);font-size:34px;line-height:1.15;margin:34px 0;padding:28px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--sage-dark)}@media(max-width:980px){.hero,.booking-grid,.split,.about-grid{grid-template-columns:1fr}.hero-copy{padding:80px 5vw}.hero-image{min-height:420px}.trust-strip,.products,.faq-grid{grid-template-columns:1fr 1fr}.event-summary{position:static}.nav a{display:none}.steps li{grid-template-columns:1fr}.footer{flex-direction:column;align-items:flex-start}}@media(max-width:640px){.date-row,.two-col{grid-template-columns:1fr;display:grid}.trust-strip,.products,.faq-grid{grid-template-columns:1fr}.hero h1{font-size:62px}.brand-main{font-size:24px}.site-header{padding:18px}.availability-card{padding:20px}.primary,.ghost,.choice{width:100%}.form-actions{display:grid}.footer{font-size:14px}}@media print{body>*:not(dialog[open]){display:none}.modal{display:block;position:static;width:100%;max-height:none;box-shadow:none}.modal .primary,.modal .x{display:none}}

/* Nosotros — editorial upgrade */
.about-hero-grid{margin-bottom:72px}.editorial-card{position:relative;overflow:hidden}.editorial-card:before{content:"";position:absolute;inset:0 0 auto auto;width:170px;height:170px;background:radial-gradient(circle,rgba(87,99,74,.13),transparent 68%);pointer-events:none}.story-opener{font-family:var(--serif);font-size:28px!important;line-height:1.28!important;color:var(--sage-dark)!important}.pull-quote{font-family:var(--serif);font-size:clamp(38px,5vw,74px);line-height:.98;color:var(--sage-dark);padding:46px 0;margin:38px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.philosophy-panel{background:var(--sage);color:#fff;margin:30px 0 76px;padding:70px min(7vw,90px);display:grid;grid-template-columns:.95fr 1.05fr;gap:70px;align-items:start;box-shadow:var(--shadow)}.philosophy-panel .eyebrow{color:#e9eadf}.philosophy-panel h2{font-size:clamp(42px,5vw,76px);margin:0;font-family:var(--serif);font-weight:400;line-height:1}.philosophy-copy{display:grid;gap:20px}.philosophy-copy p{font-size:20px;line-height:1.7;margin:0;color:#f5f2ea}.values-section{margin-top:40px}.values-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.value-card{background:#fff;border:1px solid var(--line);padding:28px;min-height:260px;display:flex;flex-direction:column;justify-content:space-between;transition:.22s ease}.value-card:hover{transform:translateY(-4px);box-shadow:0 18px 50px rgba(47,47,45,.09);border-color:rgba(87,99,74,.35)}.value-card span{font-family:var(--serif);font-size:42px;color:rgba(87,99,74,.35)}.value-card h3{font-family:var(--serif);font-size:30px;font-weight:400;margin:20px 0 10px;color:var(--sage-dark)}.value-card p{font-size:16px;line-height:1.55;color:#55524d;margin:0}.value-card.featured{background:#f8f6ef}.about-cta{margin-top:72px;background:#fff;border:1px solid var(--line);padding:54px;display:flex;align-items:center;justify-content:space-between;gap:28px}.about-cta h2{font-size:clamp(34px,4vw,58px);max-width:820px;margin:0 0 18px}.about-cta .primary{display:inline-block;white-space:nowrap}
@media(max-width:1100px){.values-grid{grid-template-columns:repeat(2,1fr)}.value-card.featured{grid-column:auto}.philosophy-panel{grid-template-columns:1fr;gap:32px}}
@media(max-width:740px){.values-grid{grid-template-columns:1fr}.philosophy-panel{padding:42px 26px}.about-cta{display:block;padding:34px}.about-cta .primary{margin-top:18px;width:100%;text-align:center}.pull-quote{font-size:42px}}

/* Catálogo editorial y galerías */
.product-card{min-height:0;overflow:hidden}
.product-card .product-gallery{position:relative;padding:0;background:#f7f5ef;aspect-ratio:4/3;overflow:hidden}
.product-card .gallery-track{padding:0;width:100%;height:100%;position:relative}
.product-card .gallery-slide{position:absolute;inset:0;width:100%;height:100%;padding:0;object-fit:cover;background:#f7f5ef;opacity:0;visibility:hidden;transition:opacity .35s ease,visibility .35s ease}
.product-card .gallery-slide.active{opacity:1;visibility:visible}
.product-card .product-info{padding:28px;display:flex;flex-direction:column;flex:1}
.product-card .product-info p{flex:1}
.gallery-arrow{position:absolute;top:50%;z-index:2;width:42px;height:42px;transform:translateY(-50%);border:1px solid rgba(47,47,45,.16);border-radius:50%;background:rgba(255,255,255,.88);color:var(--coal);font-family:var(--serif);font-size:30px;line-height:1;display:grid;place-items:center;box-shadow:0 8px 24px rgba(47,47,45,.12)}
.gallery-arrow:hover{background:#fff}
.gallery-arrow.prev{left:14px}.gallery-arrow.next{right:14px}
.gallery-dots{position:absolute;left:50%;bottom:14px;z-index:2;transform:translateX(-50%);display:flex;gap:8px;padding:8px 10px!important;border-radius:999px;background:rgba(255,255,255,.8);backdrop-filter:blur(8px)}
.gallery-dots button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:rgba(47,47,45,.28)}
.gallery-dots button.active{background:var(--sage)}

/* Jerarquía editorial más consistente */
.about-copy p,.story-opener{font-family:var(--sans);font-size:18px!important;line-height:1.75!important;color:#45433e!important}
.story-opener{font-weight:650}
.pull-quote{font-size:clamp(34px,4vw,56px);line-height:1.05;padding:34px 0;margin:30px 0}
.about-copy blockquote{font-size:28px;line-height:1.3;margin:28px 0;padding:24px 0}

/* Garantías */
.guarantees-section{background:#f7f4ed}
.guarantees-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.guarantee-card{background:#fff;border:1px solid var(--line);padding:30px;min-height:270px;display:flex;flex-direction:column}
.guarantee-card>span{font-family:var(--serif);font-size:40px;color:rgba(87,99,74,.34)}
.guarantee-card h3{font-family:var(--serif);font-weight:400;font-size:30px;line-height:1.1;margin:36px 0 12px;color:var(--sage-dark)}
.guarantee-card p{margin:0;line-height:1.65;color:#55524d}

@media(max-width:980px){.guarantees-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.guarantees-grid{grid-template-columns:1fr}.gallery-arrow{width:38px;height:38px}.product-card .product-gallery{aspect-ratio:1/1}}
