/* Isolated FAQ study; shared production styles are untouched. */
.faq-page{background:#111817;color:#f5f4ee}
.faq-page header.wrap{position:relative;z-index:10}
.faq-page .faq-kicker{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;line-height:1.6;margin:0 0 25px}
.faq-hero{background:#111817;padding:72px 0 83px;overflow:hidden}
.faq-hero-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.65fr);gap:36px;align-items:center}
.faq-hero h1{font-size:clamp(60px,6.7vw,98px);font-weight:500;line-height:1.01;letter-spacing:-.065em;margin:0}
.faq-hero h1 span{color:#ffd21b}
.faq-intro{font-size:18px;line-height:1.6;color:#c1cbc5;margin:27px 0 0;max-width:43ch}
.faq-conversation{position:relative;width:300px;height:285px;justify-self:center;isolation:isolate}
.faq-conversation-orbit{position:absolute;inset:4px -18px;border:1px solid #63736a66;border-radius:50%;transform:rotate(-28deg) scaleY(.82)}
.faq-bubble-back{position:absolute;right:3px;top:17px;width:169px;height:126px;border:1px solid #8ca899;border-radius:31px 31px 31px 5px;display:flex;gap:9px;align-items:center;justify-content:center;transform:rotate(9deg);animation:faq-back-drift 8s ease-in-out infinite}
.faq-bubble-back i{width:9px;height:9px;background:#99b4a4;border-radius:50%}
.faq-bubble-front{position:absolute;left:7px;top:80px;width:193px;height:163px;background:#ffd21b;border-radius:42px 42px 7px 42px;display:grid;place-items:center;transform:rotate(-8deg);box-shadow:0 20px 50px #0002;animation:faq-front-drift 8s ease-in-out infinite}
.faq-bubble-front span{font-size:117px;line-height:1;font-weight:500;color:#111817;letter-spacing:-.08em;transform:translate(-4px,-3px)}
.faq-conversation-dot{position:absolute;bottom:11px;right:23px;width:13px;height:13px;border-radius:50%;background:#b9c9b2}
@keyframes faq-front-drift{50%{transform:translateY(-7px) rotate(-5deg)}}
@keyframes faq-back-drift{50%{transform:translateY(5px) rotate(6deg)}}
.faq-section{background:#f5f4ee;color:#171e1a;padding:76px 0 94px;border-radius:28px 28px 0 0}
.faq-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:76px;align-items:start}
.faq-sidebar{position:sticky;top:32px}
.faq-sidebar .faq-kicker{color:#607066;margin-bottom:16px}
.faq-sidebar h2{font-size:37px;line-height:1.08;font-weight:500;letter-spacing:-.045em;margin:0 0 29px}
.faq-topics{display:flex;flex-direction:column;gap:6px}
.faq-topics button{border:0;background:transparent;color:#566158;min-height:48px;display:flex;justify-content:space-between;gap:12px;text-align:left;align-items:center;padding:13px 16px;border-radius:8px;font-size:14px;transition:background .2s,color .2s}
.faq-topics button:hover{background:#e6e9e0;color:#171e1a}
.faq-topics button[aria-pressed=true]{background:#192820;color:#f5f4ee}
.faq-topic-count{font-size:11px;opacity:.8;font-variant-numeric:tabular-nums}
.faq-side-note{margin-top:39px;border-top:1px solid #cdd2c9;padding-top:25px}
.faq-small-dot{display:block;width:8px;height:8px;border-radius:50%;background:#a1b798;margin-bottom:15px}
.faq-side-note p{font-size:13px;color:#607066;margin:0 0 8px}
.faq-side-note a{font-size:13px;display:inline-flex;align-items:center;min-height:32px;font-weight:600}
.faq-search{margin:0 0 30px}
.faq-search label{display:block;margin:0 0 10px;font-size:12px;font-weight:600;color:#516257}
.faq-search-field{display:flex;align-items:center;gap:13px;border:1px solid #c5ccc2;border-radius:8px;background:#fbfaf6;padding:0 16px;transition:border-color .2s,box-shadow .2s}
.faq-search-field:focus-within{border-color:#586b5d;box-shadow:0 0 0 3px #a6b69c44}
.faq-search-field svg{width:20px;height:20px;stroke:#667469;stroke-width:1.5;fill:none;flex-shrink:0}
.faq-search input{border:0;background:transparent;color:#17231b;min-height:58px;min-width:0;flex:1;outline:0;padding:0;font-size:16px;width:100%;border-radius:0}
.faq-search input::placeholder{color:#727d73;font-size:14px}
.faq-search input:focus-visible{outline:0}
.faq-search input::-webkit-search-cancel-button{-webkit-appearance:none}
.faq-clear{border:0;background:transparent;color:#34473a;font-size:12px;min-height:44px;padding:0 1px;text-decoration:underline;text-underline-offset:4px}
.faq-list-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;min-height:42px;padding-bottom:13px}
.faq-list-heading p{font-size:12px;line-height:1.6;color:#647266;margin:0}
.faq-expand{border:0;background:transparent;color:#314a38;min-height:44px;font-size:12px;white-space:nowrap;padding:5px 0;text-decoration:underline;text-underline-offset:4px}
.faq-item{border-top:1px solid #cbd1c6;transition:background .25s ease}
.faq-item:last-child{border-bottom:1px solid #cbd1c6}
.faq-item summary{list-style:none;display:grid;grid-template-columns:27px minmax(0,1fr) 24px;gap:16px;align-items:start;min-height:99px;padding:29px 18px 27px 0;cursor:pointer;-webkit-tap-highlight-color:transparent}
.faq-item summary::-webkit-details-marker{display:none}
.faq-number{font-size:11px;line-height:28px;font-variant-numeric:tabular-nums;color:#657466}
.faq-item h3{font-size:21px;font-weight:500;line-height:1.35;letter-spacing:-.025em;margin:0;max-width:42ch}
.faq-toggle{position:relative;display:block;width:24px;height:24px;margin-top:2px}
.faq-toggle:before,.faq-toggle:after{content:'';position:absolute;top:11px;left:5px;width:14px;height:1.5px;background:#314c37;transition:transform .25s ease}
.faq-toggle:after{transform:rotate(90deg)}
.faq-item[open] .faq-toggle:after{transform:rotate(0)}
.faq-item[open]{background:#e9ede3;border-top-color:#b4c2ae}
.faq-item[open] summary{padding-bottom:17px}
.faq-item[open] .faq-number{color:#284c32}
.faq-answer{padding:0 58px 30px 43px}
.faq-answer>p{font-size:16px;line-height:1.8;color:#4e5f50;margin:0;max-width:65ch}
.faq-answer-links{display:flex;gap:10px 24px;flex-wrap:wrap;margin-top:16px}
.faq-answer a{font-size:13px;font-weight:600;line-height:1.6;min-height:32px;display:inline-flex;align-items:center;color:#1e422a;text-underline-offset:5px}
.faq-item summary:hover h3{color:#47654a}
.faq-item summary:focus-visible{outline:2px solid #526a4b;outline-offset:3px;position:relative;z-index:1;border-radius:4px}
.faq-empty{padding:42px 0 55px;border-top:1px solid #cbd1c6}
.faq-empty .faq-kicker{color:#657366;margin-bottom:15px}
.faq-empty h3{font-size:36px;line-height:1.08;letter-spacing:-.04em;margin:0 0 22px;font-weight:500}
.faq-empty p:not(.faq-kicker){font-size:16px;line-height:1.7;color:#5c6a5d;max-width:40ch;margin-bottom:25px}
.faq-empty .button{margin-right:20px;border:0;font-size:13px;min-height:48px;padding:14px 20px}
.faq-empty>a{display:inline-flex;min-height:44px;align-items:center;font-size:13px;font-weight:600}
.faq-contact{background:#dce4d3;color:#17241b;padding:64px 0 69px}
.faq-contact-inner{display:flex;justify-content:space-between;align-items:center;gap:36px}
.faq-contact .faq-kicker{margin-bottom:19px;color:#5a6b59}
.faq-contact h2{font-size:clamp(32px,3.5vw,49px);line-height:1.07;letter-spacing:-.045em;font-weight:500;margin:0}
.faq-contact h2 em{font-weight:500}
.faq-contact .button{border:0;background:#ffd21b;color:#17241b;flex-shrink:0;font-size:14px;min-height:52px;padding:17px 24px}
.faq-page footer.wrap{background:#111817;color:#f5f4ee}
@media(min-width:1600px){.faq-layout{grid-template-columns:280px minmax(0,1fr);gap:100px}}
@media(max-width:1100px){.faq-layout{grid-template-columns:220px minmax(0,1fr);gap:42px}.faq-hero-grid{grid-template-columns:minmax(0,1.5fr) minmax(210px,.6fr)}.faq-conversation{transform:scale(.82)}.faq-item h3{font-size:20px}}
@media(max-width:800px){.faq-hero{padding:46px 0 53px}.faq-hero-grid{grid-template-columns:1fr;gap:0}.faq-hero h1{font-size:clamp(48px,8.7vw,68px);letter-spacing:-.06em}.faq-hero .faq-kicker{font-size:9px;letter-spacing:.12em;margin-bottom:23px}.faq-intro{font-size:15px;line-height:1.65;margin-top:23px}.faq-conversation{display:none}.faq-section{padding:34px 0 52px;border-radius:19px 19px 0 0}.faq-layout{display:block}.faq-sidebar{position:static}.faq-sidebar>.faq-kicker,.faq-sidebar>h2,.faq-side-note{display:none}.faq-topics{flex-direction:row;flex-wrap:wrap;gap:8px;margin-bottom:26px}.faq-topics button{border:1px solid #d4d9cf;min-height:42px;padding:10px 12px;font-size:12px;border-radius:6px;gap:12px}.faq-topics button[aria-pressed=true]{border-color:#192820}.faq-topic-count{font-size:10px}.faq-search{margin-bottom:20px}.faq-search input{min-height:54px;font-size:16px}.faq-search input::placeholder{font-size:12px}.faq-search-field{padding:0 12px;gap:10px}.faq-list-heading p{font-size:10px}.faq-expand{font-size:11px}.faq-item summary{grid-template-columns:20px minmax(0,1fr) 20px;gap:11px;min-height:88px;padding:24px 9px 24px 0}.faq-item h3{font-size:18px;line-height:1.4;letter-spacing:-.02em}.faq-number{font-size:10px;line-height:25px}.faq-toggle{transform:scale(.85);transform-origin:top right}.faq-answer{padding:0 18px 27px 31px}.faq-answer>p{font-size:14px;line-height:1.85}.faq-answer-links{gap:6px 20px;margin-top:14px}.faq-answer a{font-size:12px;min-height:44px}.faq-contact{padding:43px 0 47px}.faq-contact-inner{display:block}.faq-contact .faq-kicker{font-size:9px;margin-bottom:19px}.faq-contact h2{font-size:34px}.faq-contact .button{margin-top:28px}.faq-empty h3{font-size:31px}.faq-empty p:not(.faq-kicker){font-size:14px}}
@media(max-width:360px){.faq-hero h1{font-size:40px}}
@media(prefers-reduced-motion:reduce){.faq-page *,.faq-page *:before,.faq-page *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
