/* duc-orgs.css · /for-organisations — "Solidarity"
   Tokens from duc-core.css; chrome from the shared partials; the partner rates reuse
   .duc-pricing from duc-sections.css. Everything here is this page and nothing else —
   prefix .duc-org.

   FOUNDER REWRITE 2026-09-16. The page was a two-route commercial pitch with an organisation
   dashboard mock, brand vouchers and a column of legal markers. It is now three things: the
   Solidarity principle from /values, a partner price table, and a form that emails the
   enquiry. The dashboard, the brand discounts and every disclaimer are gone — and with them
   the mock's scale machinery, the sticky route rails and the ink band. Don't reinstate any of
   it without asking; the simplification was the point.

   House rules still hold: paper is the ground, white cards, colour is status not decoration,
   mono holds numbers, labels and captions but never a sentence, no blur on this page.
   Mono TEXT takes --mono-4 (--mono-1…3 are blueprint decor and fail AA on paper). */

/* Blueprint sheet 03. */
body[data-page="orgs"]{--ground-n:"03";--ground-id:"DUC-03"}

/* The SECTION marginalia sits at left:24% (duc-core §6). On /values that clears the read,
   because the prose starts after the 248px index rail. This page is ONE column running from
   the container's left edge, so 24% lands inside the paragraph at every width — decor behind
   prose, which the house rules forbid. The corner sheet marks and the X/Y axis marks stay:
   they are in the gutter where marginalia belongs. */
body[data-page="orgs"] .duc-ground__mark--section{display:none}
/* Below 900 the gutter collapses to 24px and the axis marks land on the body text — hidden
   the way home and join hide theirs (duc-core §6). */
@media (max-width:899px){
  body[data-page="orgs"] .duc-ground__mark{display:none}
}

/* ── the container · identical to the rest of the WEB set ────────────────── */
.duc-org{
  position:relative;z-index:1;
  width:var(--rail);max-width:1180px;margin:0 auto;box-sizing:border-box;
  font-family:var(--font-ui);color:var(--ink);
  scroll-margin-top:96px;
}

/* ── shared small parts ──────────────────────────────────────────────────── */
.duc-org__kicker{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:1.6px;color:var(--teal)}
.duc-org__eyebrow{font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:1.4px;color:var(--mono-4)}
.duc-org__ruled{display:flex;align-items:center;gap:18px}
.duc-org__ruled::after{content:"";flex:1;height:1px;background:rgba(18,22,27,.14)}

.duc-org__cta{
  box-sizing:border-box;min-height:50px;display:inline-flex;align-items:center;gap:9px;
  padding:0 26px;border-radius:999px;background:var(--ink);color:#FFFFFF;
  font-family:inherit;font-size:15.5px;font-weight:600;letter-spacing:-.2px;
  text-decoration:none;border:none;cursor:pointer;
  transition:background .15s ease;
}
@media (hover:hover){.duc-org__cta:hover{background:var(--ink-hover);color:#FFFFFF}}

/* ── standfirst ──────────────────────────────────────────────────────────── */
.duc-org-hero{padding:clamp(140px,17vh,200px) 0 clamp(36px,5vw,60px)}
.duc-org-hero__h1{margin:14px 0 0;font-size:clamp(38px,5.2vw,68px);font-weight:800;letter-spacing:-.035em;line-height:1.03;color:var(--ink);text-wrap:pretty}
.duc-org-hero__lede{margin:22px 0 0;max-width:680px;font-size:clamp(18px,1.7vw,21px);line-height:1.6;color:var(--body2);text-wrap:pretty}
.duc-org-hero .duc-org__cta{margin-top:28px}

/* ── why · the Solidarity principle, set as the read it is ───────────────── */
/* Same rhythm as a /values principle: an italic statement in ink as the scannable layer, then
   17px prose at 68ch. Never collapsed, clamped or hidden behind a "read more" at any width. */
.duc-org-why{padding:clamp(40px,5vw,64px) 0 0;border-top:1px solid rgba(18,22,27,.14)}
.duc-org-why__statement{
  margin:26px 0 0;max-width:740px;
  font-style:italic;font-size:clamp(18px,2vw,24px);font-weight:500;line-height:1.4;
  letter-spacing:-.015em;color:var(--ink);text-wrap:pretty;
}
.duc-org-why__prose{margin-top:22px}
.duc-org-why__prose p{margin:0 0 18px;max-width:min(100%,68ch);font-size:17px;line-height:1.72;color:var(--body2);text-wrap:pretty}
.duc-org-why__prose p:last-child{margin-bottom:0}

/* ── partner rates ───────────────────────────────────────────────────────── */
.duc-org-rates{padding:clamp(56px,7vw,100px) 0 0}
.duc-org-rates__head{margin-top:18px}
.duc-org-rates__h2{margin:0;max-width:820px;font-size:clamp(28px,3.4vw,44px);font-weight:700;letter-spacing:-.03em;line-height:1.1;color:var(--ink);text-wrap:pretty}
.duc-org-rates__sub{margin:14px 0 0;max-width:min(100%,60ch);font-size:16.5px;line-height:1.65;color:var(--body2);text-wrap:pretty}
/* .duc-pricing sets its own inner width for the home page; here the section already owns the
   container, so the component sits flush inside it. */
.duc-org-rates .duc-pricing{margin-top:clamp(26px,3.4vw,44px)}
.duc-org-rates .duc-pricing__inner{width:100%;max-width:none;padding-left:0;padding-right:0;margin:0}
.duc-org-rates__share{
  margin:clamp(26px,3.4vw,42px) 0 0;max-width:min(100%,68ch);
  font-size:17px;line-height:1.72;color:var(--body2);text-wrap:pretty;
}
.duc-org-rates__share a{color:var(--teal);font-weight:600}

/* ── enquiry ─────────────────────────────────────────────────────────────── */
.duc-org-enq{padding:clamp(64px,8vw,110px) 0 clamp(80px,10vw,140px)}
.duc-org-enq__card{
  display:flex;flex-wrap:wrap;gap:clamp(24px,3.4vw,56px);box-sizing:border-box;
  background:var(--white);border:1px solid var(--hair);border-radius:22px;
  padding:clamp(24px,3.2vw,48px);box-shadow:0 24px 64px rgba(24,44,84,.08);
}
.duc-org-enq__l{flex:1 1 300px;min-width:0}
.duc-org-enq__h2{margin:12px 0 0;max-width:520px;font-size:clamp(26px,3vw,38px);font-weight:700;letter-spacing:-.03em;line-height:1.12;color:var(--ink);text-wrap:pretty}
.duc-org-enq__p{margin:14px 0 0;max-width:min(100%,46ch);font-size:16px;line-height:1.6;color:var(--body2);text-wrap:pretty}

.duc-org-form{flex:999 1 420px;min-width:0;display:flex;flex-direction:column;gap:14px}
.duc-org-form__field{display:flex;flex-direction:column;gap:6px}
.duc-org-form__label{font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:1.2px;color:var(--mono-4)}
/* Three tappable buttons that wrap to three lines on a phone — never a <select>. */
.duc-org-form__seg{display:flex;flex-wrap:wrap;gap:6px}
.duc-org-form__opt{
  min-height:44px;display:inline-flex;align-items:center;padding:0 16px;border-radius:999px;
  font-family:inherit;font-size:14.5px;font-weight:600;letter-spacing:-.1px;cursor:pointer;
  border:1px solid var(--hair);background:var(--white);color:var(--body2);
  transition:background .2s ease,color .2s ease;
}
.duc-org-form__opt[aria-checked="true"]{border:1px solid transparent;background:var(--ink);color:#FFFFFF;font-weight:700}
.duc-org-form__pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:12px}
.duc-org-form__in{
  height:48px;box-sizing:border-box;padding:0 14px;border-radius:12px;
  border:1px solid var(--code-border);background:var(--white);
  font-family:inherit;font-size:15px;color:var(--ink);
}
.duc-org-form__in--mono{font-family:var(--font-mono)}
.duc-org-form__in::placeholder{color:var(--placeholder)}
.duc-org-form__ta{height:auto;min-height:88px;padding:12px 14px;line-height:1.5;resize:vertical}
.duc-org-form__in[aria-invalid="true"]{border-color:#B4512F;background:#FDF6F3}
.duc-org-form__submit{justify-content:center;width:100%}
.duc-org-form__submit[disabled]{opacity:.6;cursor:default}
/* Status is the only thing on this page that changes colour to mean something: teal = sent,
   warm = the send failed and the sender needs to act. */
.duc-org-form__status{margin:0;font-size:14.5px;line-height:1.5;color:var(--body2)}
.duc-org-form__status[data-state="ok"]{color:var(--teal);font-weight:600}
.duc-org-form__status[data-state="err"]{color:#B4512F;font-weight:600}
/* Sent: the fields go and the receipt stands alone. orgs.js adds .is-sent. */
.duc-org-form.is-sent .duc-org-form__field,
.duc-org-form.is-sent .duc-org-form__pair{display:none}
.duc-org-form.is-sent .duc-org-form__status{font-size:16px}

/* ── page decor · this page's share of the blueprint furniture ───────────── */
/* overflow:hidden clips the porthole's outer ring, which sits at inset:-18px and would
   otherwise paint ~4px past the right edge. It changes nothing about the fixed-background
   disc — only a TRANSFORM on an ancestor re-anchors that (duc-values.css). */
.duc-org-decor{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.duc-org-decor__map{position:absolute;left:10px;top:28%;width:min(180px,11vw);height:auto;opacity:.8}
.duc-org-decor__people{position:absolute;left:14px;top:70%;width:min(92px,5.6vw);height:auto;opacity:.13}
.duc-org-decor__bird{position:absolute;right:17%;top:82%;opacity:.7}
.duc-org-win{position:absolute;right:14px;top:14%;width:min(128px,7vw,16vh);height:min(128px,7vw,16vh);animation:duc-org-winA 34s ease-in-out infinite alternate}
.duc-org-win__ring{position:absolute;inset:-18px;border:1px solid rgba(18,22,27,.13);border-radius:50%}
.duc-org-win__tick{position:absolute;background:rgba(18,22,27,.20)}
.duc-org-win__tick--n{left:50%;top:-24px;width:1px;height:11px}
.duc-org-win__tick--w{left:-24px;top:50%;width:11px;height:1px}
.duc-org-win__star{position:absolute;left:-40px;top:-8px;font-size:19px;line-height:normal;color:var(--ink);animation:duc-org-pulse 5s ease-in-out infinite}
/* The drift animates MARGIN, not transform: a fixed background under a transformed ancestor
   re-anchors and re-scales the photo (the measurement that shaped .duc-val-win__disc). */
.duc-org-win__disc{
  position:absolute;inset:0;border-radius:50%;overflow:hidden;
  box-shadow:0 18px 44px rgba(24,44,84,.16);
  background-image:url("/assets/site/sky-clouds.jpg");
  background-image:image-set(url("/assets/site/sky-clouds-600.webp") type("image/webp"),url("/assets/site/sky-clouds.jpg") type("image/jpeg"));
  background-size:cover;background-position:center;background-attachment:fixed;
}
@keyframes duc-org-winA{0%{margin:0}45%{margin:24px 20px 0 0}100%{margin:-8px -10px 0 0}}
@keyframes duc-org-pulse{0%,100%{opacity:.35}50%{opacity:.9}}

/* Nothing on this page animates on scroll, so reduced motion has only these to kill. */
@media (prefers-reduced-motion:reduce){
  .duc-org-win,.duc-org-win__star{animation:none}
  .duc-org-form__opt,.duc-org__cta{transition:none}
}
