:root { --ink:#142321; --paper:#f4f6f3; --white:#fbfcfa; --teal:#155f5a; --mint:#c9ded5; --line:#cfd8d2; --orange:#c65d37; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:"Trebuchet MS",sans-serif; font-size:16px; line-height:1.75; }
a { color:inherit; }
.skip-link { position:fixed; z-index:20; left:1rem; top:1rem; transform:translateY(-150%); background:var(--ink); color:white; padding:.6rem 1rem; }
.skip-link:focus { transform:none; }
.masthead { max-width:1440px; margin:auto; padding:1.5rem clamp(1.25rem,5vw,5rem); display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.wordmark { display:flex; align-items:center; gap:.8rem; font-weight:700; line-height:1.05; text-decoration:none; letter-spacing:-.02em; }
.wordmark small { font-weight:500; font-size:.7rem; color:#5d6a67; letter-spacing:.02em; }
.wordmark-mark { display:grid; place-items:center; width:2.7rem; height:2.7rem; background:var(--teal); color:white; font-family:"Courier New",monospace; font-size:.8rem; border-radius:50% 50% 50% 8%; }
.status { font-family:"Courier New",monospace; text-transform:uppercase; font-size:.68rem; letter-spacing:.08em; }
.status i { display:inline-block; width:.5rem; height:.5rem; border-radius:50%; background:var(--orange); margin-right:.45rem; }
main { overflow:hidden; }
.hero { max-width:1440px; margin:auto; padding:clamp(4rem,9vw,9rem) clamp(1.25rem,8vw,8rem) clamp(4rem,8vw,7rem); display:grid; grid-template-columns:minmax(0,1fr) 15rem; gap:4rem; align-items:end; position:relative; }
.hero:after { content:""; position:absolute; width:22rem; height:22rem; right:-11rem; top:1rem; border:1px solid var(--mint); border-radius:50%; box-shadow:0 0 0 3rem var(--paper),0 0 0 calc(3rem + 1px) var(--mint),0 0 0 6rem var(--paper),0 0 0 calc(6rem + 1px) var(--mint); z-index:-1; }
.eyebrow { margin:0 0 1.6rem; font:700 .7rem/1.2 "Courier New",monospace; text-transform:uppercase; letter-spacing:.11em; color:var(--teal); }
.eyebrow span { margin-left:2rem; color:#74807d; }
h1 { max-width:820px; margin:0; font-size:clamp(3.1rem,7.3vw,7.8rem); line-height:.91; letter-spacing:-.072em; font-weight:600; }
h1 em { font-family:Georgia,serif; font-weight:500; color:var(--teal); }
.lede { max-width:690px; margin:2.4rem 0 0; font-size:clamp(1.05rem,1.5vw,1.3rem); color:#50605c; }
.effective-date { border-top:4px solid var(--orange); padding-top:1rem; display:grid; font-family:"Courier New",monospace; }
.effective-date span { text-transform:uppercase; font-size:.65rem; letter-spacing:.1em; margin-bottom:1rem; }
.effective-date strong { font:700 1.15rem/1.3 "Trebuchet MS",sans-serif; }
.effective-date b { font-size:3rem; line-height:1; color:var(--teal); }
.policy-layout { max-width:1250px; margin:0 auto; padding:0 clamp(1.25rem,5vw,5rem) 7rem; display:grid; grid-template-columns:15rem minmax(0,760px); gap:clamp(3rem,9vw,9rem); align-items:start; }
.contents { position:sticky; top:2rem; border-top:1px solid var(--ink); padding-top:1rem; }
.contents p { font:700 .68rem "Courier New",monospace; text-transform:uppercase; letter-spacing:.1em; }
.contents ol { list-style:none; padding:0; margin:1.4rem 0; counter-reset:item; }
.contents li { counter-increment:item; }
.contents a { display:block; padding:.35rem 0; color:#65716f; text-decoration:none; font-size:.82rem; }
.contents a:before { content:"0" counter(item); font-family:"Courier New",monospace; font-size:.62rem; margin-right:.8rem; color:#98a29f; }
.contents a:hover,.contents a:focus-visible { color:var(--teal); }
.policy-copy section { position:relative; padding:4.5rem 0; border-top:1px solid var(--line); scroll-margin-top:2rem; }
.policy-copy section:first-child { border-color:var(--ink); }
.section-number { position:absolute; left:-4rem; top:4.85rem; margin:0; font:700 .65rem "Courier New",monospace; color:var(--orange); }
h2 { margin:0 0 1.5rem; font-size:clamp(1.8rem,3vw,2.7rem); line-height:1.1; letter-spacing:-.04em; }
.policy-copy section>p:not(.section-number) { max-width:68ch; color:#465551; }
.principles { margin-top:2.5rem; border-top:1px solid var(--line); }
.principles>div { display:grid; grid-template-columns:3rem 1fr; gap:1rem; padding:1.4rem 0; border-bottom:1px solid var(--line); }
.principles span { font:700 .65rem "Courier New",monospace; color:var(--orange); }
.principles p { margin:0; color:#465551; }
.principles strong { display:block; color:var(--ink); margin-bottom:.25rem; }
.policy-copy .disclaimer { background:var(--ink); color:var(--white); padding:4rem; margin:1rem -4rem; border:0; }
.disclaimer .section-number { left:1.25rem; color:#e58a68; }
.policy-copy .disclaimer>p:not(.section-number) { color:#c9d3d0; }
.contact { max-width:1180px; margin:0 auto 6rem; padding:0 clamp(1.25rem,3vw,3rem); }
.banner-frame { background:#030706; padding:clamp(.5rem,2vw,1.3rem); box-shadow:18px 18px 0 var(--mint); }
.banner-frame img { display:block; width:100%; height:auto; }
.contact-action { padding:3.5rem 0; display:flex; align-items:end; justify-content:space-between; gap:2rem; }
.contact-action h2 { margin-bottom:.6rem; }
.contact-action p:last-child { margin:0; color:#5e6b68; }
.contact-button { flex:none; border:0; background:var(--teal); color:white; padding:1rem 1.3rem; font:700 .9rem "Trebuchet MS",sans-serif; cursor:pointer; display:flex; align-items:center; gap:2rem; box-shadow:6px 6px 0 var(--mint); transition:transform .2s,box-shadow .2s; }
.contact-button:hover { transform:translate(3px,3px); box-shadow:3px 3px 0 var(--mint); }
.contact-button:focus-visible,.dialog-close:focus-visible,a:focus-visible { outline:3px solid var(--orange); outline-offset:3px; }
.contact-button svg,.primary-contact svg { width:1.25rem; fill:none; stroke:currentColor; stroke-width:1.7; }
footer { display:flex; justify-content:space-between; gap:2rem; padding:1.4rem clamp(1.25rem,5vw,5rem); background:var(--ink); color:#aebbb7; font:400 .65rem "Courier New",monospace; text-transform:uppercase; letter-spacing:.08em; }
.contact-dialog { width:min(92vw,570px); padding:clamp(2rem,5vw,4rem); border:0; background:var(--white); color:var(--ink); box-shadow:0 30px 90px #06141266; }
.contact-dialog::backdrop { background:#091b18cc; backdrop-filter:blur(5px); }
.contact-dialog[open] { animation:dialog-in .25s ease-out; }
@keyframes dialog-in { from { opacity:0; transform:translateY(15px) scale(.98); } }
.dialog-close { position:absolute; right:1.2rem; top:1rem; background:none; border:0; color:var(--ink); font-size:2rem; cursor:pointer; }
.contact-name { font-weight:700; }
.primary-contact { display:flex; align-items:center; justify-content:space-between; padding:1.2rem; background:var(--teal); color:white; text-decoration:none; margin-top:2rem; }
.primary-contact small,.contact-links span { display:block; font:400 .6rem "Courier New",monospace; text-transform:uppercase; letter-spacing:.09em; opacity:.75; margin-bottom:.2rem; }
.text-note { margin:.8rem 0 2rem; color:var(--teal); font-weight:600; font-size:.9rem; }
.contact-links { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.contact-links a { overflow-wrap:anywhere; text-decoration:none; padding-top:1rem; border-top:1px solid var(--line); font-size:.85rem; }
@media (max-width:780px) {
  .status { display:none; }
  .hero { grid-template-columns:1fr; gap:3rem; }
  .hero:after { opacity:.6; }
  .effective-date { max-width:15rem; }
  .policy-layout { display:block; }
  .contents { position:static; margin-bottom:3rem; }
  .contents ol { columns:2; }
  .section-number { position:static; margin-bottom:.7rem; }
  .policy-copy .disclaimer { margin:1rem -1.25rem; padding:3rem 1.25rem; }
  .disclaimer .section-number { position:static; }
  .contact-action { align-items:stretch; flex-direction:column; }
  .contact-button { justify-content:space-between; }
}
@media (max-width:480px) { .contact-links { grid-template-columns:1fr; } footer { flex-direction:column; gap:.2rem; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*:before,*:after { animation-duration:.01ms!important; transition-duration:.01ms!important; } }
