/* Complete public-page system, shared with the September 2026 homepage. */
body.interior-site { --bg:#fbfaf8; --paper:#fbfaf8; --ink:#262823; --ink-soft:#62675c; --ink-mute:#747c6b; --accent:#b74623; --accent-deep: #8A3D1C; --accent-soft:#fff0e7; --rule-soft:#e3e6dc; background:var(--bg); }
.interior-site .ip-main { overflow:clip; }
.ip-wrap,.interior-site main > .block > .container { width:min(1280px,calc(100% - 96px));max-width:1280px;margin-inline:auto;padding-inline:0; }
.ip-hero { padding:48px 0 60px; }
.ip-hero-grid { display:grid;grid-template-columns:1.08fr 1fr;gap:68px;align-items:center; }
.ip-hero-copy { padding:12px 0; }
.ip-back { display:inline-flex;gap:12px;align-items:center;font-size:11px;color:#737b68;margin-bottom:28px; }
.ip-back span { color:#c4caba; }
.interior-site .ip-hero h1 { font-size:clamp(48px,5.15vw,75px);line-height:1.06;letter-spacing:-.065em;font-weight:600;margin:0 0 25px; }
.ip-hero-copy > p { font-size:15px;line-height:1.85;color:#74776e;max-width:43ch; }
.ip-actions { display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:30px; }
.ip-button { display:inline-flex;justify-content:space-between;align-items:center;gap:25px;padding:14px 21px;border-radius:7px;background:var(--accent-deep);color:#fff;font-size:12px;font-weight:700;line-height:1.5;border:1px solid transparent;transition:background .2s; }
.ip-button:hover { background:var(--button-hover); }
.ip-button > span { font-size:18px;line-height:1; }
.ip-button-secondary { background:transparent;border-color:var(--accent-deep);color:var(--accent-deep); }
.ip-button-secondary:hover { background:var(--accent-deep);color:#fff; }
.ip-hero-note { display:block;margin-top:27px;color:#7a806f;font-size:10px; }
.ip-hero-note::before { content:'✓';margin-right:9px;color:#758a60; }
.ip-hero-art { height:510px;border-radius:13px;overflow:hidden;position:relative;background:#3d4535;isolation:isolate; }
.ip-hero-art > img { width:100%;height:100%;object-fit:cover; }
.ip-hero-art::after { content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0003,transparent 45%,#000a);z-index:0; }
.ip-photo-label { position:absolute;top:24px;left:25px;padding:8px 13px;border:1px solid #ffffff50;border-radius:25px;background:#ffffff0a;backdrop-filter:blur(7px);color:#fff;font-size:9px;z-index:1; }
.ip-hero-art > p { position:absolute;left:30px;right:25px;bottom:106px;color:white;font-size:32px;letter-spacing:-.04em;line-height:1.15;z-index:1;max-width:14ch; }
.ip-image-stamp { position:absolute;bottom:28px;left:30px;right:30px;border-top:1px solid #ffffff55;padding-top:17px;display:flex;gap:10px;align-items:center;color:#fff;font-size:10px;z-index:1; }
.ip-image-stamp img { width:27px;height:30px;filter:invert(1); }
.ip-info-panel { background:#edf1e4;border:1px solid #dee6d3;border-radius:13px;padding:37px;min-height:385px;position:relative; }
.ip-info-panel > img { width:47px;height:50px;opacity:.65; }
.ip-info-panel > p { font-size:31px;letter-spacing:-.045em;line-height:1.2;margin:27px 0 9px;font-weight:600; }
.ip-info-panel > span { color:#788468;font-size:12px; }
.ip-info-panel > div { margin-top:27px; }
.ip-info-panel a { display:flex;justify-content:space-between;padding:14px 0;border-top:1px solid #d6dfca;font-size:11px;color:#58654c; }
.ip-info-panel a b { font-size:17px;font-weight:400; }
.ip-solution-nav,.ip-jump-nav { display:flex;justify-content:space-between;gap:18px;border-block:1px solid #e3e6db;padding-block:22px; }
.ip-solution-nav a { font-size:11px;color:#7b816f;display:flex;gap:28px;align-items:center; }
.ip-solution-nav a.current { font-weight:700;color:#353e2b; }
.ip-solution-nav a.current span { color:#bd6841; }
.ip-solution-nav a:hover,.ip-jump-nav a:hover { color:#ae4925; }
.ip-jump-nav { justify-content:flex-start;gap:12px;flex-wrap:wrap; }
.ip-jump-nav a { font-size:12px;background:#f0f2e9;border-radius:6px;padding:9px 17px; }
.ip-section { padding-block:78px; }
.ip-section-title { display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:35px; }
.ip-section-title > div > span,.ip-label { display:block;font-size:11px;color:#7b816f;margin-bottom:15px; }
.interior-site .ip-section h2,.interior-site .ip-feature-band h2,.interior-site .ip-role-faq h2 { font-size:clamp(32px,3.5vw,47px);line-height:1.14;letter-spacing:-.05em;font-weight:500; }
.ip-section-title > p { max-width:35ch;color:#7c8272;font-size:12px;line-height:1.9; }
.ip-benefit-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px; }
.ip-benefit { background:#fff;border:1px solid #e4e7dd;padding:29px;border-radius:9px; }
.ip-benefit-symbol { width:38px;height:38px;background:#fcf0e6;border-radius:8px;display:grid;place-items:center;color:#b8734b;margin-bottom:26px;font-size:20px; }
.ip-benefit h3 { font-size:19px;letter-spacing:-.03em;font-weight:600;line-height:1.3;margin-bottom:13px; }
.ip-benefit p { font-size:12px;line-height:1.85;color:#767e6c; }
.ip-feature-band { background:#eef1e7;padding-block:65px; }
.ip-feature-layout { display:grid;grid-template-columns:1.05fr 1fr;gap:80px;align-items:center; }
.ip-feature-layout > div > p { font-size:13px;line-height:1.9;color:#767f6a;max-width:49ch;margin-top:22px; }
.ip-feature-layout .ip-button { margin-top:26px; }
.ip-workspace-card { background:#fff;border:1px solid #dfe6d5;border-radius:12px;padding:29px;box-shadow:0 12px 35px #36472a08; }
.ip-workspace-brand { display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;border-bottom:1px solid #e9ede1;padding-bottom:23px; }
.ip-workspace-brand img { width:24px;height:26px; }
.ip-workspace-brand span { margin-left:auto; }
.ip-workspace-card ul { list-style:none;margin:8px 0;padding:0; }
.ip-workspace-card li { display:flex;gap:13px;align-items:center;font-size:12px;padding:20px 0;border-bottom:1px solid #eff1e9; }
.ip-workspace-card li::before { content:'✓';display:grid;place-items:center;width:23px;height:23px;flex:none;border-radius:50%;background:#f0f4e9;color:#7a9560; }
.ip-workspace-foot { font-size:10px;color:#8a957e;padding-top:18px; }
.ip-steps { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;padding:0;list-style:none; }
.ip-steps li { border-top:1px solid #dce2d2;padding-top:22px; }
.ip-steps li > span { color:#b36d48;font-size:11px; }
.ip-steps h3 { font-size:20px;letter-spacing:-.03em;margin:20px 0 13px;font-weight:500; }
.ip-steps p { font-size:12px;line-height:1.9;max-width:33ch;color:#7a826e; }
.ip-role-faq { display:grid;grid-template-columns:1fr 1.2fr;gap:70px;padding:0 0 80px; }
.ip-role-faq .ip-button { margin-top:24px; }
.ip-role-faq details { border-bottom:1px solid #dde4d3; }
.ip-role-faq summary { display:flex;justify-content:space-between;align-items:center;gap:20px;list-style:none;padding:23px 0;cursor:pointer;font-size:13px;font-weight:600; }
.ip-role-faq summary::-webkit-details-marker { display:none; }
.ip-role-faq summary span { font-size:22px;font-weight:400;color:#859277; }
.ip-role-faq details[open] summary span { transform:rotate(45deg); }
.ip-role-faq details > p { font-size:12px;color:#738066;line-height:1.9;padding:0 25px 22px 0; }
.ip-closing { background:#fbc7a8;border-radius:12px;padding:47px 52px;display:flex;justify-content:space-between;align-items:center;gap:45px;margin-bottom:75px; }
.ip-closing > div > span { font-size:11px;color:#795e45; }
.interior-site .ip-closing h2 { font-size:clamp(38px,4.5vw,61px);line-height:1.08;font-weight:500;letter-spacing:-.055em;margin-top:17px; }
.ip-closing > div:last-child { display:flex;flex-direction:column;gap:12px; }
.ip-closing .ip-button:not(.ip-button-secondary) { background:var(--accent-deep);color:#fff; }
.ip-closing .ip-button-secondary { border-color:var(--accent-deep); }
/* Long-form pages use the same spacing, typography, panels and navigation. */
.interior-site .ip-content-section { padding:66px 0;border:0; }
.interior-site .ip-content-section + .ip-content-section:not(.dark) { border-top:1px solid #eceee6; }
.interior-site .ip-content-heading { display:block;max-width:820px;margin-bottom:35px; }
.interior-site .meta,.interior-site .eyebrow { font-family:var(--font-body);font-size:11px;letter-spacing:0;text-transform:none;color:#7d8672;font-weight:500; }
.interior-site .ip-content-heading .meta { margin-bottom:15px; }
.interior-site .ip-content-section h2 { font-size:clamp(31px,3.1vw,43px);line-height:1.16;letter-spacing:-.045em;font-weight:500; }
.interior-site .ip-content-section h3 { font-size:21px;line-height:1.25;letter-spacing:-.025em;font-weight:600; }
.interior-site .ip-content-section p { font-size:14px;line-height:1.85;color:#6e7863;max-width:72ch; }
.interior-site .ip-content-section .body-lg { font-size:16px;line-height:1.9; }
.interior-site .ip-content-section .accent,.interior-site .ip-content-section h2 .serif { color:inherit!important;font-family:inherit;font-weight:inherit; }
.interior-site .ip-content-section .two-col { gap:65px;align-items:start; }
.interior-site .ip-card-collection { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;border:0;padding:0; }
.interior-site .ip-card-collection:has(> :nth-child(4):last-child) { grid-template-columns:repeat(2,minmax(0,1fr)); }
.interior-site .ip-content-card { background:#fff;border:1px solid #e2e7d9;border-radius:10px;padding:28px;box-shadow:none;min-height:0; }
.interior-site .ip-content-card::before,.interior-site .ip-content-card::after { display:none; }
.interior-site .ip-content-card:hover { transform:none;box-shadow:none; }
.interior-site .ip-content-card h3 { font-size:19px;margin-bottom:13px; }
.interior-site .ip-content-card p { font-size:12px;line-height:1.85; }
.interior-site .ip-content-card .pillar-num { font-family:inherit;font-size:10px;letter-spacing:0;text-transform:none;color:#899578;margin-bottom:16px; }
.interior-site .icon-badge { width:40px;height:40px;border-radius:8px;background:#f9eee4;color:#b16d48;border:0;box-shadow:none;margin-bottom:21px; }
.interior-site .ip-content-section.dark { background:#edf1e5;color:#303b28; }
.interior-site .ip-content-section.dark :is(h2,h3,h4,p,.meta,.eyebrow,.serif,.partner-name,.partner-role) { color:inherit!important; }
.interior-site .ip-content-section.dark :is(p,.meta,.eyebrow,.partner-role) { color:#6c7a5e!important; }
.interior-site .ip-content-section.dark .ip-content-card { background:#fafcf6!important;border-color:#d8e2cd!important;color:#34422b!important; }
.interior-site .btn { background:var(--accent-deep);color:#fff;border:1px solid var(--accent-deep);border-radius:7px;padding:14px 22px;font-size:12px;font-family:inherit;letter-spacing:0;text-transform:none;font-weight:700;box-shadow:none; }
.interior-site .btn:hover { background:var(--button-hover);border-color:var(--button-hover);transform:none;box-shadow:none; }
.interior-site .btn.ghost { background:transparent!important;border-color:var(--accent-deep)!important;color:var(--accent-deep)!important; }
.interior-site .btn-row { gap:13px;margin-top:26px; }
.interior-site .prob-item { border-color:#e0e7d5;padding-block:22px; }
.interior-site .prob-item .num { color:#a26c49;font-family:inherit;font-size:12px; }
.interior-site .quote-block { font-size:clamp(25px,2.8vw,39px);line-height:1.4;letter-spacing:-.035em;color:#45563a;border-color:#cbd9bb; }
.interior-site .quote-cite { font-family:inherit;letter-spacing:0;text-transform:none;font-size:11px;color:#869575; }
.interior-site .faq-list { border-top:0; }
.interior-site .faq-item { background:#fff;border:1px solid #e1e7d8;border-radius:9px;margin-bottom:11px;overflow:hidden; }
.interior-site .faq-item summary { padding:22px 25px;gap:20px; }
.interior-site .faq-q { font-size:14px;font-weight:600; }
.interior-site .faq-num { display:none; }
.interior-site .faq-toggle { font-size:22px;color:#879777; }
.interior-site .faq-a { padding:0 25px 24px;font-size:13px;line-height:1.85;color:#738065;max-width:85ch;margin:0; }
.interior-site .faq-a a { text-decoration:underline;text-underline-offset:3px; }
.interior-site[data-page="faqs"] .ip-content-section > .container { display:grid;grid-template-columns:260px minmax(0,1fr);gap:50px; }
.interior-site[data-page="faqs"] .ip-content-section .ip-content-heading { margin-bottom:0; }
.interior-site[data-page="faqs"] .ip-content-section h2 { font-size:32px; }
.interior-site .cta-banner { background:#f8e7d7;color:#38452e;border:0;border-radius:12px;padding:45px;box-shadow:none; }
.interior-site .cta-banner :is(h2,p,.eyebrow) { color:#536344!important; }
.interior-site .field label { font-family:inherit;font-size:11px;font-weight:600;text-transform:none;letter-spacing:0; }
.interior-site .field :is(input,select,textarea) { background:#fff;border:1px solid #dce4d1;border-radius:7px;font:13px var(--font-body);padding:13px 14px; }
.interior-site form.contact { padding:30px;background:#fff;border:1px solid #e1e7d8;border-radius:12px;gap:22px 18px; }
.interior-site .ci-item { border-color:#e1e7d7;padding:22px 0; }
.interior-site .ci-label { text-transform:none;letter-spacing:0;font:11px var(--font-body);color:#849573;margin-bottom:8px; }
.interior-site .ci-value { font-size:20px;letter-spacing:-.03em;overflow-wrap:anywhere; }
.interior-site .ci-sub { font-size:11px;line-height:1.8;color:#829374;margin-top:7px; }
.interior-site .chip { font-family:inherit;font-size:11px;border:1px solid #dfe7d4;background:#f6f9ef;border-radius:6px;text-transform:none;letter-spacing:0; }
.interior-site .journey-phase { border:1px solid #dce6d0;background:#fff;border-radius:10px;padding:28px;margin-bottom:22px; }
.interior-site .journey-phase h3 { color:#526841; }
.interior-site .journey-phase h4 { font-size:15px;line-height:1.4; }
.interior-site .journey-phase p { font-size:12px; }
.interior-site .illus-draw { background:#f1f5e9;border-radius:12px;padding:25px; }
.interior-site .store-btn { background:var(--accent-deep);border-color:var(--accent-deep);color:#fff;border-radius:8px; }
.interior-site table { width:100%;font-size:13px; }
.interior-site td,.interior-site th { overflow-wrap:anywhere; }
.interior-site .section-hero .hero-bg { display:none; }
.interior-site .ip-inline-grid { gap:25px!important; }
.interior-site main > section[id] { scroll-margin-top:110px; }
.interior-site :focus-visible { outline:2px solid #b65b31;outline-offset:4px; }
.interior-site .img-ph { border-radius:10px; }
@media(max-width:1100px) { .ip-wrap,.interior-site main > .block > .container { width:calc(100% - 64px); } .ip-hero-grid { gap:38px; } .ip-hero-art { height:470px; } .ip-hero h1 { font-size:57px; } .ip-feature-layout { gap:40px; } .ip-solution-nav a { gap:12px; } .interior-site .ip-content-section .two-col { gap:35px; } }
@media(max-width:760px) { .ip-wrap,.interior-site main > .block > .container { width:calc(100% - 40px); } .ip-hero { padding:27px 0 40px; } .ip-hero-grid { grid-template-columns:1fr;gap:30px; } .interior-site .ip-hero h1 { font-size:clamp(43px,9vw,66px); } .ip-back { font-size:10px;margin-bottom:22px; } .ip-hero-copy > p { font-size:14px; } .ip-hero-art { height:390px; } .ip-info-panel { padding:28px;min-height:0; } .ip-info-panel > p { font-size:28px; } .ip-solution-nav { overflow-x:auto;justify-content:flex-start;gap:24px; } .ip-solution-nav a { white-space:nowrap; } .ip-solution-nav a span { display:none; } .ip-section { padding-block:52px; } .ip-section-title { display:block;margin-bottom:27px; } .ip-section-title > p,.ip-section-title > .ip-button { margin-top:20px; } .ip-benefit-grid { grid-template-columns:1fr;gap:15px; } .ip-benefit { padding:25px; } .ip-benefit-symbol { margin-bottom:20px; } .ip-feature-band { padding-block:45px; } .ip-feature-layout { grid-template-columns:1fr;gap:30px; } .ip-workspace-card { padding:24px; } .ip-steps { grid-template-columns:1fr;gap:28px; } .ip-steps p { max-width:46ch; } .ip-steps h3 { margin-top:16px; } .ip-role-faq { grid-template-columns:1fr;gap:22px;padding-bottom:50px; } .ip-closing { padding:31px 27px;flex-direction:column;align-items:flex-start;gap:27px;margin-bottom:45px; } .ip-closing > div:last-child { width:100%; } .ip-closing h2 { font-size:43px; } .interior-site .ip-content-section { padding:43px 0; } .interior-site .ip-content-section h2 { font-size:33px; } .interior-site .ip-content-section .two-col,.interior-site .ip-card-collection,.interior-site .ip-card-collection:has(> :nth-child(4):last-child),.interior-site .ip-inline-grid { grid-template-columns:minmax(0,1fr)!important; } .interior-site .ip-content-card { padding:24px; } .interior-site[data-page="faqs"] .ip-content-section > .container { grid-template-columns:1fr;gap:21px; } .interior-site .faq-item summary { padding:19px; } .interior-site .faq-q { font-size:13px; } .interior-site .faq-a { padding:0 19px 20px; } .interior-site .cta-banner { padding:28px 23px; } .interior-site .ip-content-section .btn-row { flex-wrap:wrap; } .interior-site form.contact { padding:22px;grid-template-columns:1fr; } .interior-site .journey-phase { padding:21px; } .interior-site .illus-draw { padding:10px; } }
@media(prefers-reduced-motion:reduce) { .interior-site *,.interior-site *::before,.interior-site *::after { animation:none!important;transition:none!important;scroll-behavior:auto!important; } }
/* FAQ summaries have two visible columns after removing legacy question numbers. */
.interior-site .faq-item summary { display:flex;align-items:center;justify-content:space-between;grid-template-columns:none; }
.interior-site .faq-q { flex:1;min-width:0; }
.interior-site .faq-toggle { flex:none; }
.interior-site #contactForm { scroll-margin-top:110px; }
.interior-site[data-page="account"] .auth-wrap { max-width:780px; }
.interior-site[data-page="account"] .auth-head { text-align:left; }
.interior-site[data-page="account"] .auth-head .meta { justify-content:flex-start; }
.interior-site[data-page="account"] .auth-card { background:#fff;border:1px solid #dfe7d3;border-radius:12px;box-shadow:none; }

.ip-closing .ip-button:not(.ip-button-secondary):hover, .interior-site .store-btn:hover { background:var(--button-hover); }
.interior-site .btn.ghost:hover { background:var(--accent-deep)!important;color:#fff!important; }
