/* Individual OBJ#001 page. OBJ#002 keeps the existing product layout. */
.obj1-page { background:#f4f3ef; }
.obj1-page button { cursor:pointer; }
.obj1-page h1,.obj1-page h2,.obj1-page p,.obj1-page figure { margin:0; }
.obj1-index,.obj1-overline,.obj1-subnote { font-size:.78rem; letter-spacing:.055em; }
.obj1-hero { position:relative; height:calc(100svh - 76px); min-height:620px; color:#fff; overflow:hidden; background:#a9a3a0; }
.obj1-hero-pair,.obj1-hero-frame,.obj1-hero-frame img,.obj1-hero-shade { position:absolute; inset:0; width:100%; height:100%; }
.obj1-hero-frame { display:block; }
.obj1-hero-frame img { object-fit:cover; object-position:center; }
.obj1-hero .obj1-on { opacity:0; transition:opacity .35s ease; }
.obj1-page.is-on .obj1-hero .obj1-on { opacity:1; }
.obj1-hero-shade { pointer-events:none; background:linear-gradient(90deg,rgba(0,0,0,.38),transparent 52%),linear-gradient(0deg,rgba(0,0,0,.56),transparent 27%,transparent 77%,rgba(0,0,0,.21)); }
.obj1-hero-top,.obj1-hero-content,.obj1-hero-bottom { position:absolute; z-index:1; left:clamp(20px,3.3vw,56px); right:clamp(20px,3.3vw,56px); }
.obj1-hero-top { top:28px; display:flex; justify-content:space-between; align-items:center; gap:20px; font-size:.78rem; letter-spacing:.04em; }
.obj1-back { padding:12px 0; border:0; background:transparent; color:inherit; }
.obj1-hero-content { top:23%; max-width:540px; }
.obj1-hero h1 { margin:16px 0 16px; max-width:none; color:inherit; font-size:clamp(4rem,8vw,9rem); font-weight:500; letter-spacing:-.08em; line-height:.92; }
.obj1-hero-content p { font-size:clamp(1rem,1.7vw,1.5rem); line-height:1.35; }
.obj1-hero-bottom { bottom:30px; display:flex; align-items:end; justify-content:space-between; gap:24px; }
.obj1-light-switch { display:inline-flex; border:1px solid rgba(255,255,255,.85); backdrop-filter:blur(12px); }
.obj1-light-switch button { min-height:50px; padding:0 22px; color:white; background:transparent; border:0; font-size:.78rem; }
.obj1-light-switch button[aria-pressed="true"] { color:#151515; background:#f4f3ef; }
.obj1-hero-buy { display:flex; align-items:center; gap:22px; font-size:.875rem; }
.obj1-hero-add { padding:16px 20px; border:1px solid #fff; background:#f4f3ef; color:#151515; font-size:.78rem; }
.obj1-hero-add:hover,.obj1-hero-add:focus-visible { background:#1749d7; border-color:#1749d7; color:#fff; }

.obj1-full { display:grid; grid-template-columns:40% 60%; min-height:760px; border-bottom:1px solid #151515; }
.obj1-section-copy { padding:clamp(28px,5vw,80px); display:flex; flex-direction:column; align-items:flex-start; }
.obj1-section-copy h2 { margin:auto 0 22px; font-size:clamp(3.2rem,7vw,7.8rem); font-weight:400; line-height:.95; letter-spacing:-.075em; }
.obj1-section-copy p { font-size:clamp(1.1rem,1.7vw,1.5rem); line-height:1.35; }
.obj1-subnote { margin-top:auto; }
.obj1-full figure { position:relative; min-height:760px; overflow:hidden; background:#d5d0c9; }
.obj1-full img { display:block; width:100%; height:100%; max-height:850px; object-fit:cover; object-position:center 48%; }
.obj1-full figcaption { position:absolute; right:24px; bottom:20px; padding:8px 10px; background:rgba(244,243,239,.9); font-size:.74rem; }

.obj1-details { border-bottom:1px solid #151515; }
.obj1-section-head { display:flex; align-items:end; justify-content:space-between; gap:24px; padding:38px clamp(20px,3.3vw,56px); }
.obj1-section-head h2 { font-size:clamp(2.4rem,5vw,5.8rem); font-weight:400; line-height:1; letter-spacing:-.06em; }
.obj1-detail-grid { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid #151515; }
.obj1-detail-grid figure:first-child { border-right:1px solid #151515; }
.obj1-detail-image { height:clamp(520px,55vw,800px); overflow:hidden; background:#d7d2c9; }
.obj1-detail-image img { width:100%; height:100%; display:block; object-fit:cover; }
.obj1-detail-image.pliegues img { object-position:center 19%; }
.obj1-detail-image.base img { object-position:center 73%; }
.obj1-detail-grid figcaption { min-height:128px; padding:22px clamp(20px,3vw,48px); display:flex; flex-direction:column; justify-content:space-between; font-size:.78rem; }
.obj1-detail-grid figcaption strong { font-size:clamp(1rem,1.6vw,1.35rem); font-weight:400; }

.obj1-scale { position:relative; min-height:770px; height:85svh; color:white; overflow:hidden; background:#25221f; }
.obj1-scale > img { width:100%; height:100%; display:block; object-fit:cover; object-position:center 45%; }
.obj1-scale:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.6),transparent 62%); }
.obj1-scale-caption { position:absolute; z-index:1; top:clamp(32px,5vw,80px); left:clamp(20px,4vw,72px); max-width:360px; }
.obj1-scale h2 { margin:32px 0 18px; font-size:clamp(3rem,6vw,6.8rem); line-height:.95; font-weight:400; letter-spacing:-.065em; }
.obj1-scale p { max-width:290px; font-size:1rem; }

.obj1-measures { display:grid; grid-template-columns:37% 63%; min-height:660px; border-bottom:1px solid #151515; }
.obj1-measures-copy { padding:clamp(28px,4vw,68px); background:#ded2ae; display:flex; flex-direction:column; }
.obj1-measures-copy h2 { margin:130px 0 24px; font-size:clamp(3rem,5.6vw,6.4rem); line-height:.95; font-weight:400; letter-spacing:-.065em; }
.obj1-measures-copy p { max-width:330px; font-size:.95rem; }
.obj1-measure-diagram { position:relative; min-height:660px; display:flex; flex-direction:column; align-items:center; justify-content:center; background:#e8e7e3; overflow:hidden; }
.obj1-outline { width:300px; height:335px; position:relative; margin:38px auto 30px; }
.obj1-outline-shade { position:absolute; top:0; left:0; width:300px; height:85px; border:2px solid #151515; border-top:0; clip-path:polygon(43% 0,57% 0,100% 100%,0 100%); background:#e8e7e3; }
.obj1-outline-shade:before { content:""; position:absolute; top:0; left:43%; right:43%; border-top:2px solid #151515; }
.obj1-outline-base { position:absolute; left:76px; bottom:0; width:148px; height:250px; border:2px solid #151515; clip-path:polygon(35% 0,65% 0,100% 100%,0 100%); }
.obj1-dim-line { position:relative; width:300px; border-top:1px solid #151515; text-align:center; font-size:.78rem; }
.obj1-dim-line:before,.obj1-dim-line:after { content:""; position:absolute; top:-6px; height:12px; border-left:1px solid #151515; }
.obj1-dim-line:before { left:0; }.obj1-dim-line:after { right:0; }
.obj1-dim-line span { position:relative; top:-25px; background:#e8e7e3; padding:0 8px; }
.obj1-dim-base { width:148px; }
.obj1-dim-height,.obj1-dim-pending { font-size:.76rem; margin-top:22px; letter-spacing:.03em; }
.obj1-dim-pending { color:#555; margin-top:9px; }

.obj1-purchase { display:grid; grid-template-columns:1fr 1fr; border-bottom:1px solid #151515; }
.obj1-purchase-intro { padding:clamp(32px,5vw,84px); display:flex; flex-direction:column; min-height:600px; background:#1749d7; color:#fff; }
.obj1-purchase-intro h2 { margin:auto 0 26px; font-size:clamp(4rem,7vw,8rem); font-weight:400; line-height:.9; letter-spacing:-.08em; }
.obj1-purchase-intro p { max-width:380px; font-size:1rem; }
.obj1-purchase-price { margin-top:38px; font-size:clamp(1.5rem,2.5vw,2.6rem); }
.obj1-purchase-form { display:flex; flex-direction:column; padding:clamp(28px,4vw,68px); }
.obj1-setting { display:flex; flex-direction:column; align-items:flex-start; gap:12px; margin:0; padding:24px 0; border:0; border-bottom:1px solid #aaa; font-size:.8rem; }
.obj1-setting strong { font-size:clamp(1.1rem,2vw,1.7rem); font-weight:400; }
.obj1-setting small { font-size:.78rem; color:#555; }
.obj1-cable { display:block; }
.obj1-cable legend { padding:24px 0 10px; font-size:.8rem; }
.obj1-cable label { display:inline-flex; margin:4px 8px 0 0; position:relative; }
.obj1-cable input { position:absolute; opacity:0; width:100%; height:100%; margin:0; cursor:pointer; }
.obj1-cable label span { display:inline-flex; min-width:118px; min-height:50px; align-items:center; justify-content:center; border:1px solid #151515; font-size:.82rem; }
.obj1-cable input:checked + span { background:#151515; color:#fff; }
.obj1-cable input:focus-visible + span { outline:3px solid #1749d7; outline-offset:3px; }
.obj1-primary-buy { width:100%; margin-top:auto; min-height:64px; padding:0 20px; border:1px solid #151515; background:#151515; color:#fff; display:flex; justify-content:space-between; align-items:center; font-size:.88rem; }
.obj1-primary-buy:hover,.obj1-primary-buy:focus-visible { background:#1749d7; border-color:#1749d7; }

.obj1-included { display:grid; grid-template-columns:1fr 1fr; padding:clamp(32px,4vw,68px); gap:32px; border-bottom:1px solid #151515; }
.obj1-included h2 { margin:90px 0 0; font-size:clamp(3rem,5.7vw,6.4rem); line-height:.95; letter-spacing:-.065em; font-weight:400; }
.obj1-included ul { padding:0; margin:0; list-style:none; border-top:1px solid #151515; }
.obj1-included li { display:flex; align-items:baseline; gap:30px; padding:24px 0; border-bottom:1px solid #aaa; font-size:clamp(1rem,1.4vw,1.35rem); }
.obj1-included li span { font-size:.78rem; }
.obj1-end { min-height:480px; padding:clamp(28px,4vw,68px); display:flex; flex-direction:column; justify-content:space-between; background:#ded2ae; }
.obj1-end > span { font-size:.78rem; }
.obj1-end h2 { font-size:clamp(4rem,10vw,12rem); line-height:.85; letter-spacing:-.09em; font-weight:400; }
.obj1-end > div { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.obj1-end > div span { font-size:1.2rem; }
.obj1-end button { min-height:58px; padding:0 24px; border:1px solid #151515; background:#151515; color:#fff; font-size:.82rem; }
.obj1-mobile-buy { display:none; }

@media(max-width:820px) {
  .obj1-page { padding-bottom:66px; }
  .obj1-hero { height:calc(100svh - 66px); min-height:610px; }
  .obj1-hero-frame img { object-fit:cover; object-position:center; }
  .obj1-hero-shade { background:linear-gradient(0deg,rgba(0,0,0,.58),transparent 32%,transparent 66%,rgba(0,0,0,.34)); }
  .obj1-hero-top { top:16px; }.obj1-hero-top > span { display:none; }
  .obj1-hero-content { top:15%; }.obj1-hero h1 { font-size:clamp(3.4rem,14vw,6rem); }
  .obj1-hero-content p { font-size:.95rem; }
  .obj1-hero-bottom { flex-direction:column; align-items:stretch; bottom:24px; }
  .obj1-light-switch { align-self:flex-start; }.obj1-light-switch button { min-height:46px; padding:0 18px; }
  .obj1-hero-buy { justify-content:space-between; gap:10px; }.obj1-hero-add { min-height:48px; padding:8px 12px; font-size:.72rem; }
  .obj1-full,.obj1-measures,.obj1-purchase,.obj1-included { grid-template-columns:1fr; }
  .obj1-full { min-height:0; }.obj1-section-copy { min-height:320px; padding:32px 20px; }
  .obj1-section-copy h2 { margin:auto 0 15px; }.obj1-subnote { margin-top:24px; }
  .obj1-full figure { min-height:0; height:75svh; }.obj1-full img { max-height:none; object-fit:cover; }
  .obj1-section-head { align-items:flex-start; flex-direction:column; padding:28px 20px; }
  .obj1-detail-grid { grid-template-columns:1fr; }.obj1-detail-grid figure:first-child { border-right:0; border-bottom:1px solid #151515; }
  .obj1-detail-image { height:66svh; max-height:680px; }.obj1-detail-grid figcaption { min-height:105px; padding:16px 20px; }
  .obj1-scale { height:75svh; min-height:620px; }.obj1-scale > img { object-position:53% center; }.obj1-scale:after { background:linear-gradient(180deg,rgba(0,0,0,.6),transparent 40%); }
  .obj1-scale-caption { top:32px; left:20px; }.obj1-scale h2 { margin:18px 0 12px; }
  .obj1-measures-copy { padding:32px 20px; }.obj1-measures-copy h2 { margin:60px 0 20px; }
  .obj1-measure-diagram { min-height:560px; }.obj1-outline { transform:scale(.88); margin:0 auto 0; }.obj1-dim-shade { margin-top:25px; }
  .obj1-purchase-intro { min-height:420px; padding:32px 20px; }.obj1-purchase-intro h2 { margin:auto 0 20px; }
  .obj1-purchase-form { padding:18px 20px 34px; min-height:500px; }.obj1-primary-buy { margin-top:30px; }
  .obj1-included { padding:36px 20px; }.obj1-included h2 { margin:60px 0 24px; }
  .obj1-end { min-height:380px; padding:30px 20px; }.obj1-end h2 { font-size:clamp(3.7rem,15vw,7rem); }
  .obj1-end > div { align-items:stretch; flex-direction:column; }.obj1-end button { width:100%; }
  .obj1-mobile-buy { position:fixed; z-index:18; left:0; right:0; bottom:0; min-height:66px; padding:8px 12px 8px 18px; display:flex; align-items:center; justify-content:space-between; gap:12px; background:#f4f3ef; border-top:1px solid #151515; font-size:.78rem; }
  .obj1-mobile-buy button { min-height:46px; min-width:120px; border:1px solid #151515; background:#151515; color:white; font-size:.78rem; }
}
@media(prefers-reduced-motion:reduce) { .obj1-hero .obj1-on { transition:none; } }
