/* ==========================================================================
   Subpage styles — About, Contact, Terms, Privacy, Imprint.
   Shares every token and shell rule with site.css; this file only adds the
   patterns those pages introduce.
   ========================================================================== */

/* Current page marker in nav + footer */
.nav__links a.is-current,
.nav__mobile a.is-current,
.foot__links a.is-current{color:var(--accent)}

/* Footer brand logo (replaces the text lockup) */
.foot__logo{display:block;height:40px;width:auto;margin-bottom:14px}

/* ==========================================================================
   Page header (all subpages)
   ========================================================================== */
.page-head{padding:72px 0 44px;border-bottom:1px solid var(--hair-15)}
.page-head h1{font-family:var(--serif);font-weight:500;font-size:clamp(40px,5vw,68px);line-height:1.03;
  letter-spacing:-.015em;max-width:22ch;margin:0 0 18px;text-wrap:balance}
.page-head h1 em{font-style:italic;color:var(--accent)}
.page-head__lede{font-size:17.5px;line-height:1.6;color:var(--muted);max-width:62ch;text-wrap:pretty}
.page-meta{display:grid;grid-template-columns:repeat(3,minmax(0,220px));gap:28px;margin-top:26px;
  padding-top:26px;border-top:1px solid var(--hair)}
.page-meta__label{font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.page-meta__value{margin-top:6px;font-family:var(--serif);font-size:22px;font-weight:600}
@media (max-width:760px){.page-meta{grid-template-columns:1fr;gap:14px}}

/* Placeholder-copy notice (delete the block once real copy lands) */
.notice{background:rgba(226,121,91,.09);border:1px solid rgba(226,121,91,.3);border-radius:16px;
  padding:20px 24px;margin-bottom:44px}
.notice b{display:block;font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--rust);margin-bottom:8px}
.notice p{font-size:14.5px;line-height:1.6;color:var(--sec)}

.eyebrow{display:block;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:var(--muted);margin-bottom:16px}

/* ==========================================================================
   About
   ========================================================================== */
.mission{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.mission h2{font-family:var(--serif);font-weight:500;font-size:clamp(28px,3.2vw,42px);line-height:1.12;
  letter-spacing:-.01em;margin-bottom:18px;text-wrap:balance}
.mission p{font-size:16.5px;line-height:1.7;color:var(--sec);margin-bottom:14px}
.photo-slot{width:100%;height:340px;border-radius:20px;background:rgba(237,233,225,.04);
  border:1.5px dashed rgba(237,233,225,.2);display:flex;align-items:center;justify-content:center;
  color:var(--muted);font-size:13px;text-align:center;padding:0 24px}
.photo-slot--portrait{height:230px;border-radius:14px;margin-bottom:14px}
.photo-caption{margin-top:10px;font-size:12px;color:var(--muted)}

.tl-band{background:rgba(7,12,15,.55);border-top:1px solid var(--hair)}
.timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:32px}
.tl__rail{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.tl__dot{width:9px;height:9px;background:var(--accent);transform:rotate(45deg);flex:none}
.tl__dot--rust{background:var(--rust)}
.tl__rail::after{content:"";flex:1;height:1px;background:var(--hair)}
.tl__year{font-family:var(--serif);font-size:30px;font-weight:600;margin-bottom:8px}
.tl__body{font-size:14.5px;line-height:1.6;color:var(--muted)}

.team{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.team__card{background:rgba(237,233,225,.03);border:1px solid var(--hair);border-radius:20px;padding:18px;
  transition:transform .25s ease,border-color .25s ease}
.team__card:hover{transform:translateY(-3px);border-color:rgba(53,180,190,.4)}
.team__name{font-size:17px;font-weight:700;margin-bottom:4px}
.team__role{font-size:12.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;
  color:var(--accent);margin-bottom:8px}
.team__bio{font-size:14.5px;line-height:1.55;color:var(--muted)}

.values{display:grid;grid-template-columns:repeat(4,1fr);gap:36px}
.values__no{font-family:var(--serif);font-size:34px;font-weight:500;color:rgba(53,180,190,.42)}
.values h3{font-family:var(--serif);font-size:22px;font-weight:600;margin:10px 0 8px}
.values p{font-size:14.5px;line-height:1.65;color:var(--muted)}

@media (max-width:960px){
  .mission{grid-template-columns:1fr;gap:32px}
  .team{grid-template-columns:repeat(2,minmax(0,1fr))}
  .values{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){.timeline{grid-template-columns:1fr;gap:26px}.tl__rail::after{display:none}}
@media (max-width:760px){.team{grid-template-columns:1fr}.values{grid-template-columns:1fr}}

/* ==========================================================================
   Contact
   ========================================================================== */
.contact-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);gap:60px;scroll-margin-top:80px}
.contact-grid h2{font-family:var(--serif);font-weight:500;font-size:clamp(26px,2.8vw,34px);margin-bottom:22px}
.form{display:flex;flex-direction:column;gap:20px}
.form[hidden]{display:none} /* author display:flex would otherwise beat the UA [hidden] rule */
.form__row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.field label{display:block;font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--muted);margin-bottom:8px}
.field input,.field textarea{width:100%;box-sizing:border-box;background:rgba(237,233,225,.05);
  border:1px solid rgba(237,233,225,.16);border-radius:12px;padding:13px 15px;font-size:15px;
  font-family:var(--sans);color:var(--ink);transition:border-color .2s ease,background .2s ease}
.field input::placeholder,.field textarea::placeholder{color:#5F7280}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--accent);background:rgba(53,180,190,.07)}
.field textarea{resize:vertical}
.form__actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.form__submit{background:var(--accent-solid);color:var(--paper);border:none;border-radius:999px;
  padding:15px 34px;font-size:15px;font-weight:700;font-family:var(--sans);cursor:pointer;
  transition:background .25s ease,transform .25s ease}
.form__submit:hover{background:#0B646C;transform:translateY(-2px)}
.form__note{font-size:13px;color:var(--muted)}
/* Honeypot — visually removed, still in the POST for bots to fill */
.form__hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.form-error{background:rgba(226,121,91,.09);border:1px solid rgba(226,121,91,.3);border-radius:12px;
  padding:12px 16px;font-size:14px;line-height:1.5;color:var(--rust)}

.form-success{background:rgba(53,180,190,.09);border:1px solid rgba(53,180,190,.35);border-radius:20px;
  padding:34px 30px}
.form-success__check{width:42px;height:42px;border-radius:50%;background:var(--accent-solid);position:relative;margin-bottom:18px}
.form-success__check::after{content:"";position:absolute;left:14px;top:13px;width:13px;height:7px;
  border-left:2.5px solid #fff;border-bottom:2.5px solid #fff;transform:rotate(-45deg)}
.form-success h3{font-family:var(--serif);font-size:26px;font-weight:500;margin-bottom:10px}
.form-success p{font-size:15px;line-height:1.6;color:var(--sec);margin-bottom:20px}
.form-success button{background:none;border:1px solid rgba(237,233,225,.25);color:var(--ink);border-radius:999px;
  padding:11px 22px;font-size:14px;font-weight:600;font-family:var(--sans);cursor:pointer;
  transition:border-color .25s ease,color .25s ease}
.form-success button:hover{border-color:var(--accent);color:var(--accent)}

.map{position:relative;height:330px;border-radius:20px;border:1px solid var(--hair);overflow:hidden;background:#0A1014}
.map .leaflet-container{background:#0A1014;font-family:var(--sans)}
.map .leaflet-bar a{background:#101A1F;color:var(--ink);border-color:rgba(237,233,225,.15)}
.map .leaflet-bar a:hover{background:#16232A;color:var(--ink)}
.map .leaflet-popup-content-wrapper,.map .leaflet-popup-tip{background:#101A1F;color:var(--ink)}
.map .leaflet-popup-content{font-size:13px}
.map .leaflet-control-attribution{background:rgba(7,12,15,.72);color:#7F8F99;font-size:10px}
.map .leaflet-control-attribution a{color:#7F8F99}
.map__fit{position:absolute;right:12px;bottom:12px;z-index:800;background:rgba(16,26,31,.92);
  border:1px solid var(--hair);color:var(--ink);border-radius:999px;padding:8px 15px;font-size:12px;
  font-weight:600;font-family:var(--sans);cursor:pointer;transition:border-color .25s ease,color .25s ease}
.map__fit:hover{border-color:var(--accent);color:var(--accent)}
.map__hint{margin-top:10px;font-size:12px;color:var(--muted)}

@keyframes tg-ping{0%{transform:scale(.6);opacity:.85}100%{transform:scale(2.1);opacity:0}}
.map-pin{position:relative;display:block;width:22px;height:22px}
.map-pin::before{content:"";position:absolute;inset:0;border-radius:50%;background:rgba(53,180,190,.55);
  animation:tg-ping 2.6s ease-out infinite}
.map-pin i{position:absolute;left:5px;top:5px;width:12px;height:12px;border-radius:50%;background:var(--accent);
  border:2px solid #0D1418;box-sizing:border-box}

.offices{display:flex;flex-direction:column;gap:14px;margin-top:22px}
.office{border:1px solid rgba(237,233,225,.13);background:rgba(237,233,225,.03);border-radius:18px;
  padding:20px 22px;cursor:pointer;transition:border-color .25s ease,background .25s ease}
.office.is-sel{border-color:rgba(53,180,190,.45);background:rgba(53,180,190,.08)}
.office__head{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.office__dot{width:8px;height:8px;border-radius:50%;background:#5F7280;flex:none;transition:background .25s ease}
.office.is-sel .office__dot{background:var(--accent)}
.office__city{font-size:16.5px;font-weight:700;flex:1}
.office__chip{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;border-radius:999px;
  padding:4px 10px;border:1px solid rgba(237,233,225,.2);color:var(--muted)}
.office__chip--hq{background:var(--accent);border-color:var(--accent);color:#0D1418}
.office__body{font-size:14px;line-height:1.55;color:var(--sec)}
.office__body a{color:var(--muted);display:inline-block;margin-top:6px;margin-right:14px}
.office__body a:hover{color:var(--accent)}

.direct{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:26px;padding-top:22px;
  border-top:1px solid var(--hair)}
.direct b{display:block;font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--muted);margin-bottom:6px}
.direct a{font-size:15px;color:var(--ink)}
.direct a:hover{color:var(--accent)}

@media (max-width:1040px){.contact-grid{grid-template-columns:1fr}}
@media (max-width:760px){.form__row{grid-template-columns:1fr}.direct{grid-template-columns:1fr}}

/* ==========================================================================
   Legal pages (Terms, Privacy, Imprint)
   ========================================================================== */
.legal-grid{display:grid;grid-template-columns:210px minmax(0,1fr);gap:64px;align-items:start}
.toc{position:sticky;top:96px;max-height:calc(100vh - 120px);overflow:auto}
.toc__head{font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--muted);margin-bottom:12px}
.toc__group{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(237,233,225,.45);margin:16px 0 4px}
.toc a{display:block;font-size:13.5px;line-height:1.35;color:var(--muted);padding:7px 0 7px 14px;
  border-left:2px solid rgba(237,233,225,.12);transition:color .2s ease,border-color .2s ease}
.toc a:hover{color:var(--ink)}
.toc a.is-active{color:var(--ink);border-left-color:var(--accent);font-weight:600}
.legal-body{max-width:74ch}
/* Part dividers (T&C runs as Part I / Part II) */
.part{padding:44px 0 8px;border-top:1px solid var(--hair-15);scroll-margin-top:96px}
.part:first-child{border-top:none;padding-top:0}
.part__label{font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--accent);margin-bottom:8px}
.part h2{font-family:var(--serif);font-weight:500;font-size:clamp(24px,2.6vw,32px);line-height:1.2}
.part + .clause{border-top:none}
.clause{padding:38px 0;border-top:1px solid var(--hair);scroll-margin-top:96px}
.clause:first-of-type{border-top:none;padding-top:0}
/* Sub-clause numbers (1.1, 1.2 …) kept for cross-references */
.clause__ref{font-family:var(--sans);font-size:14px;font-weight:600;color:var(--accent);margin-right:7px}
.legal-foot{margin-top:30px;padding-top:20px;border-top:1px solid var(--hair);
  font-size:13px;line-height:1.7;color:var(--muted)}
.clause__head{display:flex;gap:18px;align-items:baseline;margin-bottom:16px}
.clause__no{font-family:var(--serif);font-size:34px;font-weight:500;color:rgba(53,180,190,.42);flex:none}
.clause h2{font-family:var(--serif);font-weight:500;font-size:clamp(24px,2.4vw,31px);line-height:1.2}
.clause p{font-size:16px;line-height:1.7;color:var(--sec);margin-bottom:14px}
.clause p:last-child{margin-bottom:0}
.clause ul{list-style:none;padding:0;margin:0 0 14px}
.clause ul li{position:relative;padding:6px 0 6px 26px;font-size:16px;line-height:1.6;color:var(--sec)}
.clause ul li::before{content:"";position:absolute;left:4px;top:14px;width:8px;height:8px;
  background:var(--accent-solid);transform:rotate(45deg)}
.deflist{margin-bottom:14px}
.deflist__row{display:grid;grid-template-columns:150px minmax(0,1fr);gap:18px;padding:13px 0;
  border-bottom:1px solid var(--hair)}
.deflist__row:last-child{border-bottom:none}
.deflist__term{font-weight:700;font-size:15px}
.deflist__def{font-size:15.5px;line-height:1.6;color:var(--sec)}
.legal-cta{margin-top:44px;background:rgba(53,180,190,.09);border:1px solid rgba(53,180,190,.28);
  border-radius:16px;padding:26px 28px;display:flex;justify-content:space-between;align-items:center;
  gap:20px;flex-wrap:wrap}
.legal-cta h3{font-family:var(--serif);font-size:22px;font-weight:600;margin-bottom:6px}
.legal-cta p{font-size:14.5px;line-height:1.6;color:var(--muted)}
.legal-cta a{flex:none;background:var(--accent-solid);color:var(--paper);border-radius:999px;
  padding:12px 24px;font-size:14px;font-weight:600}
.legal-cta a:hover{background:#0B646C;color:var(--paper)}
@media (max-width:900px){.legal-grid{grid-template-columns:1fr;gap:0}.toc{display:none}}
@media (max-width:560px){.deflist__row{grid-template-columns:1fr;gap:4px}}
