/* A quiet privacy chapter: a stationary glass sculpture and native disclosures. */
.privacy-section {
  position:relative; isolation:isolate; background:#fff;
  padding:clamp(80px, 10vw, 144px) var(--gut) 36px;
  scroll-margin-top:90px;
}
.privacy-inner { max-width:1180px; margin:auto; }
.privacy-intro { display:grid; grid-template-columns:1.05fr 1fr; align-items:center; gap:30px; }
.privacy-copy { position:relative; z-index:1; padding-bottom:12px; }
.privacy-copy h2 {
  margin:0; font-family:Kalice, Georgia, serif; font-size:clamp(48px, 5.7vw, 78px);
  font-weight:400; line-height:1.04; letter-spacing:-.047em; color:#20272a;
}
.privacy-copy h2 span { color:#7c8a90; }
.privacy-lead { max-width:380px; margin:27px 0 22px; font-size:19px; line-height:1.5; color:#687478; letter-spacing:-.015em; }
.privacy-policy { display:inline-flex; align-items:center; gap:12px; font-size:14px; color:#465b66; padding:8px 0; }
.privacy-policy svg { width:19px; height:19px; stroke:currentColor; stroke-width:1.5; }
.privacy-policy:hover { color:#182e39; text-decoration:underline; text-underline-offset:5px; }
.privacy-policy:focus-visible, .privacy-detail a:focus-visible { outline:2px solid #738e9b; outline-offset:5px; border-radius:3px; }
.privacy-visual { position:relative; width:100%; aspect-ratio:500 / 440; container-type:inline-size; pointer-events:none; user-select:none; }
.privacy-art { position:absolute; width:500px; height:440px; left:50%; top:50%; transform:translate(-50%,-50%) scale(calc(100cqw / 500px)); }
.privacy-glow {
  position:absolute; inset:20px -5px 0;
  background:radial-gradient(ellipse at 38% 57%, #d8e9db70, #e5eee43b 25%, #fff0 60%),
    radial-gradient(ellipse at 68% 52%, #dadcf480, #e9e6f73b 35%, #fff0 66%),
    radial-gradient(ellipse at 46% 85%, #f2e2ce70, #fff0 54%);
  filter:blur(17px);
}
.privacy-orbit { position:absolute; border:1px solid #a3b4ba20; border-radius:50%; }
.privacy-orbit-one { left:20px; top:101px; width:462px; height:254px; transform:rotate(-24deg); }
.privacy-orbit-two { left:70px; top:48px; width:348px; height:345px; transform:rotate(24deg); border-color:#b0bdc013; }
.privacy-note {
  position:absolute; display:grid; grid-template-columns:41px 1fr; align-content:start; gap:12px 8px;
  width:179px; height:106px; padding:17px; border:1px solid #fff; border-radius:21px;
  background:linear-gradient(145deg,#ffffffec,#ffffff75);
  box-shadow:0 10px 30px -15px #5b737526,inset 0 -1px 2px #cad4d51f;
  color:#7c888c; filter:blur(.7px); opacity:.82;
}
.privacy-note img { width:36px; height:36px; align-self:center; object-fit:contain; }
.privacy-note span { font-size:13px; padding-top:3px; }
.privacy-note small { display:block; color:#9fa9ac; font-size:9px; margin-top:3px; white-space:nowrap; }
.privacy-note i { height:4px; border-radius:5px; background:#a1b5be20; grid-column:span 2; }
.privacy-note i:last-child { width:60%; margin-top:-5px; }
.privacy-note-plans { left:23px; top:96px; transform:rotate(-13deg); }
.privacy-note-ideas { left:320px; top:128px; transform:rotate(12deg); width:166px; }
.privacy-note-life { left:49px; top:273px; transform:rotate(-8deg); }
.privacy-lock-shadow { position:absolute; left:154px; top:357px; width:219px; height:35px; border-radius:50%; background:#62758424; filter:blur(18px); transform:rotate(-8deg); }
.privacy-lock { position:absolute; left:166px; top:56px; width:216px; height:319px; transform:rotate(-8deg); }
.privacy-shackle { position:absolute; left:22px; top:0; width:170px; height:210px; filter:drop-shadow(0 9px 9px #647a8422); }
.privacy-lock-body {
  position:absolute; left:0; right:0; top:159px; height:169px; border-radius:44px;
  background:linear-gradient(128deg,#ffffffab,#f7fbff52 42%,#cadce73b);
  border:1px solid #fff; backdrop-filter:blur(8px) saturate(1.1);
  box-shadow:inset 1px 1px 1px #fff, inset -1px -2px 2px #778c9852,
    inset 5px 5px 10px #fff9, inset -6px -6px 9px #b8c7d132,
    0 22px 34px -18px #46647555,0 4px 8px -5px #465e7255;
}
.privacy-lock-body > .lg-material > .lg-frost { background-color:#f8fcff73; }
.privacy-lock-body::before {
  content:''; position:absolute; inset:4px; border-radius:40px; pointer-events:none;
  background:linear-gradient(126deg,#fff9, #fff0 30% 63%,#abc7d647 75%,#fff4);
  box-shadow:inset 0 0 0 1px #ffffffbd;
}
.privacy-lock-inset { position:absolute; inset:12px; border-radius:32px; border:1px solid #ffffff8c; box-shadow:0 1px 2px #65829615; }
.privacy-keyhole { position:absolute; width:30px; height:48px; left:calc(50% - 15px); top:47px; filter:drop-shadow(0 1px 1px #526f752b); }
.privacy-lock-caption { position:absolute; bottom:29px; left:0; right:0; text-align:center; color:#778b946e; font-size:8px; letter-spacing:.09em; }
.privacy-principles { display:grid; grid-template-columns:repeat(3,1fr); align-items:start; gap:16px; margin-top:52px; }
.privacy-principle {
  border-radius:27px; background:linear-gradient(140deg,#f8f9fa,#f5f7f7);
  border:1px solid #eef1f2; color:#273238;
}
.privacy-principle summary { position:relative; list-style:none; padding:29px 28px 47px; cursor:pointer; border-radius:inherit; }
.privacy-principle summary::-webkit-details-marker { display:none; }
.privacy-principle summary:focus-visible { outline:2px solid #7e99a8; outline-offset:4px; }
.privacy-principle-icon { display:block; width:27px; height:27px; stroke:#8ba0ab; stroke-width:1.5; stroke-linejoin:round; margin-bottom:24px; }
.privacy-principle h3 { margin:0 0 5px; font-size:21px; font-weight:400; line-height:1.2; letter-spacing:-.035em; }
.privacy-principle summary p { margin:0; color:#637179; font-size:16px; line-height:1.35; letter-spacing:-.02em; }
.privacy-more { position:absolute; bottom:16px; right:18px; width:24px; height:24px; border:1px solid #b3c3cd45; border-radius:50%; background:#fff8; color:#7c909b; }
.privacy-more::before, .privacy-more::after { content:''; position:absolute; top:11px; left:7px; width:8px; height:1px; background:currentColor; }
.privacy-more::after { transform:rotate(90deg); transition:transform 160ms ease; }
.privacy-principle[open] .privacy-more::after { transform:rotate(0); }
.privacy-principle[open] { background:linear-gradient(140deg,#f7fafb,#f3f7f8); border-color:#dbe5e9; }
.privacy-principle summary:hover .privacy-more { background:#fff; color:#375e73; }
.privacy-detail { padding:0 28px 28px; }
.privacy-detail p { margin:0; border-top:1px solid #dce5e966; padding-top:18px; color:#637179; font-size:14px; line-height:1.6; }
.privacy-detail a { text-decoration:underline; text-underline-offset:3px; color:#496678; }
@media(max-width:860px) {
  .privacy-intro { gap:0; }
  .privacy-copy h2 { font-size:clamp(42px,6.4vw,58px); }
  .privacy-lead { font-size:17px; max-width:320px; }
  .privacy-principle summary { padding:24px 20px 46px; }
  .privacy-principle h3 { font-size:19px; }
  .privacy-principle summary p { font-size:14px; }
  .privacy-detail { padding-inline:20px; }
}
@media(max-width:640px) {
  .privacy-section { padding-top:80px; }
  .privacy-intro { grid-template-columns:1fr; }
  .privacy-copy { text-align:center; padding:0; }
  .privacy-copy h2 { font-size:clamp(42px,10.7vw,62px); }
  .privacy-lead { margin:22px auto 16px; max-width:330px; font-size:17px; }
  .privacy-policy { font-size:13px; }
  .privacy-visual { width:min(100%,440px); margin:15px auto 0; }
  .privacy-principles { grid-template-columns:1fr; gap:12px; margin-top:5px; }
  .privacy-principle summary { padding:24px 48px 24px 66px; }
  .privacy-principle-icon { position:absolute; top:27px; left:23px; width:24px; height:24px; margin:0; }
  .privacy-principle h3 { font-size:20px; }
  .privacy-principle summary p { font-size:14px; }
  .privacy-more { top:calc(50% - 12px); bottom:auto; right:16px; }
  .privacy-detail { padding:0 24px 24px; }
}
@media(prefers-reduced-motion:reduce) { .privacy-more::after { transition:none; } }
@media(forced-colors:active) {
  .privacy-visual { display:none; }
  .privacy-principle { border:1px solid CanvasText; }
  .privacy-more { border-color:CanvasText; }
}
