/* Lex Bellator / Luminous Structure
   Editorial layouts and interactive modules. All decorative surfaces stay light. */

.practice-section { background:#fff; border-top:1px solid #e9e0ef; }
.practice-section .section-top { align-items:center; }
.practice-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.practice-card { min-width:0; min-height:328px; padding:36px 38px; border-radius:26px; border:1px solid #e1d6e9; background:#faf7fd; box-shadow:none; }
.practice-card:nth-child(2),.practice-card:nth-child(3) { background:#fffdf8; border-color:#e7ddc8; }
.practice-card::after { content:""; position:absolute; right:-60px; bottom:-135px; width:270px; height:270px; border:1px solid #bca5ce4d; border-radius:50%; box-shadow:0 0 0 22px #d7c8e218,0 0 0 44px #d7c8e210; z-index:-1; transition:transform .65s var(--ease); pointer-events:none; }
.practice-card:hover { transform:translateY(-5px); border-color:#ae93c1; box-shadow:0 22px 42px #5132670d; }
.practice-card:hover::after { transform:translate(-12px,-12px); }
.practice-card-top { margin-bottom:30px; color:#806024; font-size:0.9375rem; letter-spacing:.09em; }
.practice-card-top>span { display:flex; align-items:center; gap:12px; }
.practice-card-top>span::after { content:""; width:48px; height:1px; background:#c7b38a; }
.practice-card-top>.icon { width:53px; height:53px; padding:13px; border:1px solid #dfcfe9; border-radius:16px; background:#fff; }
.practice-card:nth-child(2) .practice-card-top>.icon,.practice-card:nth-child(3) .practice-card-top>.icon { background:#fffefb; border-color:#e8dcc2; }
.practice-card h3 { font-size:clamp(1.75rem,2.625vw,2.4375rem); max-width:21ch; }
.practice-card p { max-width:390px; font-size:1.1875rem; margin:17px 0 28px; }
.practice-card .card-link { display:flex; justify-content:space-between; width:100%; max-width:245px; padding-top:16px; border-top:1px solid #d6c5e1; font-size:1rem; }
.practice-card .card-link .icon { transition:transform .35s var(--ease); }
.practice-card:hover .card-link .icon { transform:translate(3px,-3px); }

.concern-finder { background:#f5f0fa; border-block:1px solid #e8dfee; }
.finder-shell { display:block; border:1px solid #daccE6; border-radius:28px; background:#fff; box-shadow:0 20px 65px #65437b0a; overflow:hidden; }
.finder-selection { border:0; border-bottom:1px solid #e4d8ed; padding:28px 30px 22px; background:#fff; }
.finder-selection .micro-label { font-size:0.8125rem; color:var(--accent); }
.concern-choices { grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-top:20px; }
.concern-choices>button { position:relative; min-height:121px; flex-direction:column; align-items:flex-start; gap:17px; padding:18px 20px; border-radius:16px; font-size:1.0625rem; line-height:1.45; background:#fcfaff; border:1px solid #e7dded; }
.concern-choices>button>.icon:first-child { width:23px; height:23px; }
.concern-choices>button>.icon:last-child { position:absolute; right:17px; top:20px; width:16px; height:16px; color:#8b719b; opacity:.6; transform:rotate(45deg); }
.concern-choices>button:hover { transform:translateY(-3px); background:#f7f1fb; border-color:#b196c4; }
.concern-choices>button[aria-pressed=true] { background:#f0e7f8; border-color:#9874b1; box-shadow:inset 0 -3px #633d85,0 5px 14px #633d8508; }
.concern-choices>button[aria-pressed=true]>.icon:last-child { opacity:1; color:var(--accent); transform:rotate(90deg); }
.finder-selection>p { margin-top:16px; font-size:0.9375rem; }
.finder-display { display:block; padding:42px; min-height:330px; background:linear-gradient(110deg,#fff 25%,#fcf9ff 100%); }
#finder-welcome { display:grid; grid-template-columns:126px minmax(0,1fr); gap:0 30px; max-width:810px; margin:auto; padding:18px 0; }
#finder-welcome .finder-symbol { grid-column:1; grid-row:1/4; align-self:center; justify-self:center; margin:0; width:78px; height:78px; border-radius:22px; background:#fff; box-shadow:0 0 0 13px #f3ebf9,0 0 0 14px #e7daef,0 0 0 26px #faf7fd; }
#finder-welcome .eyebrow { grid-column:2; font-size:0.8125rem; margin-bottom:15px; }
#finder-welcome h3 { grid-column:2; font-size:clamp(2rem,3.255vw,2.875rem); }
#finder-welcome>p:not(.eyebrow) { grid-column:2; max-width:500px; margin-top:15px; }
#finder-welcome .signal-lines { grid-column:2; margin-top:24px; }
.finder-display #finder-result { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); column-gap:7%; row-gap:15px; }
#finder-result .micro-label { grid-column:1/-1; margin:0 0 8px; font-size:0.8125rem; }
#finder-result h3 { grid-column:1; grid-row:2; font-size:clamp(1.875rem,3.15vw,2.6875rem); }
#finder-result #finder-description { grid-column:1; grid-row:3; margin:0; font-size:1.1875rem; max-width:none; }
#finder-result h4 { grid-column:2; grid-row:2; align-self:end; margin:0; font-size:1.125rem; }
#finder-result ul { grid-column:2; grid-row:3/5; align-self:start; gap:10px; padding:0; margin:0; }
#finder-result li { padding:11px 14px; background:#f6f1fa; border:1px solid #eadff1; border-radius:10px; font-size:1rem; }
#finder-result li::before { border-color:#a98abd; background:#d9c5e8; }
#finder-result .finder-actions { grid-column:1; grid-row:4; align-self:start; margin-top:9px; }
#finder-result .small-note { grid-column:1/-1; margin-top:10px; padding-top:17px; border-top:1px solid #e9dfef; }

.process-lab { background:#fff; }
.process-workspace { display:block; border:0; border-radius:0; background:transparent; overflow:visible; box-shadow:none; }
.process-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; padding:0; background:transparent; margin-bottom:18px; }
.process-tabs button { position:relative; min-width:0; padding:19px 20px; gap:13px; background:#f7f3fa; border:1px solid #e9deef; border-radius:17px; font-size:1.125rem; }
.process-tabs button>span { width:36px; height:36px; background:#fff; font-size:0.875rem; border-color:#ded0e8; }
.process-tabs button>strong { font-weight:600; }
.process-tabs button>.icon { display:block; width:16px; height:16px; }
.process-tabs button[aria-selected=true] { background:#f0e7f8; border-color:#a98abd; box-shadow:0 5px 16px #633d8507; }
.process-tabs button[aria-selected=true]>span { background:#fff; color:#633d85; border-color:#b9a0cb; box-shadow:0 0 0 4px #fff8; }
.process-tabs button:hover { background:#f3ebf9; }
.process-panels { padding:38px; border:1px solid #e2d6ea; border-radius:27px; background:linear-gradient(125deg,#fff,#fcfaff); min-height:340px; }
.process-panels>[role=tabpanel] { display:grid; grid-template-columns:112px minmax(0,1fr); gap:30px; align-items:start; }
.process-number { position:relative; right:auto; top:auto; font-size:4.875rem; line-height:1; font-weight:400; letter-spacing:-.08em; color:#aa8ebb; padding:30px 0; text-align:center; border-block:1px solid #dac8e5; background:linear-gradient(180deg,#f7f0fc,#fff); border-radius:16px; }
.process-panels>[role=tabpanel]>div { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:0 30px; min-width:0; }
.process-panels .eyebrow { grid-column:1; font-size:0.8125rem; margin-bottom:17px; }
.process-panels h3 { grid-column:1; font-size:clamp(1.875rem,2.94vw,2.625rem); max-width:20ch; }
.process-panels p:not(.eyebrow) { grid-column:1; font-size:1.125rem; margin:18px 0 0; }
.process-panels blockquote { position:relative; grid-column:2; grid-row:1/5; align-self:stretch; display:flex; align-items:center; margin:0; padding:48px 26px 30px; border:1px solid #e8dec9; border-radius:18px; color:#5a4a35; font-family:Space,sans-serif; font-size:1.5rem; line-height:1.45; background:#fbf8f0; }
.process-panels blockquote::before { content:'“'; position:absolute; top:10px; left:23px; font-family:Georgia,serif; font-size:4.3125rem; line-height:1; color:#b69556; }
.process-panels .button { grid-column:1; justify-self:start; font-size:0.9375rem; margin-top:22px; }

.detail-intro { background:#f6f2fa; }
.detail-intro .section-top { display:grid; grid-template-columns:1fr 1fr; gap:7%; align-items:start; }
.detail-intro .section-top>div { max-width:none; }
.detail-intro .section-top>p { max-width:none; padding-top:32px; font-size:1.1875rem; margin:0; }
.detail-intro h2 { font-size:clamp(2.1875rem,3.36vw,3.1875rem); }
.issue-workspace { display:block; border:1px solid #dcd0e5; border-radius:27px; overflow:hidden; background:#fff; box-shadow:0 15px 45px #51326706; }
.issue-tabs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; padding:16px; background:#f9f6fc; border-bottom:1px solid #e6dced; }
.issue-tabs button { min-width:0; display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start; gap:10px; font-size:1.0625rem; line-height:1.55; padding:19px 20px; position:relative; border-radius:14px; min-height:115px; }
.issue-tabs button>span { font-size:0.8125rem; letter-spacing:.09em; color:#806024; }
.issue-tabs button>.icon { display:block; position:absolute; top:20px; right:17px; width:14px; height:14px; opacity:.5; }
.issue-tabs button[aria-selected=true] { background:#fff; border-color:#b59bc6; box-shadow:0 6px 14px #633d8509; color:#573374; }
.issue-tabs button[aria-selected=true]>.icon { transform:rotate(90deg); opacity:1; }
.issue-panels { padding:45px; min-height:305px; display:block; }
.issue-panels>[role=tabpanel] { width:100%; display:grid; grid-template-columns:105px minmax(0,1fr); gap:0 36px; align-content:center; }
.issue-ordinal { grid-column:1; grid-row:1/4; width:100%; height:114px; padding:25px 10px; border:1px solid #e6d9bf; border-radius:20px 20px 5px 20px; color:#806024; background:#fbf8f0; margin:0; font-size:2.9375rem; line-height:1.4; }
.issue-panels h3 { grid-column:2; font-size:clamp(1.875rem,3.15vw,2.625rem); }
.issue-panels p { grid-column:2; max-width:830px; font-size:1.25rem; margin:18px 0 25px; }
.issue-panels .text-link { grid-column:2; justify-self:start; font-size:1rem; }

.prepare-section { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:7%; background:#fff; }
.prepare-section>div:first-child { padding:15px 0; }
.prepare-section h2 { font-size:clamp(2.25rem,3.675vw,3.1875rem); }
.prepare-section>div:first-child>p:not(.eyebrow) { font-size:1.25rem; }
.document-checklist { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; border:1px solid #dfd1e9; border-radius:25px; padding:27px; background:#faf7fd; box-shadow:0 18px 40px #633d8507; }
.checklist-label { grid-column:1/-1; margin-bottom:4px; font-size:0.8125rem; gap:10px; }
.checklist-label>[data-checklist-count] { padding:5px 9px; border:1px solid #dfd2e9; background:#fff; border-radius:20px; font-size:0.8125rem; }
.check-progress { grid-column:1/-1; height:4px; margin:1px 0 9px; background:#e8deef; }
.check-progress>span { background:linear-gradient(90deg,#8662a1,#b69556); }
.document-checklist>label { display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start; gap:12px; min-width:0; min-height:143px; padding:19px; border:1px solid #e5dbed; border-radius:15px; font-size:1.0625rem; background:#fff; transition:background .25s,border-color .25s,transform .25s; }
.document-checklist>label:hover { transform:translateY(-2px); border-color:#b79dc9; }
.document-checklist input { width:20px; height:20px; margin:0; }
.document-checklist label:has(input:checked) { background:#f0e8f7; border-color:#b298c5; color:#573374; }
.document-checklist .small-note { grid-column:1/-1; margin-top:3px; font-size:0.875rem; }

.faq-section { background:#f7f3fb; grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr); column-gap:7%; row-gap:20px; }
.faq-section h2 { font-size:clamp(2.25rem,3.675vw,3.1875rem); max-width:13ch; }
.faq-section>.eyebrow { grid-column:1; grid-row:1; margin:0; align-self:start; }
.faq-section>h2 { grid-column:1; grid-row:2; align-self:start; }
.faq-section:has(>h2)>.faq-list { grid-column:2; grid-row:1/4; }
.faq-list { display:grid; gap:12px; counter-reset:faq; min-width:0; }
.faq-list details,.faq-list details:first-child { border:1px solid #e2d7eb; border-radius:17px; background:#fff; overflow:hidden; counter-increment:faq; transition:border-color .25s,box-shadow .25s; }
.faq-list details[open] { border-color:#bda4cf; box-shadow:0 10px 25px #633d8507; }
.faq-list summary { display:grid; grid-template-columns:27px minmax(0,1fr) 20px; align-items:center; gap:14px; font-size:1.1875rem; line-height:1.6; padding:22px; }
.faq-list summary::before { content:counter(faq,decimal-leading-zero); font-family:Space,sans-serif; font-size:0.875rem; color:#806024; letter-spacing:.04em; }
.faq-list summary .icon { width:18px; height:18px; grid-column:3; }
.faq-list details[open] summary { color:#573374; }
.faq-list p { font-size:1.125rem; line-height:1.85; padding:0 24px 24px 63px; }
.resource-links { grid-column:2; margin:3px 0 0; padding:14px 2px 0; font-size:0.875rem; }
.resource-links a { color:#633d85; }

.related-section { background:#fff; }
.related-section .section-top { display:flex; gap:25px; align-items:flex-end; border-bottom:1px solid #e7deed; padding-bottom:29px; margin-bottom:29px; }
.related-section .section-top>.eyebrow { margin:0; max-width:220px; font-size:0.8125rem; }
.related-section h2 { font-size:clamp(2.125rem,3.15vw,2.875rem); text-align:right; }
.related-grid { gap:17px; }
.related-grid:has(>.related-card:nth-child(4)) { grid-template-columns:repeat(2,minmax(0,1fr)); }
.related-card { padding:27px; border-radius:20px; border-color:#e3d8eb; background:#fcfaff; }
.related-card>.icon { width:43px; height:43px; padding:10px; margin-bottom:28px; border-radius:13px; border:1px solid #e0d1e9; background:#fff; }
.related-card h3 { font-size:1.75rem; }
.related-card p { font-size:1.0625rem; margin:15px 0 25px; }
.related-card>span:last-child { width:100%; justify-content:space-between; padding-top:16px; border-top:1px solid #e2d4eb; color:#633d85; font-size:0.9375rem; }
.related-card:hover { box-shadow:0 14px 34px #633d8509; }

.expectation-band { background:#f6f1fa; border-block:1px solid #e7ddee; }
.expectation-band h2 { font-size:clamp(2.3125rem,3.675vw,3.4375rem); max-width:800px; }
.expectation-grid { gap:20px; counter-reset:expectation; margin-top:38px; }
.expectation-grid>div { counter-increment:expectation; position:relative; border:1px solid #e3d8eb; border-radius:22px; background:#fff; padding:32px; }
.expectation-grid>div::before { content:counter(expectation,decimal-leading-zero); display:inline-flex; justify-content:center; align-items:center; width:37px; height:37px; margin-bottom:31px; font-family:Space,sans-serif; font-size:0.875rem; color:#806024; border:1px solid #e1d2b5; border-radius:12px; background:#fffdf8; }
.expectation-grid h3 { font-size:2rem; }
.expectation-grid p { font-size:1.125rem; line-height:1.85; margin-top:16px; }

.about-intro { grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr); gap:9%; background:#fff; align-items:start; }
.about-intro>div:last-child { padding-left:35px; border-left:1px solid #c8b086; }
.about-intro h2 { font-size:clamp(2.3125rem,3.675vw,3.5rem); }
.about-intro p.large-copy { font-size:1.625rem; line-height:1.65; }
.about-intro p:not(.eyebrow):not(.large-copy) { font-size:1.1875rem; line-height:1.95; }
.founder-section { position:relative; align-items:center; gap:5%; background:#f6f1fa; border-block:1px solid #e7ddee; }
.founder-section:has(>.founder-emblem) { grid-template-columns:minmax(0,.68fr) minmax(0,1fr) minmax(0,1.15fr); gap:5%; }
.founder-section:has(>.founder-emblem)>div:not(.founder-emblem):first-child { grid-column:2; grid-row:1; }
.founder-section:has(>.founder-emblem)>div:not(.founder-emblem):nth-child(2) { grid-column:3; grid-row:1; }
.founder-emblem { grid-column:1; grid-row:1; position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; width:100%; min-height:265px; aspect-ratio:1/1.12; border:1px solid #d9cbe4; border-radius:100px 100px 18px 18px; background:linear-gradient(140deg,#fff,#f0e8f7); overflow:hidden; }
.founder-emblem::before,.founder-emblem::after { content:""; position:absolute; inset:20px; border:1px solid #c5ac814d; border-radius:85px 85px 10px 10px; pointer-events:none; }
.founder-emblem::after { inset:31px; border-color:#bea1d02b; }
.founder-emblem>span { font-family:Space,sans-serif; font-size:clamp(3.4375rem,5.25vw,4.875rem); line-height:1; font-weight:400; letter-spacing:-.12em; color:#78568f; padding-right:.12em; }
.founder-emblem>small { font-size:0.8125rem; line-height:1.7; letter-spacing:.18em; color:#806024; margin-top:23px; text-align:center; }
.founder-section h2 { font-size:clamp(2.3125rem,3.78vw,3.375rem); }
.founder-section .founder-role { font-size:1rem; margin-top:17px; }
.founder-section .large-copy { margin-top:0; }
.founder-section p.large-copy { font-size:1.625rem!important; }
.founder-section p:not(.eyebrow):not(.founder-role):not(.large-copy) { font-size:1.125rem; }
.founder-section .button { font-size:0.9375rem; padding:13px 18px; gap:15px; }
.values-section { background:#fff; }
.values-section h2 { max-width:800px; }
.values-section .issue-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; margin-top:42px; }
.values-section .issue-grid article { display:grid; grid-template-columns:60px minmax(0,1fr); gap:0 25px; align-content:start; padding:32px; border:1px solid #e5daed; border-radius:22px; background:#fcf9ff; }
.values-section .issue-grid article:nth-child(2),.values-section .issue-grid article:nth-child(3) { background:#fffdf8; border-color:#e9dfca; }
.values-section .issue-number { grid-column:1; grid-row:1/3; padding:15px 0; margin:0; width:58px; height:58px; border:1px solid #dfd0bb; border-radius:16px; background:#fff; text-align:center; font-size:1.3125rem; }
.values-section .issue-grid h3 { grid-column:2; font-size:1.875rem; }
.values-section .issue-grid p { grid-column:2; margin-top:14px; font-size:1.125rem; }

.firm-statement { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); column-gap:8%; align-items:start; background:#f8f4fc; border-color:#e6dbee; }
.firm-statement>.eyebrow { grid-column:1/-1; font-size:0.8125rem; margin-bottom:31px; }
.firm-statement h2 { grid-column:1; font-size:clamp(2.625rem,4.725vw,4.375rem); line-height:1.09; max-width:700px; }
.firm-statement-bottom { grid-column:2; display:block; margin:0; padding:0 0 0 30px; border-left:1px solid #b99a62; }
.firm-statement-bottom>p { font-size:1.25rem; line-height:1.9; }
.firm-statement-bottom .button { margin-top:25px; font-size:1rem; }

.closing-cta { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:8%; align-items:center; text-align:left; background:linear-gradient(115deg,#f7f2fb,#fffdf8); border-top:1px solid #e8deee; }
.closing-cta>.cta-orbit { display:none; }
.closing-cta .cta-copy { min-width:0; }
.closing-cta .eyebrow { justify-content:flex-start; font-size:0.8125rem; }
.closing-cta h2 { font-size:clamp(2.5625rem,4.725vw,4.25rem); }
.closing-cta .cta-copy>p:not(.eyebrow) { font-size:1.25rem; color:var(--muted); line-height:1.85; max-width:550px; margin:25px 0 0; }
.closing-cta .button-pair { justify-content:flex-start; margin:29px 0 0; gap:12px; }
.closing-cta .button { font-size:1rem; padding:15px 19px; gap:17px; }
.cta-visual { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:34px; min-width:0; min-height:310px; padding:30px 20px; border:1px solid #e1d3e9; border-radius:30px; background:#ffffffae; box-shadow:0 17px 45px #633d8507; }
.cta-visual::before { content:""; position:absolute; left:calc(50% - 105px); top:24px; width:210px; height:210px; border:1px solid #d8c5e570; border-radius:50%; box-shadow:0 0 0 16px #ece3f333; pointer-events:none; }
.cta-seal { display:grid; place-items:center; position:relative; width:145px; height:145px; border:1px solid #c5ad86; border-radius:44px; background:linear-gradient(135deg,#fff,#f3ebf9); color:#78518f; box-shadow:inset 0 0 0 9px #ffffff85; }
.cta-seal .icon { width:56px; height:56px; stroke-width:1; }
.cta-route { position:relative; display:flex; flex-wrap:wrap; gap:9px; align-items:center; justify-content:center; }
.cta-route>span { font-size:0.8125rem; font-weight:600; line-height:1.5; color:#655c70; padding:8px 11px; background:#fff; border:1px solid #dfd2e7; border-radius:30px; }
.cta-route>span+span::before { content:""; display:none; }

@media(min-width:1450px) {
  .practice-card { padding:42px; }
  .practice-card h3 { font-size:2.5rem; }
  .finder-display { padding:48px; }
  .process-panels { padding:45px; }
  .process-panels>[role=tabpanel] { grid-template-columns:140px minmax(0,1fr); gap:42px; }
  .process-number { font-size:6.125rem; }
  .process-panels>[role=tabpanel]>div { gap:0 42px; }
}

@media(max-width:1100px) {
  .practice-card { padding:30px; min-height:315px; }
  .concern-choices>button { padding:17px 15px; font-size:1rem; }
  .concern-choices>button>.icon:last-child { right:13px; }
  .finder-display { padding:34px; }
  .process-tabs button { padding:17px 15px; font-size:1rem; gap:10px; }
  .process-tabs button>.icon { display:none; }
  .process-panels { padding:30px; }
  .process-panels>[role=tabpanel] { grid-template-columns:85px minmax(0,1fr); gap:25px; }
  .process-number { font-size:3.9375rem; padding:23px 0; }
  .process-panels>[role=tabpanel]>div { column-gap:24px; }
  .process-panels blockquote { font-size:1.375rem; padding:45px 20px 25px; }
  .issue-tabs { gap:7px; padding:12px; }
  .issue-tabs button { padding:17px 13px; font-size:1rem; }
  .issue-panels { padding:36px; }
  .issue-panels>[role=tabpanel] { grid-template-columns:85px minmax(0,1fr); column-gap:27px; }
  .issue-ordinal { font-size:2.5625rem; height:100px; padding:24px 6px; }
  .prepare-section { gap:5%; }
  .document-checklist { padding:22px; }
  .document-checklist>label { padding:16px; font-size:1rem; }
  .faq-section { column-gap:5%; }
  .faq-list summary { font-size:1.125rem; padding:20px; gap:10px; }
  .faq-list p { padding-left:57px; }
  .related-card { padding:23px; }
  .related-card h3 { font-size:1.625rem; }
  .expectation-grid { gap:16px; }
  .expectation-grid>div { padding:26px; }
  .founder-section:has(>.founder-emblem) { grid-template-columns:minmax(0,.7fr) minmax(0,1fr); gap:25px 6%; }
  .founder-section:has(>.founder-emblem)>div:not(.founder-emblem):first-child { grid-column:2; grid-row:1; align-self:end; }
  .founder-section:has(>.founder-emblem)>div:not(.founder-emblem):nth-child(2) { grid-column:2; grid-row:2; }
  .founder-emblem { grid-column:1; grid-row:1/3; aspect-ratio:1/1.2; min-height:300px; }
  .founder-section h2 { font-size:2.75rem; }
  .values-section .issue-grid article { padding:26px; grid-template-columns:45px minmax(0,1fr); column-gap:22px; }
  .values-section .issue-number { width:45px; height:45px; padding:10px 0; font-size:1.125rem; border-radius:13px; }
  .values-section .issue-grid h3 { font-size:1.8125rem; }
  .closing-cta { gap:5%; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); }
  .closing-cta .button { font-size:0.9375rem; padding:13px 16px; }
  .cta-visual { padding-inline:14px; }
}

@media(max-width:850px) {
  .practice-grid { gap:16px; }
  .practice-card { padding:27px; }
  .practice-card p { font-size:1.125rem; }
  .finder-selection { padding:25px; }
  .concern-choices { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .concern-choices>button { min-height:83px; flex-direction:row; align-items:center; padding:18px; gap:13px; font-size:1.0625rem; }
  .concern-choices>button>.icon:last-child { position:static; margin-left:auto; flex:none; }
  .finder-display #finder-result { gap:18px 6%; }
  #finder-result h3 { font-size:2rem; }
  #finder-result h4 { font-size:1.0625rem; }
  #finder-result #finder-description { font-size:1.125rem; }
  #finder-result .finder-actions { flex-direction:column; align-items:flex-start; }
  .process-panels>[role=tabpanel]>div { display:block; }
  .process-panels blockquote { margin-top:23px; padding:22px 23px 22px 52px; font-size:1.375rem; }
  .process-panels blockquote::before { left:15px; top:15px; font-size:3.4375rem; }
  .process-panels .button { margin-top:19px; }
  .detail-intro .section-top { grid-template-columns:1fr; gap:22px; }
  .detail-intro .section-top>p { padding:0; font-size:1.1875rem; max-width:850px; }
  .issue-tabs { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .issue-tabs button { min-height:90px; font-size:1.0625rem; }
  .prepare-section { grid-template-columns:1fr; gap:32px; }
  .prepare-section>div:first-child { max-width:650px; padding:0; }
  .document-checklist>label { min-height:129px; font-size:1.0625rem; }
  .faq-section { grid-template-columns:1fr; gap:28px; }
  .faq-section>div:first-child { position:static; }
  .faq-section h2 { max-width:700px; }
  .faq-section>.eyebrow,.faq-section>h2 { grid-column:1; grid-row:auto; }
  .faq-section:has(>h2)>.faq-list { grid-column:1; grid-row:auto; }
  .faq-section>.eyebrow { margin-bottom:-13px; }
  .resource-links { grid-column:1; margin-top:-7px; }
  .related-grid { grid-template-columns:1fr; }
  .related-card { display:grid; grid-template-columns:52px minmax(0,1fr); column-gap:18px; }
  .related-card>.icon { grid-column:1; grid-row:1/4; margin:0; }
  .related-card h3,.related-card p,.related-card>span:last-child { grid-column:2; }
  .related-card p { margin:11px 0 19px; }
  .related-grid:has(>.related-card:nth-child(4)) { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .related-grid:has(>.related-card:nth-child(4)) .related-card { display:flex; }
  .related-grid:has(>.related-card:nth-child(4)) .related-card>.icon { margin-bottom:21px; }
  .expectation-grid { grid-template-columns:1fr; gap:14px; }
  .expectation-grid>div { display:grid; grid-template-columns:40px minmax(0,1fr); gap:0 22px; padding:26px; }
  .expectation-grid>div::before { grid-column:1; grid-row:1/3; margin:0; }
  .expectation-grid h3,.expectation-grid p { grid-column:2; }
  .expectation-grid p { margin-top:10px; }
  .about-intro { grid-template-columns:1fr; gap:30px; }
  .about-intro>div:last-child { padding-left:25px; }
  .about-intro p.large-copy { font-size:1.5rem; }
  .values-section .issue-grid article { display:block; padding:27px; }
  .values-section .issue-number { margin-bottom:23px; }
  .values-section .issue-grid h3 { font-size:1.8125rem; }
  .firm-statement { grid-template-columns:1fr; }
  .firm-statement h2 { font-size:3.375rem; }
  .firm-statement-bottom { grid-column:1; margin-top:31px; padding-left:23px; }
  .closing-cta { grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr); gap:30px; }
  .closing-cta h2 { font-size:2.875rem; }
  .closing-cta .button-pair { flex-direction:column; align-items:flex-start; max-width:none; }
  .cta-visual { min-height:270px; padding:25px 12px; }
  .cta-visual::before { width:158px; height:158px; left:calc(50% - 79px); top:32px; }
  .cta-seal { width:120px; height:120px; border-radius:35px; }
  .cta-seal .icon { width:49px; height:49px; }
  .cta-route { gap:6px; }
  .cta-route>span { font-size:0.8125rem; padding:6px 10px; }
}

@media(max-width:600px) {
  .practice-grid { grid-template-columns:1fr; gap:15px; }
  .practice-card { min-height:0; padding:26px; border-radius:21px; }
  .practice-card-top { margin-bottom:26px; }
  .practice-card-top>.icon { width:47px; height:47px; padding:11px; border-radius:14px; }
  .practice-card h3 { font-size:2rem; }
  .practice-card p { font-size:1.125rem; margin:15px 0 24px; }
  .practice-card .card-link { max-width:none; padding-top:15px; }
  .finder-shell { border-radius:22px; }
  .finder-selection { padding:23px 20px; }
  .finder-selection .micro-label { font-size:0.8125rem; }
  .concern-choices { gap:9px; margin-top:17px; }
  .concern-choices>button { flex-direction:column; align-items:flex-start; min-height:118px; gap:15px; padding:15px; font-size:0.9375rem; border-radius:13px; }
  .concern-choices>button>.icon:first-child { width:21px; height:21px; }
  .concern-choices>button>.icon:last-child { position:absolute; top:18px; right:11px; width:14px; height:14px; }
  .finder-selection>p { font-size:0.875rem; }
  .finder-display { padding:29px 24px; min-height:0; }
  #finder-welcome { grid-template-columns:1fr; gap:0; padding:0; }
  #finder-welcome .finder-symbol { grid-column:1; grid-row:1; justify-self:start; margin:14px 0 33px 13px; width:56px; height:56px; border-radius:17px; box-shadow:0 0 0 10px #f3ebf9,0 0 0 11px #e7daef,0 0 0 19px #faf7fd; }
  #finder-welcome .finder-symbol .icon { width:28px; height:28px; }
  #finder-welcome .eyebrow,#finder-welcome h3,#finder-welcome>p:not(.eyebrow),#finder-welcome .signal-lines { grid-column:1; }
  #finder-welcome h3 { font-size:2.125rem; }
  #finder-welcome>p:not(.eyebrow) { font-size:1.125rem; }
  #finder-result h3 { font-size:2.0625rem; }
  .finder-display #finder-result { display:block; }
  #finder-result .micro-label { margin-bottom:18px; }
  #finder-result #finder-description { margin-top:17px; }
  #finder-result h4 { margin:24px 0 13px; }
  #finder-result li { font-size:1rem; padding:12px; }
  #finder-result .finder-actions { margin-top:25px; align-items:stretch; }
  #finder-result .finder-actions .button { font-size:0.9375rem; }
  #finder-result .finder-actions .button-text { align-self:flex-start; }
  #finder-result .small-note { font-size:0.875rem; margin-top:20px; }
  .process-tabs { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-bottom:13px; }
  .process-tabs button { display:flex; flex-direction:column; align-items:flex-start; gap:11px; min-height:130px; padding:13px 12px; font-size:0.875rem; line-height:1.45; border-radius:14px; }
  .process-tabs button>span { width:29px; height:29px; font-size:0.8125rem; }
  .process-tabs button>strong { font-weight:600; }
  .process-tabs button>.icon { display:none; }
  .process-panels { padding:25px 22px; border-radius:21px; min-height:0; }
  .process-panels>[role=tabpanel] { display:block; }
  .process-number { display:none; }
  .process-panels .eyebrow { font-size:0.8125rem; margin-bottom:17px; }
  .process-panels h3 { font-size:2.0625rem; max-width:100%; }
  .process-panels p:not(.eyebrow) { font-size:1.125rem; }
  .process-panels blockquote { font-size:1.3125rem; padding:24px 20px 23px 43px; border-radius:14px; }
  .process-panels blockquote::before { top:16px; left:11px; font-size:3.1875rem; }
  .process-panels .button { font-size:0.9375rem; }
  .detail-intro .section-top { gap:21px; margin-bottom:30px; }
  .detail-intro h2 { font-size:2.3125rem; }
  .detail-intro .section-top>p { font-size:1.1875rem; line-height:1.85; }
  .issue-workspace { border-radius:22px; }
  .issue-tabs { gap:8px; padding:11px; }
  .issue-tabs button { padding:15px 12px; min-height:119px; font-size:0.9375rem; gap:11px; border-radius:12px; }
  .issue-tabs button>.icon { right:12px; top:18px; width:13px; height:13px; }
  .issue-tabs button>span { font-size:0.8125rem; }
  .issue-panels { padding:28px 24px; min-height:0; }
  .issue-panels>[role=tabpanel] { display:block; }
  .issue-ordinal { display:inline-grid; place-items:center; width:43px; height:43px; padding:0; font-size:1.125rem; border-radius:12px; margin-bottom:22px; }
  .issue-panels h3 { font-size:1.875rem; }
  .issue-panels p { font-size:1.1875rem; line-height:1.85; margin:17px 0 23px; }
  .issue-panels .text-link { font-size:0.9375rem; }
  .prepare-section { gap:31px; }
  .prepare-section h2 { font-size:2.375rem; }
  .prepare-section>div:first-child>p:not(.eyebrow) { font-size:1.1875rem; margin-top:22px; }
  .prepare-section .text-link { font-size:1rem; }
  .document-checklist { padding:21px; border-radius:21px; gap:10px; }
  .checklist-label { flex-wrap:wrap; font-size:0.8125rem; gap:9px; }
  .document-checklist>label { padding:16px; font-size:1rem; min-height:156px; gap:12px; border-radius:13px; }
  .document-checklist .small-note { font-size:0.875rem; margin-top:6px; }
  .faq-section { gap:29px; }
  .faq-section h2 { font-size:2.375rem; }
  .faq-list { gap:11px; }
  .faq-list details { border-radius:15px; }
  .faq-list summary { font-size:1.125rem; grid-template-columns:22px minmax(0,1fr) 18px; padding:20px 18px; gap:10px; }
  .faq-list summary::before { font-size:0.8125rem; }
  .faq-list summary .icon { width:17px; height:17px; }
  .faq-list p { font-size:1.0625rem; padding:0 20px 22px; line-height:1.9; }
  .resource-links { font-size:0.875rem; line-height:1.8; }
  .related-section .section-top { display:block; padding-bottom:25px; margin-bottom:25px; }
  .related-section .section-top>.eyebrow { margin-bottom:20px; max-width:none; }
  .related-section h2 { text-align:left; font-size:2.3125rem; }
  .related-grid,.related-grid:has(>.related-card:nth-child(4)) { grid-template-columns:1fr; gap:13px; }
  .related-card,.related-grid:has(>.related-card:nth-child(4)) .related-card { display:grid; padding:24px; grid-template-columns:43px minmax(0,1fr); gap:0 16px; }
  .related-card>.icon,.related-grid:has(>.related-card:nth-child(4)) .related-card>.icon { width:40px; height:40px; padding:9px; margin:0; }
  .related-card h3 { font-size:1.6875rem; }
  .related-card p { font-size:1.0625rem; }
  .related-card>span:last-child { font-size:0.875rem; }
  .expectation-band h2 { font-size:2.375rem; }
  .expectation-grid { margin-top:29px; }
  .expectation-grid>div { padding:24px; gap:0 16px; border-radius:19px; }
  .expectation-grid h3 { font-size:1.75rem; }
  .expectation-grid p { font-size:1.0625rem; line-height:1.9; }
  .about-intro { gap:29px; }
  .about-intro h2 { font-size:2.4375rem; }
  .about-intro>div:last-child { padding-left:20px; }
  .about-intro p.large-copy { font-size:1.4375rem; }
  .about-intro p:not(.eyebrow):not(.large-copy) { font-size:1.125rem; }
  .about-intro .text-link { font-size:1rem; }
  .founder-section,.founder-section:has(>.founder-emblem) { grid-template-columns:1fr; gap:27px; }
  .founder-section:has(>.founder-emblem)>div:not(.founder-emblem):first-child { grid-column:1; grid-row:2; align-self:auto; }
  .founder-section:has(>.founder-emblem)>div:not(.founder-emblem):nth-child(2) { grid-column:1; grid-row:3; }
  .founder-emblem { grid-column:1; grid-row:1; width:100%; min-height:0; height:245px; aspect-ratio:auto; border-radius:85px 85px 20px 20px; }
  .founder-emblem::before { border-radius:68px 68px 10px 10px; }
  .founder-emblem::after { border-radius:61px 61px 9px 9px; }
  .founder-emblem>span { font-size:4.5rem; }
  .founder-emblem>small { margin-top:19px; }
  .founder-section h2 { font-size:2.6875rem; }
  .founder-section .eyebrow { margin-bottom:17px; }
  .founder-section p.large-copy { font-size:1.625rem!important; margin-bottom:20px; }
  .founder-section p:not(.eyebrow):not(.founder-role):not(.large-copy) { font-size:1.125rem; }
  .values-section h2 { font-size:2.4375rem; }
  .values-section .issue-grid { grid-template-columns:1fr; gap:14px; margin-top:31px; }
  .values-section .issue-grid article { display:grid; grid-template-columns:44px minmax(0,1fr); gap:0 19px; padding:25px; border-radius:20px; }
  .values-section .issue-number { margin:0; width:43px; height:43px; font-size:1.0625rem; padding:10px 0; }
  .values-section .issue-grid h3 { font-size:1.8125rem; }
  .values-section .issue-grid p { font-size:1.0625rem; margin-top:12px; }
  .firm-statement>.eyebrow { margin-bottom:24px; }
  .firm-statement h2 { font-size:2.6875rem; }
  .firm-statement-bottom { padding-left:20px; margin-top:28px; }
  .firm-statement-bottom>p { font-size:1.1875rem; }
  .firm-statement-bottom .button { margin-top:20px; font-size:0.9375rem; }
  .closing-cta { grid-template-columns:1fr; gap:32px; padding-top:65px; padding-bottom:65px; }
  .closing-cta h2 { font-size:2.6875rem; }
  .closing-cta .cta-copy>p:not(.eyebrow) { font-size:1.1875rem; margin-top:23px; }
  .closing-cta .button-pair { margin:26px 0 0; align-items:stretch; max-width:400px; gap:10px; }
  .closing-cta .button { font-size:1rem; justify-content:space-between; padding:15px 18px; }
  .cta-visual { flex-direction:row; gap:30px; padding:26px; min-height:200px; border-radius:24px; }
  .cta-visual::before { width:143px; height:143px; top:calc(50% - 72px); left:12px; box-shadow:0 0 0 10px #ece3f333; }
  .cta-seal { width:113px; height:113px; min-width:113px; border-radius:31px; }
  .cta-seal .icon { width:47px; height:47px; }
  .cta-route { flex-direction:column; align-items:flex-start; gap:9px; }
  .cta-route>span { font-size:0.8125rem; padding:7px 10px; }
}

@media(max-width:380px) {
  .practice-card { padding:23px; }
  .practice-card h3 { font-size:1.875rem; }
  .finder-selection { padding:22px 17px; }
  .concern-choices>button { padding:14px 12px; font-size:0.875rem; min-height:116px; }
  .finder-display { padding:28px 21px; }
  .process-tabs { gap:6px; }
  .process-tabs button { padding:13px 10px; font-size:0.8125rem; min-height:128px; }
  .process-panels { padding:25px 20px; }
  .process-panels h3 { font-size:1.875rem; }
  .issue-tabs { padding:9px; gap:7px; }
  .issue-tabs button { font-size:0.875rem; padding:15px 11px; min-height:112px; }
  .issue-panels { padding:25px 20px; }
  .issue-panels h3 { font-size:1.8125rem; }
  .document-checklist { grid-template-columns:1fr; padding:20px; }
  .document-checklist>label { flex-direction:row; align-items:center; min-height:0; padding:15px; font-size:1rem; }
  .checklist-label { font-size:0.8125rem; }
  .faq-list summary { padding:18px 15px; font-size:1.0625rem; grid-template-columns:19px minmax(0,1fr) 16px; gap:8px; }
  .related-card,.related-grid:has(>.related-card:nth-child(4)) .related-card { padding:21px; grid-template-columns:1fr; }
  .related-card>.icon,.related-grid:has(>.related-card:nth-child(4)) .related-card>.icon { grid-column:1; grid-row:1; margin-bottom:20px; }
  .related-card h3,.related-card p,.related-card>span:last-child { grid-column:1; }
  .expectation-grid>div { padding:23px 20px; column-gap:12px; }
  .values-section .issue-grid article { padding:23px 20px; column-gap:15px; }
  .values-section .issue-grid h3 { font-size:1.6875rem; }
  .firm-statement h2 { font-size:2.4375rem; }
  .closing-cta h2 { font-size:2.4375rem; }
  .cta-visual { padding:24px 20px; gap:23px; }
  .cta-seal { width:98px; min-width:98px; height:98px; border-radius:28px; }
  .cta-visual::before { width:127px; height:127px; left:5px; top:calc(50% - 64px); }
  .cta-route>span { font-size:0.8125rem; padding:7px 9px; }
}

@media(prefers-reduced-motion:reduce) {
  .practice-card,.practice-card::after,.practice-card .card-link .icon,.document-checklist>label { transition:none; }
}
@media print {
  .finder-shell,.practice-card,.document-checklist,.faq-list details,.related-card,.expectation-grid>div,.values-section .issue-grid article { box-shadow:none; break-inside:avoid; }
  .process-tabs,.issue-tabs,.cta-visual,.founder-emblem { display:none!important; }
  .process-panels>[role=tabpanel],.process-panels>[role=tabpanel]>div,.issue-panels>[role=tabpanel],.firm-statement,.closing-cta { display:block; }
  .process-number { display:none; }
  .process-panels blockquote { margin-top:20px; }
  .issue-ordinal { width:50px;height:50px;padding:6px;font-size:1.625rem; }
  .firm-statement-bottom { margin-top:24px; }
  .faq-list details>div { display:block!important; }
}
