/* inner pages: page-specific sections; shared carriers (hero --inner/--legal, feature, drop, crew, letters panel,
   desk, tabs, form, cta, grounds) live in blocks.css */

/* ---------- briefs: the index on plum, then four long-reads ---------- */
.dua-bench{position:relative;overflow:hidden}
.dua-bench__deco{width:26rem;height:26rem;right:-13rem;top:12%;opacity:.14;transform:rotate(-10deg)}
.dua-bench__deco2{width:12rem;height:12rem;left:-6rem;bottom:14%;opacity:.18}
.dua-bench__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1rem,2vw,1.5rem)}
.dua-brief{position:relative;overflow:hidden;background:var(--dua-bg);scroll-margin-top:4rem}
.dua-brief--alt{background:var(--dua-bg-2)}
.dua-brief__deco{width:24rem;height:24rem;right:-12rem;top:34%;opacity:.16;transform:rotate(-10deg)}
.dua-brief--alt .dua-brief__deco{right:auto;left:-12rem;transform:rotate(10deg)}
/* prose in units on 12 columns: the lead, then units that shift left/centre/right, the pull panel full width */
.dua-brief__prose{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(1rem,2vw,1.6rem);row-gap:clamp(1.5rem,2.8vw,2.3rem);margin-top:clamp(2.4rem,4.6vw,3.8rem)}
.dua-brief__lead{grid-column:1/span 8;font-size:clamp(1.18rem,1.7vw,1.42rem);font-weight:700;line-height:1.55;color:var(--dua-ink)}
.dua-brief__unit{display:flex;flex-direction:column;gap:.75rem;min-width:0}
.dua-brief__unit--l{grid-column:1/span 6}
.dua-brief__unit--m{grid-column:4/span 6}
.dua-brief__unit--r{grid-column:7/span 6}
.dua-brief__unit--note{padding-left:1.25rem;border-left:3px solid transparent;border-image:var(--dua-grad-candy) 1}
.dua-brief__text{font-size:1.06rem;font-weight:600;line-height:1.7;color:var(--dua-ink-soft)}
.dua-brief__note{display:flex;align-items:center;gap:.7rem}
.dua-brief__note-label{font-family:var(--dua-display);font-weight:800;font-size:.84rem;letter-spacing:.08em;text-transform:uppercase;color:var(--dua-ink)}
.dua-brief__pull{grid-column:1/-1;margin-block:clamp(.4rem,1.4vw,1.1rem)}
@media (max-width:1100px){
  .dua-bench__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dua-brief__lead{grid-column:1/span 11}
  .dua-brief__unit--l{grid-column:1/span 9}
  .dua-brief__unit--m{grid-column:2/span 9}
  .dua-brief__unit--r{grid-column:4/span 9}
}
@media (max-width:760px){
  .dua-brief__lead,.dua-brief__unit--l,.dua-brief__unit--m,.dua-brief__unit--r{grid-column:1/-1}
}
@media (max-width:600px){
  .dua-bench__grid{grid-auto-flow:column;grid-template-columns:none;grid-template-rows:repeat(4,auto);grid-auto-columns:min(74vw,17rem);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--dua-pad);margin-inline:calc(var(--dua-pad)*-1);padding:.3rem var(--dua-pad) 1rem}
  .dua-bench__grid .dua-drop--mini{scroll-snap-align:start}
}

/* ---------- the lab ---------- */
.dua-lab-tl,.dua-rules,.dua-refuse{position:relative;overflow:hidden}
.dua-lab-tl__deco{width:24rem;height:24rem;right:-12rem;top:50%;opacity:.2;transform:translateY(-50%) rotate(-10deg)}
.dua-rules__deco{width:24rem;height:24rem;left:-12rem;top:16%;opacity:.13;transform:rotate(12deg)}
.dua-rules__deco2{width:13rem;height:13rem;right:-6rem;bottom:12%;opacity:.18}
/* rules as a bento: 7 + 5, then 5 + 7; the tiles of a row share their rows (subgrid), two of four carry the accent */
.dua-bento{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(1rem,2vw,1.5rem)}
.dua-bento__tile{grid-column:span 5;grid-row:span 4;display:grid;grid-template-rows:subgrid;row-gap:.95rem;align-items:start}
.dua-bento__tile--wide{grid-column:span 7}
.dua-lens--tile{width:auto;padding:clamp(1.5rem,2.6vw,2.4rem)}
.dua-lens--tile .dua-lens__idx{color:var(--dua-yellow)}
.dua-lens--tile .dua-lens__title{color:var(--dua-cream)}
.dua-lens--tile .dua-lens__desc{max-width:46ch;color:rgba(255,244,222,.76)}
.dua-lens--accent{border-color:transparent;background:linear-gradient(160deg,#3d1446,#230a2a) padding-box,var(--dua-btn-grad) border-box;box-shadow:0 30px 70px -34px rgba(251,69,236,.55)}
.dua-desk__stats--tile{align-self:end;justify-content:flex-start;gap:clamp(1.6rem,3.4vw,3.2rem);margin:0 -.6rem;padding:1.1rem .6rem 0;border-top:1px solid rgba(247,155,242,.22)}
.dua-desk__stats--tile .dua-desk__stat-num{font-size:clamp(2.3rem,3.4vw,3.2rem)}
.dua-desk__stats--tile .dua-desk__stat-label{font-size:.9rem;max-width:20ch}
.dua-refuse__deco{width:22rem;height:22rem;right:-11rem;top:50%;opacity:.2;transform:translateY(-50%) rotate(-8deg)}
/* hard noes: a typographic strip between two framing lines (a little wider than the list); every item is a
   two-row subgrid (the struck "no", then the "yes"), so the four lines of each kind sit level */
.dua-refuse__list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem clamp(1.2rem,2.4vw,2.2rem);margin-inline:-.8rem;padding:clamp(1.5rem,2.6vw,2.1rem) .8rem;border-block:2px solid var(--dua-line-strong)}
.dua-refuse__item{grid-row:span 2;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:subgrid;column-gap:.95rem;align-items:start}
.dua-refuse__ic{grid-row:1/span 2}
.dua-refuse__body{display:contents}
.dua-refuse__no{grid-column:2;grid-row:1;align-self:center;font-family:var(--dua-display);font-weight:800;font-size:clamp(1.12rem,1.5vw,1.3rem);line-height:1.12;text-transform:uppercase;letter-spacing:.01em;color:var(--dua-ink);text-decoration:line-through;text-decoration-color:var(--dua-magenta);text-decoration-thickness:3px}
.dua-refuse__yes{grid-column:2;grid-row:2;font-size:1.02rem;font-weight:700;line-height:1.4;color:var(--dua-magenta-ink)}
.dua-flip__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2vw,1.6rem)}
.dua-flip{display:block;width:100%;padding:0;border:0;background:none;cursor:pointer;perspective:1200px;font:inherit;text-align:left}
.dua-flip__inner{display:block;position:relative;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.4,0,.2,1);min-height:clamp(15rem,22vw,17rem)}
.dua-flip.is-flipped .dua-flip__inner{transform:rotateY(180deg)}
.dua-flip__face{position:absolute;inset:0;display:flex;flex-direction:column;align-items:flex-start;gap:.8rem;padding:clamp(1.3rem,2.2vw,1.8rem);border-radius:var(--dua-r-lg);backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden}
.dua-flip__front{border:2px solid rgba(255,244,190,.6);background:linear-gradient(100deg,#F79BF2 0%,#FB45EC 30%,#F87FE6 56%,#FBA7B4 80%,#F8DD4A 100%);background-size:300% 100%;background-position:var(--flip-x,0%) 0;box-shadow:0 26px 54px -26px rgba(181,19,159,.6),inset 0 1px 0 rgba(255,248,253,.55)}
.dua-flip:nth-child(2){--flip-x:50%}
.dua-flip:nth-child(3){--flip-x:100%}
.dua-flip__back{background:linear-gradient(155deg,#3a1342,#220a29);border:2px solid rgba(247,155,242,.25);transform:rotateY(180deg)}
.dua-flip__line{font-family:var(--dua-display);font-weight:800;font-size:clamp(1.2rem,1.8vw,1.5rem);line-height:1.18;color:var(--dua-ink)}
.dua-flip__line--back{color:var(--dua-cream);font-family:var(--dua-body);font-weight:600;font-size:1.02rem;line-height:1.5}
.dua-flip__hint{margin-top:auto;font-family:var(--dua-display);font-weight:800;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--dua-ink)}
@media (max-width:900px){
  .dua-bento__tile,.dua-bento__tile--wide{grid-column:span 6}
}
@media (max-width:1100px){
  .dua-refuse__list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dua-refuse__item:nth-child(n+3){margin-top:1.3rem}
}
@media (max-width:760px){
  .dua-flip__grid{grid-template-columns:1fr}
}
@media (max-width:600px){
  .dua-refuse__list{grid-template-columns:minmax(0,1fr)}
  .dua-refuse__item:nth-child(n+2){margin-top:1.3rem}
}
@media (max-width:600px){
  .dua-bento__tile,.dua-bento__tile--wide{grid-column:1/-1}
}

/* ---------- uplink: form 7/12 + channel panel 5/12 in one dark slab, FAQ on plum ---------- */
.dua-uform{position:relative;overflow:hidden;background:#EDBFE4}
.dua-uform__deco{width:24rem;height:24rem;left:-12rem;top:50%;opacity:.2;transform:translateY(-50%) rotate(10deg)}
.dua-uform__panel{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(1.6rem,3.4vw,3rem);padding:clamp(1.6rem,3.2vw,3rem)}
.dua-uform__glow{position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(52% 70% at 78% 24%,rgba(251,69,236,.4),rgba(248,221,74,.12) 52%,transparent 74%)}
.dua-uform__main{position:relative;z-index:1;min-width:0}
.dua-uform__head{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:clamp(1.3rem,2.4vw,1.8rem)}
.dua-uform__head-tag{font-family:var(--dua-display);font-variant-numeric:tabular-nums;font-weight:700;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:var(--dua-orchid)}
.dua-uform__head-to{font-family:var(--dua-display);font-weight:800;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(247,155,242,.6)}
.dua-uform__info{position:relative;z-index:1;display:flex;flex-direction:column;gap:1.4rem;min-width:0;padding:clamp(1.4rem,2.4vw,2.1rem);border-radius:var(--dua-r-lg);background:rgba(255,244,190,.05);border:2px solid rgba(247,155,242,.2)}
/* every channel panel sits in the same grid cell: switching never changes the height */
.dua-chaninfo{display:grid;flex:1}
.dua-chaninfo__panel{grid-area:1/1;display:flex;flex-direction:column;align-items:flex-start;gap:1rem;opacity:0;visibility:hidden;transition:opacity .4s ease,visibility 0s linear .4s}
.dua-chaninfo__panel.is-active{opacity:1;visibility:visible;transition-delay:0s}
.dua-motion .dua-chaninfo__panel.is-active .dua-chaninfo__head,.dua-motion .dua-chaninfo__panel.is-active .dua-chaninfo__desc{animation:dua-tab-copy .5s var(--dua-ease-out) backwards}
.dua-chaninfo__head{display:flex;align-items:center;gap:.9rem}
.dua-chaninfo__title{font-family:var(--dua-display);font-weight:800;font-size:clamp(1.4rem,2.2vw,1.9rem);line-height:1.05;text-transform:uppercase;letter-spacing:-.01em;color:var(--dua-cream)}
.dua-chaninfo__desc{font-size:1.02rem;font-weight:600;line-height:1.6;color:rgba(255,244,222,.8)}
.dua-chaninfo__stat{margin-top:.2rem}
.dua-chaninfo__tip{width:calc(100% + 1.2rem);margin:auto -.6rem 0;padding:1rem .6rem 0;border-top:1px solid rgba(247,155,242,.2);font-size:.95rem;font-weight:600;line-height:1.5;color:rgba(255,244,222,.76)}
.dua-chaninfo__tip-label{display:block;margin-bottom:.3rem;font-family:var(--dua-display);font-weight:800;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:var(--dua-orchid)}
.dua-uform__lines{display:flex;flex-direction:column;gap:.9rem;margin-inline:-.6rem;padding:1.2rem .6rem 0;border-top:1px solid rgba(247,155,242,.2)}
.dua-uform__line{display:flex;align-items:center;gap:.8rem}
.dua-uform__line-body{display:flex;flex-direction:column;gap:.1rem;min-width:0}
.dua-uform__line-label{font-family:var(--dua-display);font-weight:800;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--dua-orchid)}
.dua-uform__line-link{font-family:var(--dua-display);font-weight:800;font-size:1rem;color:var(--dua-cream);word-break:break-word;transition:color var(--dua-fast) ease}
.dua-uform__line-link:hover{color:var(--dua-yellow)}
.dua-uform__line-text{font-size:.95rem;font-weight:600;line-height:1.45;color:rgba(255,244,222,.8)}
.dua-faq{position:relative;overflow:hidden}
.dua-faq__deco{width:22rem;height:22rem;left:-11rem;top:30%;opacity:.12;transform:rotate(12deg)}
.dua-faq__deco2{width:12rem;height:12rem;right:-5rem;top:14%;opacity:.16}
.dua-faq__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.8rem,1.6vw,1rem) clamp(1rem,2.4vw,1.8rem);align-items:start}
.dua-faq__col{display:flex;flex-direction:column;gap:clamp(.8rem,1.6vw,1rem)}
.dua-faq__item{border-radius:var(--dua-r);background:rgba(255,244,190,.05);border:2px solid rgba(247,155,242,.22);overflow:hidden;transition:border-color var(--dua-mid) ease,background-color var(--dua-mid) ease}
.dua-faq__item:hover{border-color:rgba(251,69,236,.55)}
.dua-faq__item[open]{background-color:rgba(255,244,190,.08);border-color:rgba(251,69,236,.5)}
.dua-faq__q{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.15rem 1.4rem;cursor:pointer;list-style:none;font-family:var(--dua-display);font-weight:800;font-size:clamp(1rem,1.4vw,1.12rem);line-height:1.25;text-transform:uppercase;letter-spacing:.005em;color:var(--dua-cream)}
.dua-faq__q::-webkit-details-marker{display:none}
.dua-faq__q::after{content:"";flex:none;width:.62rem;height:.62rem;border-right:2.5px solid var(--dua-orchid);border-bottom:2.5px solid var(--dua-orchid);transform:rotate(45deg);transition:transform .3s ease}
.dua-faq__item[open] .dua-faq__q::after{transform:rotate(-135deg)}
.dua-faq__a{padding:0 1.4rem 1.3rem;font-size:1rem;font-weight:600;line-height:1.6;color:rgba(255,244,222,.78)}
@media (max-width:1180px){
  .dua-uform__panel{grid-template-columns:minmax(0,1fr)}
}
@media (min-width:761px) and (max-width:1180px){
  .dua-uform__info{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:start;gap:clamp(1.4rem,3vw,2.4rem)}
  .dua-uform__lines{margin-inline:0;padding:0 0 0 clamp(1.4rem,3vw,2.4rem);border-top:0;border-left:1px solid rgba(247,155,242,.2);align-self:stretch;justify-content:center}
}
@media (max-width:860px){
  .dua-faq__list{grid-template-columns:minmax(0,1fr)}
}

/* ---------- legal: contents on the left from the page's own anchors, text on 8 of 12 columns ---------- */
.dua-legal{position:relative}
.dua-legal__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(1.6rem,3vw,3rem);align-items:start}
.dua-legal__toc{grid-column:1/span 3;display:flex;flex-direction:column;gap:.8rem;margin-inline:-.7rem;padding:1.1rem .7rem;border-block:2px solid var(--dua-line-strong)}
.dua-legal__toc-label{font-family:var(--dua-display);font-weight:800;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dua-ink)}
.dua-legal__toc-list{display:flex;flex-direction:column}
.dua-legal__toc-link{display:flex;align-items:baseline;gap:.75rem;padding:.4rem 0;font-family:var(--dua-display);font-weight:700;font-size:.95rem;line-height:1.25;color:var(--dua-ink-soft);transition:color var(--dua-fast) ease}
.dua-legal__toc-link:hover{color:var(--dua-magenta-ink)}
.dua-legal__toc-idx{flex:none;font-variant-numeric:tabular-nums;font-size:.78rem;letter-spacing:.04em;color:var(--dua-magenta-ink)}
.dua-legal__body{grid-column:5/span 8;min-width:0}
.dua-legal__lead{max-width:62ch;font-size:clamp(1.1rem,1.6vw,1.26rem);font-weight:700;line-height:1.6;color:var(--dua-ink)}
.dua-legal__h2{font-family:var(--dua-display);font-weight:800;text-transform:uppercase;font-size:clamp(1.4rem,2.6vw,2rem);line-height:1.06;letter-spacing:-.01em;color:var(--dua-ink);margin-top:clamp(2.2rem,4vw,3.2rem);margin-bottom:.9rem;scroll-margin-top:6rem}
.dua-legal__h3{font-family:var(--dua-display);font-weight:800;font-size:1.16rem;letter-spacing:.005em;color:var(--dua-ink);margin-top:1.7rem;margin-bottom:.5rem}
.dua-legal__p{max-width:70ch;font-size:1.04rem;font-weight:600;line-height:1.72;color:var(--dua-ink-soft);margin-bottom:1rem}
.dua-legal__list{max-width:70ch;margin:0 0 1.2rem;display:flex;flex-direction:column;gap:.55rem}
.dua-legal__item{position:relative;padding-left:1.5rem;font-size:1.04rem;font-weight:600;line-height:1.62;color:var(--dua-ink-soft)}
.dua-legal__item::before{content:"\2014";position:absolute;left:0;color:var(--dua-magenta);font-weight:800}
.dua-legal__link{color:var(--dua-magenta-ink);font-weight:700;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px;transition:color var(--dua-fast) ease}
.dua-legal__link:hover{color:var(--dua-ink)}
.dua-legal__entity{max-width:70ch;margin-top:1.4rem;padding:clamp(1.2rem,2.4vw,1.6rem) clamp(1.2rem,2.6vw,1.8rem);display:flex;flex-direction:column;gap:1rem}
.dua-legal__entity-head{display:flex;align-items:center;gap:.8rem}
.dua-legal__entity-title{font-family:var(--dua-display);font-weight:800;font-size:1.02rem;letter-spacing:.06em;text-transform:uppercase;color:var(--dua-cream)}
.dua-legal__entity-list{display:flex;flex-direction:column;gap:.35rem;padding-left:calc(2.15rem + .8rem)}
.dua-legal__entity-line{font-size:.98rem;font-weight:600;line-height:1.5;color:rgba(255,244,222,.8);overflow-wrap:anywhere}
.dua-legal__entity-name{font-weight:800;color:var(--dua-cream)}
.dua-legal__entity-link{color:var(--dua-orchid);transition:color var(--dua-fast) ease}
.dua-legal__entity-link:hover{color:var(--dua-cream)}
@media (max-width:900px){
  .dua-legal__toc,.dua-legal__body{grid-column:1/-1}
  .dua-legal__toc-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1.4rem}
}
@media (max-width:520px){
  .dua-legal__toc-list{grid-template-columns:minmax(0,1fr)}
  .dua-legal__entity-list{padding-left:0}
}
