.engagement-section { background: var(--paper-bright); }
.engagement-section .section-intro h2,.sample-section h2,.faq-section h2 { max-width: 18ch; font-size: clamp(2rem,4.1vw,3.6rem); line-height:1.06; letter-spacing:-.035em; margin:0 0 1rem; }
.engagement-steps { list-style:none; counter-reset:engagement; margin:2.5rem 0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.6rem; }
.engagement-steps li { counter-increment:engagement; border-top:1px solid var(--line); padding-top:1rem; }
.engagement-steps li::before { content:counter(engagement); color:var(--blue); font-weight:700; }
.engagement-steps h3 { font-size:1.1rem; margin:.6rem 0; }
.engagement-steps p { color:var(--muted); margin:0; }
.payment-layout { display:grid; grid-template-columns:.65fr 1.35fr; gap:2rem; padding:1.5rem 0; border-top:1px solid var(--ink); }
.payment-layout h3 { margin:0; font-size:1.3rem; letter-spacing:-.02em; }
.payment-layout dl { margin:0; }
.payment-layout dl>div { display:grid; grid-template-columns:170px minmax(0,1fr); gap:1rem; padding:.8rem 0; border-bottom:1px solid var(--line); }
.payment-layout dt { font-weight:650; }
.payment-layout dd { margin:0; color:var(--muted); }
.sample-section { display:grid; grid-template-columns:1fr .9fr; gap:clamp(2rem,6vw,6rem); align-items:center; }
.sample-copy>p { max-width:65ch; color:var(--muted); }
.sample-disclosure { font-size:.9rem; }
.sample-copy>.button { margin:1rem 0 .5rem; }
.sample-copy .text-link { font-size:.84rem; }
.sample-sheet { background:white; padding:2rem; border:1px solid var(--line); }
.sample-sheet-top { display:flex; justify-content:space-between; gap:1rem; font-size:.76rem; color:var(--muted); padding-bottom:.8rem; border-bottom:2px solid var(--blue); }
.sample-sheet h3 { font-size:1.6rem; line-height:1.2; letter-spacing:-.025em; }
.sample-figure { display:grid; grid-template-columns:auto 1fr; gap:1rem; align-items:center; }
.sample-figure strong { color:var(--blue); font-size:2.2rem; letter-spacing:-.03em; font-variant-numeric:tabular-nums; }
.sample-figure span { font-size:.78rem; color:var(--muted); }
.sample-sheet ol { padding-left:1.2rem; font-size:.9rem; }
.sample-sheet li { padding:.4rem 0; }
.sample-sheet>p { font-size:.72rem; border-top:1px solid var(--line); padding-top:.8rem; color:var(--muted); }
.faq-section { display:grid; grid-template-columns:.7fr 1.3fr; gap:clamp(2rem,6vw,6rem); background:var(--paper-bright); }
.faq-list { border-top:1px solid var(--ink); }
.faq-list details { border-bottom:1px solid var(--line); }
.faq-list summary { padding:1.1rem 1.8rem 1.1rem 0; cursor:pointer; font-weight:650; position:relative; list-style:none; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary::after { content:'+'; position:absolute; right:.25rem; top:1rem; color:var(--blue); font-size:1.3rem; }
.faq-list details[open] summary::after { content:'−'; }
.faq-list details[open] summary { color:var(--blue); }
.faq-list details p { margin:0 0 1.2rem; max-width:70ch; color:var(--muted); }
.enquiry-form input:not([type=checkbox]),.enquiry-form select,.enquiry-form textarea { width:100%; font-size:1rem; padding:.7rem .8rem; border:1px solid #a9b8ec; background:#fff; color:var(--ink); border-radius:0; }
.enquiry-form h3 { margin-top:0; font-size:1.25rem; }
.enquiry-form label>span { font-weight:400; }
.contact-trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.privacy-summary { margin:1rem 0 .7rem; font-size:.78rem; color:#ecf0ff; line-height:1.6; }
.privacy-summary p { margin:0; }
.privacy-read { display:flex; gap:.65rem; align-items:center; min-height:44px; font-weight:400!important; font-size:.85rem!important; }
.privacy-read input { width:18px; height:18px; flex:0 0 auto; accent-color:var(--orange); margin:.2rem 0 0; }
.enquiry-form button:disabled { opacity:.65; cursor:not-allowed; }
.contact-copy>p { overflow-wrap:anywhere; }
.footer-links { display:flex; flex-wrap:wrap; gap:.8rem; font-size:.78rem; }
.document-header { max-width:1100px; margin:auto; display:flex; justify-content:space-between; align-items:center; padding:1.3rem 2rem; border-bottom:1px solid var(--line); gap:1rem; }
.document-main { max-width:950px; margin:0 auto; padding:3.5rem 2rem 5rem; }
.document-main h1 { max-width:none; font-size:clamp(2.4rem,5vw,3.8rem); line-height:1.07; letter-spacing:-.035em; }
.document-main h2 { margin:2rem 0 .7rem; font-size:1.35rem; line-height:1.3; letter-spacing:-.015em; }
.document-main h3 { margin:1.3rem 0 .5rem; }
.document-main p,.document-main li { max-width:75ch; }
.document-main p { color:var(--muted); }
.document-main address { font-style:normal; }
.document-main dl>div { padding:.7rem 0; border-bottom:1px solid var(--line); }
.document-main dt { font-weight:650; }
.document-main dd { margin:.2rem 0 0; overflow-wrap:anywhere; }
.document-notice { background:#fff5df; border:1px solid #d7bf80; padding:1rem; color:#51401b!important; margin:1.5rem 0; }
.document-main table { width:100%; border-collapse:collapse; font-variant-numeric:tabular-nums; }
.document-main th,.document-main td { padding:.65rem .5rem; border-bottom:1px solid var(--line); text-align:right; white-space:nowrap; }
.document-main th:first-child,.document-main td:first-child { text-align:left; }
.document-main thead { background:#e3e8dc; }
.document-table { max-width:100%; overflow:auto; }
.sample-meta { font-size:.9rem; color:var(--muted); }
@media(max-width:950px) { .site-header { position:relative; z-index:3; }.menu-toggle{display:block}.site-nav{display:none;position:absolute;left:0;right:0;top:75px;padding:.75rem 1rem 1rem;background:var(--paper-bright);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:.15rem}.site-nav.is-open{display:flex}.site-nav a{padding:.65rem .3rem}.engagement-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.faq-section{grid-template-columns:1fr;gap:1.5rem}.sample-section{grid-template-columns:1fr}.sample-sheet{max-width:600px;width:100%;justify-self:end}.payment-layout{grid-template-columns:1fr;gap:1rem} }
@media(max-width:650px) { .site-nav{top:63px}.engagement-steps{grid-template-columns:1fr;gap:1rem}.payment-layout dl>div{grid-template-columns:1fr;gap:.3rem}.sample-sheet{padding:1.2rem}.sample-figure{grid-template-columns:1fr;gap:.15rem}.sample-sheet h3{font-size:1.35rem}.sample-sheet-top{font-size:.7rem}.document-header{padding:1rem}.document-main{padding:2.5rem 1rem 3.5rem}.privacy-summary{font-size:.83rem} }
@media print { .document-header,.document-main .button,[data-legal-preview]{display:none!important}.document-main{padding:0;max-width:none}.document-main h1{font-size:24pt}.document-main table{font-size:9pt} }
.privacy-summary,.privacy-read,.enquiry-form label,.form-status { font-size:.875rem!important; }
.faq-list summary::before,.faq-list summary::after { content:""; position:absolute; right:.25rem; top:1.7rem; width:12px; height:1.5px; background:var(--blue); }
.faq-list summary::after { transform:rotate(90deg); }
.faq-list details[open] summary::after { content:""; transform:rotate(0); }
.faq-list summary:hover { color:var(--blue); }
.faq-list summary:focus-visible { outline-color:var(--blue); }
.contact-section :focus-visible { outline-color:white; }
.enquiry-form .privacy-read { display:flex; gap:.65rem; align-items:center; }

.conversation-price { margin:.8rem 0 1.5rem; font-size:clamp(1.35rem,2.3vw,1.8rem); font-weight:650; letter-spacing:-.025em; }
.service-main .tool-delivery { margin-top:.8rem; }
.service-action { margin-top:1rem; }
.projects-section { background:var(--paper-bright); }
.projects-section h2 { max-width:20ch; }
.project-list { margin-top:2.8rem; border-top:1px solid var(--ink); }
.project-row { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(1.5rem,5vw,5rem); padding:2.2rem 0; border-bottom:1px solid var(--line); }
.project-purpose h3 { margin:0 0 .5rem; font-size:clamp(1.5rem,2.8vw,2.3rem); line-height:1.15; letter-spacing:-.03em; }
.project-purpose>p { margin:0 0 1.4rem; max-width:30ch; color:var(--muted); }
.project-purpose .text-link { display:block; max-width:100%; }
.link-context { display:block; margin-top:.3rem; font-size:.8rem; font-weight:400; }
.project-detail>p { margin:0; max-width:65ch; color:var(--muted); }
.project-detail ul { padding-left:1.2rem; margin:1rem 0; }
.project-detail li { padding:.2rem 0; }
.project-detail .project-disclosure { font-size:.85rem; }
.tool-approach { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:1rem clamp(1.5rem,5vw,5rem); margin-top:2.4rem; }
.tool-approach h3 { margin:0; max-width:24ch; font-size:1.25rem; line-height:1.3; }
.tool-approach p { margin:0; max-width:65ch; color:var(--muted); }
.tool-approach .button { grid-column:2; justify-self:start; margin-top:.5rem; }
@media(max-width:1100px) { .site-header { position:relative; z-index:3; }.menu-toggle{display:block}.site-nav{display:none;position:absolute;left:0;right:0;top:75px;padding:.75rem 1rem 1rem;background:var(--paper-bright);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:.15rem}.site-nav.is-open{display:flex}.site-nav a{padding:.65rem .3rem} }
@media(max-width:650px) { .site-nav{top:63px}.project-row,.tool-approach{grid-template-columns:1fr;gap:1.2rem}.project-row{padding:1.7rem 0}.project-purpose>p{margin-bottom:1rem}.tool-approach .button{grid-column:1}.project-detail>p,.project-detail li{font-size:.95rem} }
