/* FAQ + Contact (owner: lead) */
/* ---------- FAQ ---------- */
.faq-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:clamp(32px,5vw,80px);align-items:start}
.faq-toc{position:sticky;top:calc(var(--hdr-h) + 28px);display:flex;flex-direction:column;gap:2px}
.faq-toc a:not(.btn){text-decoration:none;font:560 16px/1.2 var(--display);font-stretch:108%;min-height:48px;display:flex;align-items:center;border-bottom:1px solid var(--line);color:var(--ink)}
.faq-toc a:not(.btn):hover,.faq-toc a:not(.btn):focus-visible{color:var(--aqua-ink);box-shadow:inset 2px 0 0 var(--aqua-ink);padding-left:12px;font-weight:600}
.faq-toc a:not(.btn){transition:padding .2s,box-shadow .2s}
.faq-toc .btn{margin-top:20px;align-self:flex-start}
.faq-group{scroll-margin-top:calc(var(--hdr-h) + 24px)}
.faq-group+.faq-group{margin-top:clamp(56px,6vw,96px)}
.faq-group h2{font-size:clamp(28px,1.2rem + 1.4vw,40px);margin-bottom:18px}
.faq details:first-of-type{border-top-color:var(--line-strong)}
.faq details{border-top:1px solid var(--line)}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;min-height:60px;padding:16px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;font:560 clamp(17px,1rem + .25vw,20px)/1.35 var(--display);font-stretch:106%;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:14px;height:14px;background:linear-gradient(var(--sky-deep),var(--sky-deep)) center/14px 2px no-repeat,linear-gradient(var(--sky-deep),var(--sky-deep)) center/2px 14px no-repeat;transition:transform .25s var(--ease)}
.faq details[open] summary::after{background:linear-gradient(var(--aqua-ink),var(--aqua-ink)) center/14px 2px no-repeat,linear-gradient(var(--aqua-ink),var(--aqua-ink)) center/2px 14px no-repeat}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq summary:hover{color:var(--sky-deep)}
.ans{padding:0 0 24px;max-width:62ch;color:var(--ink-2)}
.ans p:last-child{margin-bottom:0}
.ans .mono{color:var(--sky-deep)}
.ans-fig{margin:18px 0 0;max-width:460px}.ans-fig img{border-radius:var(--r)}
@media (prefers-reduced-motion:no-preference){.faq details[open] .ans{animation:ans-in .35s var(--ease)}@keyframes ans-in{from{opacity:0;translate:0 -6px}}}

/* ---------- Contact ---------- */
.contact-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(32px,5vw,80px);align-items:start}
.c-h{font-size:clamp(24px,1rem + 1vw,32px);margin-bottom:18px}
.c-line{font:560 clamp(19px,1rem + .6vw,24px)/1.4 var(--display);font-stretch:108%;margin:0 0 6px}
.c-line a{text-decoration:none;border-bottom:1.5px solid var(--aqua-ink);color:var(--ink)}
.c-line a:hover{color:var(--sky-deep)}
.c-ww{font-size:14px;color:var(--ink-3)}
.c-side address{font-style:normal;margin:20px 0 16px;line-height:1.6}
.c-fig{margin:28px 0 16px}.c-fig img{border-radius:var(--r)}
.composer{background:var(--glass-bg);-webkit-backdrop-filter:blur(18px) saturate(1.2);backdrop-filter:blur(18px) saturate(1.2);border:1px solid var(--glass-edge);border-radius:var(--r);box-shadow:var(--shadow);padding:clamp(20px,3vw,40px);display:flex;flex-direction:column;gap:18px}
.composer .row{display:grid;grid-template-columns:1fr 1fr;gap:18px;border:0;margin:0;padding:0;min-width:0}
.composer label{display:block;font:560 14px/1.4 var(--display);color:var(--ink)}
.composer label>input,.composer label>select,.composer label>textarea{display:block;margin-top:6px}
.composer input:not([type=radio]),.composer select,.composer textarea{font:400 16px var(--body);padding:12px 14px;border:1px solid rgba(13,26,43,.28);border-radius:10px;background:color-mix(in oklab,#fff 62%,transparent);color:var(--ink);min-height:48px;width:100%;transition:border-color .2s}
.composer input:focus,.composer select:focus,.composer textarea:focus{border-color:var(--aqua-ink);outline:none;box-shadow:0 0 0 3px rgba(11,94,103,.2)}
.composer ::placeholder{color:var(--ink-3)}
.composer textarea{resize:vertical}
.composer [aria-invalid]{border-color:#B3261E!important;box-shadow:0 0 0 1px #B3261E}
.req{color:var(--sky-deep)}
.yn{border:0;margin:0;padding:0;min-width:0}
.yn legend{font:560 14px var(--display);padding:0;margin-bottom:6px;color:var(--ink)}
.yn label{display:inline-flex;flex-direction:row;align-items:center;gap:8px;min-height:44px;margin-right:16px;font-weight:400;font-size:16px;cursor:pointer}
.yn input{width:20px;height:20px;accent-color:var(--sky-deep);margin:0}
.form-err{margin:0;color:#B3261E;font-weight:600}
.form-foot{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px}
.form-foot .fine{margin:0;flex:1;min-width:240px}
@media (max-width:900px){
  .faq-grid,.contact-grid{grid-template-columns:minmax(0,1fr)}
  .faq-toc a:not(.btn){display:none!important}
  .faq-toc{position:static;flex-direction:row;flex-wrap:wrap;gap:8px}
  .c-fig{display:none}
  .faq-toc a:not(.btn){border:1px solid var(--line-strong);border-radius:999px;padding:0 16px;color:var(--ink);background:color-mix(in oklab,#fff 30%,transparent)}
  .faq-toc .btn{margin-top:0}
  .composer .row{grid-template-columns:minmax(0,1fr)}
}
