/* Brand/readability review. Parisienne approximates the logo's script;
   replace with the owner's actual typeface when supplied. */
@font-face{font-family:Parisienne;src:url('assets/fonts/parisienne.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
:root{--script:Parisienne,'Brush Script MT',cursive;--muted:#625b58;--rose:#963c67;--cream:#f6eff1;--line:#ddd1d6}
body{font-size:16px;line-height:1.75}
html{scroll-padding-top:125px}
.announcement{background:#f0e3e9;font-size:11px;letter-spacing:1px}
.announcement-message{gap:12px}
.announcement-message .announcement-location,.announcement-message .announcement-shipping{font-size:inherit}
.language-switch{min-width:88px;min-height:40px}
.language-switch span{font-size:12px}
.header{height:112px;grid-template-columns:1fr 180px 1fr}
.brand{height:108px}
.brand img{width:156px;height:108px;object-fit:cover}
.header nav{font-size:14px;gap:24px}
.header nav a{font-size:inherit}
.currency{font-size:12px;letter-spacing:.7px}
.icon-button{height:44px;width:44px;padding:10px}
.header-right{gap:14px}
.hero{height:auto;min-height:710px;max-height:none;grid-template-columns:46% 54%}
.hero-copy{padding:30px 10% 48px 12%;background:linear-gradient(145deg,#fbf6f7,#f2e7ed)}
.hero-brand{width:200px;height:118px;object-fit:cover;mix-blend-mode:multiply;margin:0 0 16px -20px}
.hero h1{font-family:var(--script);font-size:clamp(64px,6.8vw,104px);letter-spacing:0;line-height:1.12;margin:18px 0 24px;font-weight:400}
.hero h1 em{font-style:normal}
.hero h1>span{white-space:normal}
.hero-copy>p:not(.eyebrow){font-size:17px;line-height:1.8}
.eyebrow{font-size:12px;letter-spacing:1.8px;line-height:1.7}
.hero .button{margin-top:26px}
.button{font-size:12px;letter-spacing:1px;min-height:54px;padding:16px 22px;gap:18px;line-height:1.6}
.dark{background:var(--rose)}
.dark:hover{background:#773051}
.hero-note{font-size:11px;letter-spacing:1px;line-height:1.9;margin-top:25px}
.photo-caption{font-size:13px;letter-spacing:.8px;gap:15px;flex-wrap:wrap;text-shadow:0 1px 5px #000}
.photo-number{font-size:11px;color:var(--ink)}
.preview-note{font-size:14px;line-height:1.8;padding:17px 6%;color:var(--ink)}
.intro p:last-child,.editorial-copy>p:not(.eyebrow),.steps p,details>p{font-size:16px;line-height:1.85}
.intro h2 em,.section-heading h2 em,.faq h2 em,.social h2 em,.editorial h2 em{color:var(--rose)}
.collection-tile .eyebrow{font-size:12px}
.collection-tile span{font-size:12px;letter-spacing:1px}
.catalog-note,#result-count{font-size:13px}
.shop-tools{align-items:center;gap:18px;flex-wrap:wrap}
.filters{gap:24px;flex-wrap:wrap}
.filters button{font-size:14px;min-height:48px}
.product-meta{flex-wrap:wrap;gap:4px 16px}
.product-meta button{font-size:17px;line-height:1.5;min-height:44px}
.product-meta>span{font-size:15px;line-height:1.7}
.product-sub{font-size:14px;line-height:1.7}
.mini-colors i{width:14px;height:14px}
.product-photo .quick{font-size:12px;letter-spacing:1px}
.favorite{width:44px;height:44px;font-size:26px}
.search-wrap label,.text-button{font-size:14px;line-height:1.7}
.search-wrap input{font-size:16px;min-height:48px}
.text-button{min-height:44px}
.text-link{font-size:13px;line-height:1.8;min-height:44px;letter-spacing:1px}
summary{font-size:16px;line-height:1.6;min-height:60px;align-items:center}
.floating-contact span{font-size:14px}
.detail-photo>span{font-size:11px;line-height:1.8;letter-spacing:.8px}
.detail-copy>p:not(.small):not(.eyebrow):not(.detail-price){font-size:16px;line-height:1.85}
.detail-price{font-size:21px}
.small{font-size:14px!important;line-height:1.8}
legend{font-size:15px}
.colors button{min-width:44px;min-height:44px}
.sizes button{font-size:15px;min-height:44px}
.message-inner>p:not(.eyebrow),.message-preview{font-size:15px;line-height:1.8}
.partnership-footer .footer-brand p{font-size:14px;line-height:1.8}
.partnership-footer .partner-logo{width:120px;height:90px;object-fit:cover}
.partnership-footer .footer-nav a,.partnership-footer .footer-contact,.partnership-footer .creator-links a{font-size:14px;min-height:44px;line-height:1.6}
.partnership-footer .credit-label{font-size:12px}
.partnership-footer .footer-bottom{font-size:12px;flex-wrap:wrap;line-height:1.7;padding-block:16px}
@media(max-width:1050px){
  .header{padding-inline:3%;grid-template-columns:1fr 160px 1fr}
  .header nav{gap:14px;font-size:13px}
  .header-right{gap:5px}
  .currency{display:none}
  .hero-copy{padding-inline:10%}
  .hero h1{font-size:clamp(60px,7vw,76px)}
  .hero-copy>p:not(.eyebrow){font-size:16px}
  .product-meta{display:block}
  .product-meta>span{display:block;margin-top:3px}
}
@media(max-width:600px){
  html{scroll-padding-top:100px}
  .announcement{padding:7px 4%;gap:8px}
  .announcement-message{font-size:11px;letter-spacing:.2px;line-height:1.5;gap:2px 12px}
  .announcement-message{flex-direction:column}
  .announcement-message .announcement-star{display:none}
  .language-switch{min-width:82px;min-height:40px}
  .header{height:90px;grid-template-columns:1fr 128px 1fr;padding-inline:4%}
  .brand{height:88px}
  .brand img{width:128px;height:88px}
  .header nav{top:90px;padding:20px 6%;gap:4px}
  .header nav a{font-size:16px;min-height:48px}
  .header-right{gap:0}
  .icon-button{width:40px;height:44px;padding:8px}
  .hero{grid-template-columns:1fr;min-height:0}
  .hero-copy{padding:22px 7% 36px}
  .hero-brand{width:180px;height:104px;margin:0 0 12px -18px}
  .hero-copy .eyebrow{font-size:11px}
  .hero h1{font-size:clamp(50px,15.5vw,88px);line-height:1.15;letter-spacing:0;margin:14px 0 22px}
  .hero h1>span{white-space:nowrap}
  .hero-note{font-size:11px;margin-top:22px;letter-spacing:.7px}
  .hero-photo{height:420px}
  .photo-caption{font-size:12px;left:22px;right:22px;bottom:24px}
  .photo-number{font-size:10px}
  .preview-note{font-size:13px;padding:18px 6%}
  .eyebrow{font-size:11px;letter-spacing:1.4px}
  .collections{grid-template-columns:1fr;gap:18px;padding-inline:6%}
  .collection-tile{height:420px}
  .collection-tile>div:last-child{left:24px;right:24px;bottom:26px}
  .collection-tile h2{font-size:44px}
  .collection-tile .eyebrow{font-size:11px}
  .collection-tile span{font-size:12px}
  .shop-tools{gap:4px;margin-bottom:24px}
  .filters{gap:6px 20px}
  .filters button{font-size:14px;padding:10px 0}
  .filters button:last-child{display:block}
  #result-count{font-size:13px;padding:6px 0 12px}
  .product-grid{gap:30px 14px}
  .product-meta button{font-size:16px}
  .product-meta>span{font-size:14px}
  .product-sub{font-size:13px}
  .favorite{width:44px;height:44px;right:7px;top:7px;font-size:25px}
  .partnership-footer .partnership-band{grid-template-columns:1fr;padding-top:24px;padding-bottom:28px;gap:24px}
  .partnership-footer .footer-client{padding-right:0}
  .partnership-footer .footer-credit{border-left:0;border-top:1px solid var(--line);padding:24px 0 0}
  .partnership-footer .creator-signature{flex-direction:row;align-items:center;gap:16px}
  .partnership-footer .footer-bottom{padding-bottom:88px}
}

/* Editorial photo pass: consistent framing and a quieter mobile rhythm. */
.hero{height:clamp(660px,calc(100svh - 160px),800px);min-height:0}
.hero-photo{min-height:0}
.hero-photo>img{object-position:center 8%}
.hero-photo:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#241c225c);pointer-events:none}
.photo-caption{z-index:1}
.hero-brand{width:176px;height:100px;margin-left:-16px;margin-bottom:12px}
.hero-copy{padding-block:30px 40px}
.intro{padding-block:76px}
.intro p:last-child{max-width:600px;margin-inline:auto}
.collection-tile>img{object-position:center 25%}
.collection-tile:first-child>img{object-fit:contain;background:#e5e2dd}
.product-photo{aspect-ratio:4/5;background:#f3eee6}
.product-photo img{object-position:center 20%}
.product-card[data-line="El Dúo"] .product-photo img{object-fit:contain;background:#e5e2dd}
.product-meta>span small{display:block;font-size:12px;color:var(--muted);font-weight:400}
.product-meta>span{font-weight:600}
.product-sub{color:var(--muted)}
.photo-note{font-size:12px;line-height:1.7;text-align:center;margin-top:10px;max-width:340px;align-self:center}
.detail-photo>img{background:#eee9e1}
.gallery-thumbs button{border-radius:4px;overflow:hidden}
.gallery-thumbs button[aria-pressed=true]{border-color:var(--rose);outline-offset:2px}
.detail-copy .button{position:relative}
.product-detail .detail-copy{min-width:0}
.partnership-footer .footer-nav{column-gap:24px}
.steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
body:has(dialog[open]) .floating-contact{display:none}
@media(hover:none){.product-photo .quick{transform:none;font-size:11px;padding:10px;background:#fffefae8}.product-photo img{transform:none!important}}
@media(max-width:900px) and (min-width:601px){
  .hero{height:680px;min-height:0}
  .hero-copy{padding-inline:8%}
  .hero h1{font-size:clamp(53px,7vw,64px)}
  .hero-brand{width:150px;height:88px}
  .hero .button{font-size:11px;letter-spacing:.5px;padding:14px}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .product-detail{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .hero{height:auto;min-height:0}
  .hero-copy{padding:28px 7% 30px}
  .hero-brand{display:none}
  .hero h1{margin:16px 0 20px;font-size:clamp(50px,15.5vw,82px)}
  .hero-copy>p:not(.eyebrow){font-size:16px}
  .hero .button{margin-top:22px}
  .hero-note{margin-top:18px}
  .hero-photo{height:auto;aspect-ratio:4/5}
  .hero-photo>img{position:absolute;inset:0;object-position:center}
  .photo-caption{font-size:12px;bottom:20px}
  .photo-number{right:16px;top:18px}
  .section-space{padding-block:48px}
  .intro{padding-block:48px}
  .intro h2{font-size:clamp(36px,10vw,44px)}
  .intro p:last-child{font-size:15px}
  .collections{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .collection-tile{height:280px}
  .collection-tile>div:last-child{left:14px;right:14px;bottom:20px}
  .collection-tile h2{font-size:clamp(25px,7vw,31px);line-height:1.08;margin:8px 0 12px}
  .collection-tile .eyebrow{font-size:10px;letter-spacing:1px}
  .collection-tile span{font-size:11px;letter-spacing:.5px}
  .collection-tile>img{object-position:center}
  .shop-tools{position:sticky;top:90px;z-index:3;background:var(--paper);padding-top:6px;margin-inline:-6.8%;padding-inline:6.8%;box-shadow:0 4px 10px #302d2b06}
  .filters{display:flex;flex-wrap:nowrap;overflow-x:auto;max-width:100%;width:100%;gap:20px;scrollbar-width:thin;overscroll-behavior-x:contain}
  .filters button{white-space:nowrap;flex-shrink:0;min-height:48px}
  #result-count{padding:2px 0 10px;font-size:12px}
  .product-grid{gap:24px 12px}
  .product-meta button{font-size:15px;min-height:40px;padding-block:6px}
  .product-meta>span{font-size:14px}
  .product-sub{font-size:12px}
  .mini-colors{margin-top:8px}
  .favorite{width:40px;height:40px}
  .floating-contact{width:52px;height:52px;border-radius:50%;padding:0;justify-content:center;bottom:18px;right:16px}
  .floating-contact span{display:none}
  .editorial-copy{padding:36px 8%}
  .editorial h2{font-size:48px}
  .faq h2,.social h2,.section-heading h2{font-size:clamp(34px,10vw,43px)}
  .detail-photo{padding:18px 18px 14px}
  .detail-photo>img{height:350px;max-height:44svh}
  .detail-copy{padding-inline:22px}
  .detail-copy h2{font-size:38px;line-height:1.1}
  .detail-copy>p:not(.small):not(.eyebrow):not(.detail-price){margin-block:18px}
  .detail-copy fieldset{margin-block:22px}
  #prepare-message{position:sticky;bottom:0;z-index:1;box-shadow:0 0 0 8px var(--paper)}
  .dialog-close{width:44px;height:44px;display:grid;place-items:center;box-shadow:0 2px 12px #302d2b12}
  .photo-note{font-size:11px}
  .steps{grid-template-columns:1fr}
}

/* Use the owner's full-resolution artwork; crop only its outer white canvas.
   All lettering, the heart and registered mark remain the original pixels. */
.loving-logo{display:block;position:relative;isolation:isolate;width:168px;height:auto;aspect-ratio:1170/710;overflow:hidden;flex-shrink:0;mix-blend-mode:multiply}
.loving-logo>img{position:absolute;display:block;max-width:none;width:136.752137%;height:auto;left:-21.367521%;top:-38.028169%;object-fit:fill;mix-blend-mode:normal}
.header{background:var(--paper)}
.header .brand{height:104px;width:180px;justify-self:center}
.header .loving-logo{width:158px}
.hero-copy .loving-logo{width:200px;height:auto;margin:0 0 26px;aspect-ratio:1170/710}
.partnership-footer .loving-logo.partner-logo{width:176px;height:auto;aspect-ratio:1170/710;margin-bottom:18px}
.partnership-footer .creator-signature{flex-direction:row;align-items:center;gap:18px}
.partnership-footer .creator-signature img{width:88px;height:84px;object-fit:contain}
.partnership-footer .creator-signature strong{font-size:30px;margin-top:3px}
.partnership-footer .credit-label{font-size:12px;letter-spacing:.04em}
.partnership-footer .footer-brand p{margin-top:0}
.partnership-footer .partnership-band{min-height:270px;padding-block:30px}
@media(max-width:900px) and (min-width:601px){.hero-copy .loving-logo{width:170px}.partnership-footer .loving-logo.partner-logo{width:156px}}
@media(max-width:600px){
  .header .brand{width:128px;height:88px}
  .header .loving-logo{width:128px}
  .hero-copy .loving-logo{display:none}
  .partnership-footer .loving-logo.partner-logo{width:166px;margin-bottom:16px}
  .partnership-footer .creator-signature img{width:76px;height:72px}
  .partnership-footer .partnership-band{padding-block:28px}
}
