/* Keep the approved emblem; crop only the lettering below it. */
.hero-scene,.phantom-presence{aspect-ratio:1254/900}
.phantom-presence{overflow:hidden}
.hero-art .hero-scene img{width:100%;height:auto;max-width:none}
.policy-service{display:grid;grid-template-columns:1fr 1fr;gap:9%;border-top:1px solid var(--line);padding-top:38px;margin-top:48px}
.policy-service .eyebrow{color:#d995a7;font-size:8px;margin-bottom:15px}
.policy-service h3{font-size:30px;line-height:1.2;letter-spacing:-.04em}
.policy-service p:not(.eyebrow){font-size:14px;color:#bcb0b8;line-height:1.85}
.policy-service p.policy-service-note{font-size:12px;color:#b6a3ad;margin-top:14px}
.policy-service .understated-link{margin-top:22px;color:#f1c6d2;display:inline-flex}
.manifesto::after{display:none}
.manifesto-heading-row{display:grid;grid-template-columns:1.55fr 1fr;gap:5%;align-items:center}
.manifesto h2{font-size:clamp(42px,5.2vw,80px);line-height:1.12;font-weight:600;letter-spacing:-.055em}
.manifesto .manifesto-copy{grid-template-columns:1fr 1fr;gap:5%;max-width:none;margin-top:46px;padding-top:30px;border-top:1px solid rgba(244,238,228,.3)}
.manifesto .manifesto-copy p{font-size:16px;line-height:1.8;letter-spacing:0;font-weight:400;color:var(--ivory);max-width:48ch;margin:0}
.manifesto .manifesto-copy p:first-child{max-width:42ch}
.manifesto-top .eyebrow{font-size:10px}
.client-section{display:grid;grid-template-columns:1fr 1.8fr;gap:9%;padding-top:80px;padding-bottom:80px;border-bottom:1px solid var(--line)}
.client-intro .eyebrow{color:#d995a7;margin-bottom:20px;font-size:9px}
.client-intro h2{font-size:clamp(30px,3vw,44px);line-height:1.2;letter-spacing:-.04em}
.client-intro>p:last-child{font-size:14px;line-height:1.8;color:#b9aeb4;margin-top:18px}
.client-feature{display:flex;align-items:center;justify-content:space-between;gap:30px;min-width:0;padding:32px;border:1px solid var(--line);transition:background .25s,border-color .25s}
.client-feature:hover{background:#151116;border-color:#9b5969}
.client-feature .eyebrow{font-size:9px;color:#c791a1;margin-bottom:16px}
.client-feature h3{font-size:clamp(27px,2.6vw,40px);line-height:1.25;letter-spacing:-.045em}
.client-feature-copy>p:not(.eyebrow){font-size:14px;line-height:1.8;max-width:40ch;margin-top:14px;color:#b9aeb4}
.client-visit{display:inline-flex;align-items:center;gap:28px;min-height:44px;margin-top:14px;font-size:12px;color:#f1c6d2}
.client-visit>span{font-size:20px}
.client-monogram{flex-shrink:0;font-size:80px;font-weight:300;color:#c791a1;line-height:1;opacity:.65}
.contact-note a{display:inline-block;color:inherit;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere;min-height:44px;padding-top:7px}
.email-fallback{font-size:12px;line-height:1.8;color:#b9aeb4;margin-top:22px}
.email-fallback a{color:#f1c6d2;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.solidarity-art{min-width:0;position:relative}
.solidarity-art svg{width:100%;display:block;overflow:visible}
.solidarity-art>span{display:block;text-align:center;font:8px Plex,monospace;letter-spacing:.12em;color:#ffe0e8;margin-top:18px}
.solidarity-net{transform-origin:200px 145px;animation:solidarity-drift 14s ease-in-out infinite}
.solidarity-path{fill:none;stroke:#4a0b1c;stroke-width:1.3;opacity:.65}
.solidarity-flow{fill:none;stroke:#fff1e9;stroke-width:2;stroke-linecap:round;stroke-dasharray:1 74;animation:solidarity-signal 12s linear infinite}
.solidarity-nodes circle{fill:#411321;stroke:#f7bacb;stroke-width:1.1;transform-box:fill-box;transform-origin:center;animation:solidarity-node 7s ease-in-out infinite}
.solidarity-nodes circle:nth-child(2n){animation-delay:-2s}.solidarity-nodes circle:nth-child(3n){animation-delay:-4s}
.solidarity-halo{fill:none;stroke:#f6bdcb;stroke-width:.8;opacity:.5}
.solidarity-halo-outer{stroke:#4a0b1c;stroke-dasharray:1 9;opacity:.6}
.solidarity-guardian{animation:halo-turn 28s linear infinite;transform-origin:0 0}
.solidarity-guardian path{fill:none;stroke:#fff1e9;stroke-width:2.5;stroke-linecap:round}
.solidarity-guardian circle{fill:#fff1e9}
.solidarity-centre{fill:#fff1e9;animation:solidarity-node 7s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.manifesto[data-active=false] .solidarity-art *{animation-play-state:paused}
@keyframes solidarity-drift{0%,100%{transform:rotate(-5deg) scale(.96)}50%{transform:rotate(5deg) scale(1.02)}}
@keyframes solidarity-signal{to{stroke-dashoffset:-300}}
@keyframes solidarity-node{0%,100%{transform:scale(.85);opacity:.65}50%{transform:scale(1.1);opacity:1}}
.trust-band{padding:20px 0 48px;margin-bottom:40px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:9%}
.trust-band .eyebrow{font-size:8px;color:#c791a1;margin-bottom:14px}
.trust-band h2{font-size:34px;letter-spacing:-.045em;line-height:1.2}
.trust-band p:last-child{font-size:13px;color:#b9aeb4;margin-top:14px}
.trust-actions nav{display:flex;flex-direction:column}
.trust-actions a{display:flex;justify-content:space-between;font-size:13px;min-height:44px;align-items:center;border-bottom:1px solid var(--line)}
.trust-actions a span{color:#e591a6}.trust-actions a:hover{color:#f2becd}
.text-action{background:transparent;border:0;border-bottom:1px solid #88616e;padding:8px 0;font-size:12px;min-height:44px;color:#f2becd;text-align:left}
.text-action:hover{color:#fff}.trust-actions>.text-action{margin-top:18px}
.site-footer{padding-bottom:100px}
.guide-launcher{position:fixed;right:24px;bottom:20px;z-index:45;display:flex;align-items:center;gap:12px;min-height:48px;padding:10px 18px;border:1px solid #b98a99;border-radius:3px;background:#171216;color:var(--ivory);box-shadow:0 6px 24px #0005;font-size:12px}
.guide-launcher:hover{background:#2d1721;border-color:#f2becd}
.guide-glyph{color:#e8809b;font-size:21px}
body:has(dialog[open]){overflow:hidden}
.dialog-close{min-width:44px;min-height:44px}
.dialog-top{position:sticky;top:-30px;z-index:3;background:#141216;padding:5px 0}
.survey-dialog,.guide-dialog{overscroll-behavior:contain}
.survey-dialog form{margin-top:26px}
.survey-dialog fieldset{border:0;padding:0;margin:0 0 28px;min-width:0}
.survey-dialog legend{font-size:13px;font-weight:600;margin-bottom:14px}
.survey-dialog legend span{font-weight:400;color:#b9aab3}
.survey-ratings{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.survey-ratings label{position:relative;cursor:pointer}
.survey-ratings input{position:absolute;width:1px;height:1px;opacity:0}
.survey-ratings label>span{display:grid;place-items:center;min-height:46px;border:1px solid #79616e;font-size:16px}
.survey-ratings input:checked+span{background:var(--ivory);color:var(--ink);border-color:var(--ivory)}
.survey-ratings input:focus-visible+span{outline:2px solid #ffa3bb;outline-offset:3px}
.rating-labels{display:flex;justify-content:space-between;color:#baa6b0;font-size:11px;margin-top:7px}
.survey-dialog .form-field label{font-size:13px}
.survey-dialog .form-field input,.survey-dialog .form-field textarea,.survey-dialog .form-field select{color:#f4eee4;border-color:#79616e;font-size:14px}
.survey-dialog .form-field select{background:#141216}
.survey-dialog .form-field ::placeholder{color:#b9a8b0}
.survey-dialog .button{min-height:48px}
.survey-bottom{display:flex;justify-content:space-between;gap:15px;align-items:center;border-top:1px solid var(--line);margin-top:25px;padding-top:9px;font-size:12px}
.survey-bottom a{text-decoration:underline;text-underline-offset:4px;padding:10px 0}
#edit-survey{margin-top:14px}
.guide-dialog{max-width:500px}
.guide-disclosure{font-size:12px;color:#c5b7bf;line-height:1.8;border-bottom:1px solid var(--line);padding-bottom:19px;margin-top:17px}
.guide-log{max-height:30svh;min-height:140px;overflow-y:auto;overscroll-behavior:contain;padding:20px 2px 8px;scroll-behavior:smooth}
.guide-message{padding:15px 16px;background:#231a22;border-left:2px solid #c76d88;font-size:13px;color:#eddee5;line-height:1.85;margin-bottom:13px;overflow-wrap:anywhere}
.guide-message>span{display:block;font:8px Plex,monospace;color:#d0a2b1;letter-spacing:.1em;margin-bottom:9px}
.guide-message a{text-decoration:underline;text-underline-offset:3px;display:inline-block;margin-right:14px;margin-top:8px}
.guide-message.guide-question{margin-left:30px;background:#30212b;border:0;color:#eac4d1}
.guide-topics{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.guide-topics button{min-height:44px;font-size:12px;padding:10px 13px;background:transparent;border:1px solid #7b5d6e;border-radius:2px;text-align:left}
.guide-topics button:hover,.guide-topics button:focus-visible{background:#30212b;border-color:#d895ac}
.guide-actions{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;margin-top:22px;border-top:1px solid var(--line);padding-top:20px}
.guide-actions .button{gap:20px}
.guide-footnote{color:#bda2ae;font-size:11px;margin-top:15px}
.policy-page .site-header{position:relative}
.policy-page .site-header>a:last-child{font-size:12px;min-height:44px;display:flex;align-items:center}
.policy-head{max-width:1110px;margin:auto;padding:80px var(--pad) 50px}
.policy-head h1{font-size:clamp(42px,5.5vw,76px);letter-spacing:-.06em;line-height:1.05;margin:20px 0 28px}
.policy-head>.eyebrow{color:#d89caf}
.policy-draft{border-left:2px solid var(--red);padding:18px 22px;background:#19131a;font-size:14px;color:#c5b6c1;line-height:1.85}
.policy-draft strong{color:#f4e9ef}
.policy-layout{display:grid;grid-template-columns:180px minmax(0,760px);gap:50px;max-width:1110px;margin:auto;padding:0 var(--pad) 90px}
.policy-toc{position:sticky;top:24px;align-self:start;display:flex;flex-direction:column;font-size:13px;gap:5px}
.policy-toc a{padding:10px 0;min-height:44px;border-bottom:1px solid var(--line)}
.policy-toc a:hover{color:#efbacb}
.policy-section{scroll-margin-top:28px;border-top:1px solid var(--line);padding-top:34px;margin-bottom:58px}
.policy-section h2{font-size:32px;line-height:1.2;letter-spacing:-.04em;margin-bottom:24px}
.policy-section h3{font-size:18px;margin-top:27px;margin-bottom:10px}
.policy-section p,.policy-section li{font-size:15px;line-height:1.9;color:#c4b9c0}
.policy-section p+p{margin-top:15px}.policy-section ul{padding-left:20px}.policy-section li+li{margin-top:9px}
.policy-section a{color:#f2bed0;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.policy-contact{background:#1b151d;border:1px solid #59414f;padding:20px;margin-top:22px}
.policy-contact strong{color:#f5e7ef}
.policy-footer{border-top:1px solid var(--line);padding:30px var(--pad);font-size:12px;color:#b5a4b0;display:flex;gap:22px;justify-content:space-between}
.policy-footer a{color:#f2bed0}
.policy-section .policy-sources{font-size:12px;color:#b5a4b0;margin-top:22px}
@media(max-width:1100px){.client-section{gap:5%;grid-template-columns:1fr 1.6fr}.client-monogram{display:none}}
@media(max-width:760px){
  .hero-art{aspect-ratio:1254/900}
  .policy-service,.trust-band{grid-template-columns:1fr;gap:24px}.policy-service{margin-top:36px;padding-top:28px}
  .policy-service h3{font-size:28px}.policy-service .eyebrow{margin-bottom:12px}
  .manifesto-heading-row{grid-template-columns:1fr;gap:34px}.manifesto h2{font-size:clamp(29px,7.7vw,55px);line-height:1.15}
  .solidarity-art{width:100%;max-width:400px;margin:auto}.solidarity-art svg{max-height:220px}.solidarity-art>span{font-size:7px;margin-top:8px}
  .manifesto .manifesto-copy{display:grid;grid-template-columns:1fr;gap:18px;margin-top:30px;padding-top:26px}.manifesto .manifesto-copy p{font-size:15px;line-height:1.8;max-width:48ch}
  .manifesto-top .eyebrow{font-size:9px}.manifesto-bottom{flex-wrap:wrap;gap:12px}.manifesto-bottom>span{max-width:none}
  .client-section{grid-template-columns:1fr;gap:28px;padding-top:48px;padding-bottom:48px}.client-intro>p:last-child br{display:none}.client-feature{padding:25px}.client-monogram{display:block;font-size:52px}.client-feature h3{font-size:28px}
  .trust-band{padding-top:10px;margin-bottom:30px;padding-bottom:35px}.trust-band h2{font-size:30px}
  .guide-launcher{right:16px;bottom:14px;padding:9px 14px;font-size:11px}.guide-log{max-height:29svh}
  .dialog-actions{flex-wrap:wrap}.dialog-top{top:-22px}.survey-dialog .form-field textarea,.survey-dialog .form-field select{font-size:16px}
  .policy-head{padding-top:50px;padding-bottom:30px}.policy-draft{padding:15px 18px;font-size:13px}
  .policy-layout{display:block;padding-bottom:35px}.policy-toc{position:static;display:flex;flex-flow:row wrap;gap:8px 18px;margin-bottom:32px;font-size:12px}
  .policy-section h2{font-size:28px}.policy-section p,.policy-section li{font-size:14px}.policy-section{margin-bottom:38px}
  .policy-footer{flex-direction:column;gap:12px}.footer-bottom .preview-label{grid-column:1;text-align:left}
}
@media(prefers-reduced-motion:reduce){.solidarity-art *{animation:none!important}.guide-log{scroll-behavior:auto}}
[data-motion=paused] .guide-log{scroll-behavior:auto}
