:root{--font-display:"Playfair",Didot,Georgia,"Times New Roman",serif;--font-text:"Barlow","Gill Sans",Calibri,sans-serif;--plum:#552c3d;--rose:#c58c91;--blush:#ead8d4;--cream:#f5f0e6;--paper:#fbf8f1;--moss:#59644d;--ink:#30251f;--muted:#7d7068;--line:#d9cfc2}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-text);line-height:1.6}a{color:inherit}button,input{font:inherit}:focus-visible{outline:2px solid var(--plum);outline-offset:4px}.skip{position:fixed;top:8px;left:8px;background:white;padding:10px;z-index:99;transform:translateY(-150%)}.skip:focus{transform:none}
.header{height:84px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 max(24px,calc((100vw - 1320px)/2));position:absolute;z-index:10;left:0;right:0;top:0}.logo{text-align:center;text-decoration:none;color:var(--plum);line-height:.9}.logo span{font-family:var(--font-display);font-size:1.85rem;font-style:italic}.logo small{display:block;font-size:.47rem;letter-spacing:.3em;margin-top:7px}.menu-button{justify-self:start;border:0;background:none;display:flex;align-items:center;gap:12px;text-transform:uppercase;letter-spacing:.12em;font-size:.63rem;cursor:pointer;color:var(--ink)}.menu-button>span:first-child{width:28px;border-top:1px solid}.header nav{display:none;position:absolute;left:max(20px,calc((100vw - 1320px)/2));top:64px;background:var(--plum);color:white;padding:26px 35px;min-width:260px;box-shadow:0 20px 50px #40233136}.header nav.open{display:grid}.header nav a{text-decoration:none;padding:9px 0;border-bottom:1px solid #ffffff22;font-family:var(--font-display)}.header-link{justify-self:end;text-decoration:none;text-transform:uppercase;font-size:.63rem;letter-spacing:.1em;border-bottom:1px solid;padding-bottom:5px}.header-link span{margin-left:13px}
.hero{min-height:900px;height:100vh;max-height:1050px;display:grid;grid-template-columns:1.05fr .8fr .35fr;gap:48px;align-items:center;padding:105px max(24px,calc((100vw - 1300px)/2)) 45px;position:relative;overflow:hidden;background:linear-gradient(90deg,var(--paper) 0 68%,#e3d8ca 68%)}.hero-title{z-index:2}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.62rem;font-weight:800;color:var(--moss);margin:0 0 20px}.hero h1,.finder h2,.recommendations h2,.studio h2,.care h2,.order-dialog h2{font-family:var(--font-display);font-weight:400;letter-spacing:-.045em;line-height:1}.hero h1{font-size:clamp(4.2rem,7vw,7.8rem);margin:0 0 30px;position:relative;z-index:2}.hero h1 em,.finder h2 em,.studio h2 em{font-weight:400;color:var(--rose)}.intro{max-width:465px;color:var(--muted);font-family:var(--font-display);font-size:1.03rem}.hero-title>a{display:inline-flex;gap:35px;align-items:center;text-transform:uppercase;letter-spacing:.12em;font-size:.62rem;text-decoration:none;border-bottom:1px solid;margin-top:25px;padding-bottom:7px}.hero-photo{height:700px;margin:0;position:relative;z-index:1}.hero-photo img{width:100%;height:100%;object-fit:cover;box-shadow:20px 25px 0 var(--blush)}.hero-photo figcaption{position:absolute;right:-55px;bottom:20px;background:var(--paper);padding:13px 18px;font-size:.6rem;text-transform:uppercase;letter-spacing:.08em}.hero-photo figcaption i{font-family:var(--font-display);text-transform:none;letter-spacing:0;color:var(--plum)}.season-note{align-self:end;margin-bottom:45px}.season-note span{font-size:.56rem;text-transform:uppercase;letter-spacing:.15em}.season-note p{font-family:var(--font-display);color:var(--moss);font-size:.86rem}.stem-line{position:absolute;width:360px;height:360px;border-radius:50%;border:1px solid #7d8b7138;left:-240px;top:160px}.stem-line:after{content:"";position:absolute;width:260px;border-top:1px solid #7d8b7138;transform:rotate(-35deg);right:-160px;bottom:0}.promise{min-height:100px;background:var(--plum);color:#f0e5dc;display:flex;align-items:center;gap:38px;padding:25px max(24px,calc((100vw - 1180px)/2))}.promise p{font-family:var(--font-display);font-style:italic;font-size:1.1rem;margin:0 auto 0 0}.promise span{font-size:.58rem;text-transform:uppercase;letter-spacing:.14em;padding-left:24px;border-left:1px solid #ffffff30}
.finder{padding:135px max(24px,calc((100vw - 1180px)/2));display:grid;grid-template-columns:.68fr 1.32fr;gap:100px}.finder-heading{position:sticky;top:125px;align-self:start}.finder h2{font-size:clamp(3.5rem,5.5vw,6rem);margin:16px 0 30px}.finder-heading>p:last-child{color:var(--muted);max-width:380px;font-family:var(--font-display)}.finder-panel{border-top:1px solid var(--line)}.finder-step{padding:31px 0;border-bottom:1px solid var(--line)}.step-heading{display:flex;gap:20px;align-items:flex-start}.step-heading>span{color:var(--rose);font-family:var(--font-display)}.step-heading h3{font-family:var(--font-display);font-size:1.55rem;font-weight:400;margin:0}.step-heading p{font-size:.75rem;color:var(--muted);margin:2px 0}.choice-wrap{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 0 38px}.choice-wrap button{border:1px solid var(--line);background:transparent;border-radius:999px;padding:9px 15px;color:var(--ink);font-size:.75rem;cursor:pointer;transition:.2s}.choice-wrap button:hover{border-color:var(--plum)}.choice-wrap button.selected{background:var(--plum);border-color:var(--plum);color:white}.choice-wrap.three button{border-radius:4px;min-width:150px;text-align:left}.choice-wrap button b{display:block;font-family:var(--font-display);color:var(--rose)}.finder-message{font-size:.7rem;color:var(--muted);margin:20px 0 10px}.find-button{width:100%;display:flex;justify-content:space-between;background:var(--plum);color:white;border:0;padding:16px 20px;text-transform:uppercase;letter-spacing:.1em;font-size:.68rem;cursor:pointer}.find-button:disabled{background:#b8ada5;cursor:not-allowed}
.recommendations{background:var(--cream);padding:120px max(24px,calc((100vw - 1240px)/2))}.recommendation-heading{display:grid;grid-template-columns:1fr .55fr;gap:70px;align-items:end;margin-bottom:55px}.recommendations h2{font-size:clamp(3.4rem,5vw,5.5rem);margin:10px 0}.recommendation-heading>p{color:var(--muted);font-family:var(--font-display)}.arrangement-grid{display:grid;grid-template-columns:1.05fr .85fr 1fr;gap:25px;align-items:start}.arrangement:nth-child(2){margin-top:95px}.arrangement figure{height:480px;margin:0 0 24px;overflow:hidden;background:var(--blush)}.arrangement:nth-child(1) figure{height:560px}.arrangement img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.arrangement:hover img{transform:scale(1.025)}.arrangement:nth-child(2) img{object-position:70% center;filter:saturate(.75)}.arrangement:nth-child(3) img{object-position:20% center;filter:brightness(.93)}.arrangement-header{display:flex;justify-content:space-between;gap:15px}.arrangement h3{font-family:var(--font-display);font-size:1.45rem;font-weight:400;margin:0}.arrangement .price{font-family:var(--font-display);color:var(--plum);white-space:nowrap}.arrangement>p{font-size:.78rem;color:var(--muted);max-width:340px}.arrangement button{border:0;background:none;padding:4px 0;border-bottom:1px solid;text-transform:uppercase;letter-spacing:.09em;font-size:.62rem;cursor:pointer}
.studio{display:grid;grid-template-columns:1fr 1fr;min-height:800px}.studio-copy{padding:120px max(35px,calc((100vw - 1180px)/2)) 90px max(35px,calc((100vw - 1180px)/2));background:var(--paper)}.studio h2{font-size:clamp(3.7rem,5vw,6rem);margin:15px 0 35px}.studio-copy>p:not(.eyebrow){font-family:var(--font-display);color:var(--muted);max-width:500px}.studio ul{list-style:none;padding:0;margin:50px 0 0}.studio li{border-top:1px solid var(--line);padding:17px 0;font-size:.8rem}.studio li span{display:inline-block;width:45px;color:var(--rose);font-family:var(--font-display)}.studio-image{position:relative;overflow:hidden}.studio-image img{width:100%;height:100%;object-fit:cover;object-position:70% center;transform:scale(1.12)}.studio-image blockquote{position:absolute;left:45px;right:45px;bottom:35px;background:#f8f3ebec;margin:0;padding:30px;font-family:var(--font-display);font-size:1.4rem;font-style:italic;color:var(--plum)}.care{background:var(--moss);color:white;padding:100px max(24px,calc((100vw - 1180px)/2));display:grid;grid-template-columns:.4fr 1fr}.care .eyebrow{color:#ced8c7}.care h2{font-size:clamp(3.5rem,5vw,5.5rem);margin:0}.care>div>p{color:#d0d7ca;max-width:550px;font-family:var(--font-display)}
footer{background:#362630;color:#dfd0cf;padding:85px max(24px,calc((100vw - 1180px)/2)) 25px;display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:50px;font-size:.75rem}.footer-word span{font-family:var(--font-display);font-size:2rem;font-style:italic;color:white}.footer-word small{display:block;font-size:.5rem;letter-spacing:.25em}.footer-word p{color:#a9949d}footer b{text-transform:uppercase;font-size:.58rem;letter-spacing:.13em;color:white}footer p{color:#ad9aa2}.footer-bottom{grid-column:1/-1;border-top:1px solid #ffffff18;padding-top:20px;display:flex;justify-content:space-between;font-size:.65rem}.footer-bottom a{text-decoration:none}
.order-dialog{width:min(900px,calc(100% - 24px));padding:0;border:0;background:var(--paper);color:var(--ink);box-shadow:0 40px 120px #2c182b85}.order-dialog::backdrop{background:#3b2635bb;backdrop-filter:blur(4px)}.order-dialog[open]{display:grid;grid-template-columns:.8fr 1.2fr}.order-art{position:relative;min-height:640px;overflow:hidden}.order-art img{width:100%;height:100%;object-fit:cover}.order-art p{position:absolute;left:22px;bottom:18px;background:var(--plum);color:white;padding:13px 18px;font-family:var(--font-display);font-size:.8rem}.order-dialog form{padding:60px 48px}.order-dialog h2{font-size:3rem;margin:10px 0}.order-price{font-family:var(--font-display);color:var(--plum)}.order-dialog fieldset{border:0;padding:0;margin:32px 0 25px}.order-dialog legend,.form-label{font-size:.62rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800}.order-dialog fieldset label{display:inline-block;margin:10px 7px 0 0}.order-dialog fieldset input{position:absolute;opacity:0}.order-dialog fieldset span{display:block;border:1px solid var(--line);border-radius:999px;padding:9px 12px;font-size:.7rem;cursor:pointer}.order-dialog fieldset input:checked+span{background:var(--plum);color:white;border-color:var(--plum)}.form-label{display:block;margin:18px 0}.form-label input{display:block;width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:12px 0}.order-message{min-height:18px;color:#a23f59;font-size:.7rem}.submit-order{width:100%;display:flex;justify-content:space-between;padding:15px;background:var(--plum);color:white;border:0;cursor:pointer}.order-dialog form>small{display:block;color:var(--muted);font-size:.62rem;margin-top:13px}.close-dialog{position:absolute;right:13px;top:12px;z-index:3;width:38px;height:38px;border:0;border-radius:50%;background:white;font-size:1.4rem;cursor:pointer}.order-success{display:none;grid-column:2;padding:70px 50px;place-content:center}.order-success.active{display:grid}.order-success>span{font-size:3rem;color:var(--rose)}.order-success p{color:var(--muted)}.order-success button{justify-self:start;border:0;border-bottom:1px solid;background:none;padding:7px 0;cursor:pointer}
@media(max-width:960px){.hero{grid-template-columns:1fr .95fr;gap:28px}.season-note{display:none}.finder{grid-template-columns:1fr;gap:50px}.finder-heading{position:static;max-width:650px}.arrangement-grid{gap:15px}.studio{grid-template-columns:1fr}.studio-image{min-height:700px}.care{grid-template-columns:1fr;gap:35px}footer{grid-template-columns:1fr 1fr}.footer-word{grid-column:1/-1}}
@media(max-width:700px){.header{height:72px;padding:0 17px}.header-link{display:none}.hero{height:auto;min-height:0;display:flex;flex-direction:column;padding:110px 19px 60px;background:var(--paper);overflow:visible}.hero-title{order:1}.hero-photo{order:2;height:560px;width:88%;align-self:flex-end;margin-top:40px}.stem-line{display:none}.hero h1{font-size:4.5rem}.promise{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:28px 20px}.promise p{grid-column:1/-1}.promise span{padding:0;border:0}.finder{padding:85px 20px}.finder h2{font-size:4rem}.choice-wrap{margin-left:0}.choice-wrap.three button{min-width:140px;flex:1}.recommendations{padding:85px 20px}.recommendation-heading{grid-template-columns:1fr;gap:10px}.arrangement-grid{grid-template-columns:1fr}.arrangement:nth-child(2){margin-top:0}.arrangement figure,.arrangement:nth-child(1) figure{height:480px}.studio-copy{padding:85px 22px}.studio-image{min-height:550px}.care{padding:75px 22px}.care h2{font-size:3.6rem}footer{grid-template-columns:1fr;gap:25px}.footer-word{grid-column:auto}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:8px}.order-dialog[open]{grid-template-columns:1fr}.order-art{display:none}.order-dialog form{padding:55px 25px}.order-success{grid-column:1;padding:70px 28px}}
@media(max-width:430px){.logo span{font-size:1.55rem}.hero h1{font-size:3.65rem}.hero-photo{height:460px}.finder h2,.recommendations h2,.studio h2{font-size:3.45rem}.choice-wrap.three{display:grid}.choice-wrap.three button{width:100%}.arrangement figure,.arrangement:nth-child(1) figure{height:420px}.studio-image blockquote{left:18px;right:18px;padding:22px;font-size:1.15rem}.care h2{font-size:3rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media(max-width:700px){.hero{overflow:hidden}.hero-photo figcaption{right:0}}
@media(max-width:960px){.hero-photo figcaption{right:0}}

/* Segunda pasada: jerarquía editorial y lectura cómoda */
.eyebrow{font-size:.7rem;line-height:1.45}
.hero-photo figcaption{right:-34px;bottom:24px;min-width:220px;display:grid;gap:3px;padding:16px 20px;font-size:.69rem;line-height:1.35}
.hero-photo figcaption strong{font-family:var(--font-display);font-size:1rem;font-weight:400;letter-spacing:0;text-transform:none;color:var(--ink)}
.hero-photo figcaption i{font-size:.84rem;font-weight:700}
.season-note{margin-bottom:48px;padding-left:22px;border-left:1px solid var(--line)}
.season-note span{display:block;font-size:.68rem;line-height:1.4}
.season-note p{font-size:1rem;line-height:1.65;margin:12px 0 0}
.promise span{font-size:.67rem;line-height:1.5}
.hero-title>a{font-size:.7rem}
.step-heading p{font-size:.82rem;line-height:1.55}
.choice-wrap button{font-size:.82rem;padding:10px 16px}
.finder-message{font-size:.78rem}
.find-button{font-size:.72rem}
.arrangement-header{align-items:flex-start}
.arrangement h3{font-size:1.55rem;line-height:1.2}
.arrangement .price{display:inline-block;background:#ead8d4;padding:5px 9px;border-radius:999px;font-size:1.08rem;font-weight:700;line-height:1.2}
.arrangement>p{font-size:.88rem;line-height:1.65}
.arrangement button{font-size:.7rem;padding:5px 0}
.arrangement:nth-child(2) img,.arrangement:nth-child(3) img{object-position:center;filter:none}
.studio li{font-size:.88rem;line-height:1.55}
.studio-image img{object-position:center;transform:scale(1.02)}
footer{font-size:.8rem}
footer b{font-size:.65rem}
.footer-bottom{font-size:.72rem}
.order-price{display:inline-block;margin:5px 0 0;background:var(--blush);border-radius:999px;padding:6px 11px;font-size:1.22rem;font-weight:700;line-height:1.2}
.order-dialog legend,.form-label{font-size:.7rem}
.order-dialog fieldset span{font-size:.78rem}
.order-message{font-size:.78rem}
.order-dialog form>small{font-size:.7rem;line-height:1.5}
@media(max-width:960px){.hero-photo figcaption{right:0}.season-note{display:none}}
@media(max-width:700px){.hero-photo figcaption{left:14px;right:14px;bottom:14px;min-width:0}.arrangement .price{font-size:1.05rem}.studio-image img{transform:none}}

/* Tipografía Kobaltica · 22-09-2026 — Playfair óptica variable (titulares y notas editoriales) + Barlow (lectura). */
body{font-size:1.0625rem;line-height:1.6}
.hero h1,.finder h2,.recommendations h2,.studio h2,.care h2,.order-dialog h2{letter-spacing:-.03em;line-height:1.02}
.menu-button,.header-link{font-size:.76rem;letter-spacing:.12em}
.header nav a{font-size:1.05rem}
.intro,.finder-heading>p:last-child,.recommendation-heading>p,.studio-copy>p:not(.eyebrow),.care>div>p{font-size:1.16rem;line-height:1.62}
.hero-photo figcaption i{font-size:.9rem;font-weight:600}
.header>.kb-theme-toggle{position:absolute;top:21px;right:max(24px,calc((100vw - 1320px)/2));margin:0}
.header .header-link{margin-right:58px}
@media(max-width:700px){.header>.kb-theme-toggle{top:16px;right:17px}}
.eyebrow{font-size:.76rem;letter-spacing:.16em}
.hero-title>a{font-size:.78rem}
.hero-photo figcaption{font-size:.76rem}
.season-note span{font-size:.74rem}
.promise p{font-size:1.15rem}
.promise span{font-size:.76rem}
.step-heading p{font-size:.92rem}
.choice-wrap button{font-size:.9rem}
.finder-message{font-size:.88rem}
.find-button{font-size:.8rem}
.arrangement>p{font-size:.97rem}
.arrangement button{font-size:.78rem}
.arrangement .price,.order-price{font-variant-numeric:lining-nums tabular-nums}
.studio li{font-size:.97rem}
footer{font-size:.9rem}
footer b{font-size:.74rem}
.footer-bottom{font-size:.8rem}
.order-dialog legend,.form-label{font-size:.78rem}
.order-dialog fieldset span{font-size:.86rem}
.order-message{font-size:.86rem}
.order-dialog form>small{font-size:.8rem}

/* 24-09-2026 · Portada: el pie del arreglo va debajo de la foto, no encima. */
.hero-photo{display:flex;flex-direction:column;align-items:flex-end}
.hero-photo img{flex:1 1 auto;min-height:0;width:100%;height:auto}
.hero-photo figcaption{position:static;inset:auto;margin-top:40px}
/* Modo noche: la nota de temporada vive sobre la columna crema, así que conserva la tinta oscura. */
@media(min-width:961px){html[data-theme="dark"] .season-note span{color:#30251f}html[data-theme="dark"] .season-note p{color:#4f5a44}html[data-theme="dark"] .season-note{border-color:#30251f33}}

/* Interaction states · 28-09-2026: hover only with a mouse/trackpad, a short press on every device.
   Selections (checked, .active, .selected) keep their own look; disabled buttons never react.
   Colours derive from the brand variables, which the dark theme redefines, so both appearances stay legible. */
.menu-button>span:first-child{transition:width .18s ease}
@media (hover:hover) and (pointer:fine){
  .menu-button:hover{color:var(--plum)}
  html[data-theme="dark"] .menu-button:hover{color:var(--plum)}
  .menu-button:hover>span:first-child{width:38px}
  .find-button:not(:disabled):hover{background:color-mix(in srgb,var(--plum) 78%,#fff)}
  html[data-theme="dark"] .find-button:not(:disabled):hover{background:color-mix(in srgb,var(--plum) 80%,#000)}
  .choice-wrap button:not(.selected):hover{background:color-mix(in srgb,var(--blush) 55%,transparent)}
  .arrangement button:hover,.order-success button:hover{color:var(--plum);background:color-mix(in srgb,var(--blush) 70%,transparent)}
  .order-dialog fieldset label:hover input:not(:checked)+span{border-color:var(--plum);background:color-mix(in srgb,var(--blush) 55%,transparent)}
  .close-dialog:hover{background:var(--blush)}
}
.menu-button:active,.find-button:not(:disabled):active,.choice-wrap button:active,.arrangement button:active,.order-success button:active,.close-dialog:active,.order-dialog fieldset label:active{scale:.97}
