:root{--ink:#452332;--text:#654f58;--paper:#fcf9f5;--pink:#f2dce3;--accent:#873754;--line:#45233226;--serif:'DM Serif Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.7 var(--sans)}a{color:inherit;text-underline-offset:5px}a:hover{text-decoration-thickness:2px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}::selection{background:var(--pink)}img{max-width:100%}h1,h2,h3,h1 *,h2 *,h3 *{font-style:normal}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.025em;line-height:1.12}h2{font-size:clamp(32px,3.6vw,46px);margin:18px 0 24px}h3{font-size:22px;font-weight:500;line-height:1.3;letter-spacing:-.02em}p{margin:0 0 20px;color:var(--text)}.site-shell{max-width:1600px;margin:auto}.nav{max-width:1240px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:15px 42px;gap:24px;min-height:108px}.logo{width:164px;height:76px;object-fit:contain;display:block}.nav nav{display:flex;align-items:center;gap:28px}.nav a{text-decoration:none;font-size:14px;font-weight:500}.nav nav>a:not(.pill):hover{text-decoration:underline}.pill{display:inline-flex;align-items:center;justify-content:center;gap:20px;border:1px solid var(--ink);padding:12px 20px;border-radius:3px;font:500 14px/1.5 var(--sans);text-decoration:none;transition:background-color .2s,color .2s}.pill span{font-size:21px}.pill:hover{background:var(--ink);color:var(--paper)}.primary,.hero-cta{background:var(--ink);color:var(--paper)}.primary:hover,.hero-cta:hover{background:var(--accent);border-color:var(--accent)}.eyebrow,.label{font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:600;display:block;line-height:1.7}.section{max-width:1240px;margin:0 auto;padding:74px 42px}.home-hero{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1.25fr .9fr;gap:70px;padding:46px 42px 70px;align-items:center}.hero-copy h1{font-size:clamp(48px,5.8vw,74px);margin:24px 0}.hero-copy h1 span{color:var(--accent)}.hero-copy>p{max-width:530px;font-size:18px;line-height:1.75}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin:30px 0}.text-link{font-size:14px;font-weight:500}.hero-copy .hero-note{font-size:12px;margin-top:26px}.hero-portrait{margin:0;position:relative}.hero-portrait img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 35%;display:block}.hero-portrait figcaption{font-size:12px;padding:14px 0;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between}.hero-portrait figcaption span{color:var(--text)}.section-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:70px;align-items:end;margin-bottom:30px}.section-heading h2{margin-bottom:0}.section-heading>p{font-size:16px;margin:0;max-width:380px}.services{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:35px 1fr 1.2fr 30px;gap:24px;border-top:1px solid var(--line);padding:27px 0;align-items:start}.service-row:last-child{border-bottom:1px solid var(--line)}.service-index{font-size:11px;color:var(--accent);padding-top:5px}.service-row h3{margin:0;font-size:23px}.service-row h3 a{text-decoration:none}.service-row h3 a:hover{text-decoration:underline}.service-row p{font-size:15px;margin:0;line-height:1.7;max-width:450px}.service-arrow{font-size:25px;text-decoration:none;line-height:1.2;text-align:right}.about{display:grid;grid-template-columns:.9fr 1.25fr;gap:85px;align-items:center;background:#f4eee8}.about-image{margin:0}.about-image img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover}.about-image figcaption{font-size:12px;margin-top:12px;color:var(--text)}.about-copy p{font-size:16px}.portfolio-request{border-top:1px solid var(--line);padding-top:20px;margin-top:26px}.portfolio-note{display:block;color:var(--text);font-size:12px;margin-top:8px}.testimonials{padding-bottom:60px}.quote-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.quote-grid figure{margin:0;border-top:1px solid var(--line);padding-top:25px}blockquote{margin:0}.quote-grid blockquote p{font-size:17px;line-height:1.8}.quote-grid figcaption{display:flex;flex-direction:column;font-size:13px;gap:2px}.quote-grid figcaption strong{font-weight:600}.quote-grid figcaption span{color:var(--text)}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;font-size:16px;font-weight:500;padding:22px 30px 22px 0;position:relative;line-height:1.5}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:0;top:20px;font-size:22px;font-weight:400}details[open]>summary:after{content:'−'}details>div,details>blockquote{padding-bottom:20px}.full-quote{margin-top:15px;border:0}.full-quote summary{font-size:12px;text-decoration:underline;text-underline-offset:4px;padding:10px 30px 10px 0}.full-quote summary:after{top:6px}.full-quote blockquote p{font-size:14px;margin-top:8px}.resources{display:grid;grid-template-columns:1.3fr 1fr;gap:70px;background:var(--pink)}.resources h2{font-size:36px;max-width:520px}.resource-link{display:flex;justify-content:space-between;align-items:start;gap:24px;padding-top:20px;border-top:1px solid var(--line);text-decoration:none}.resource-link h3{font-size:18px;margin:0 0 8px}.resource-link p{font-size:14px;margin:0}.resource-link>span{font-size:25px}.resource-link:hover h3{text-decoration:underline}.resources aside{border-left:1px solid var(--line);padding-left:40px}.resources aside h3{font-size:20px;margin:16px 0}.resources aside p{font-size:14px}.coming{font-size:12px;color:var(--text)}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.faq h2{margin-top:16px}.faq-answers{border-top:1px solid var(--line)}.faq-answers p{font-size:15px;line-height:1.75;margin-bottom:0}.closing{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;background:var(--ink);color:var(--paper);align-items:center}.closing h2{font-size:50px;margin:18px 0 20px}.closing p{color:#eee2e6;font-size:16px;margin:0}.contact-block{display:grid;gap:12px}.contact-block>a{font-size:clamp(18px,2.3vw,27px);text-decoration:none;padding-bottom:15px;border-bottom:1px solid #ffffff40}.contact-block>a:hover{text-decoration:underline}.contact-block>a span{float:right}.contact-block>span{font-size:12px;color:#e2cbd4}footer{max-width:1240px;margin:auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:25px;padding:25px 42px;font-size:12px}.footer-brand{display:flex;align-items:center;gap:25px}.footer-brand img{display:block;width:112px;height:52px;object-fit:contain}.footer-brand span{color:var(--text)}footer nav{display:flex;gap:20px}.skip{position:absolute;top:-100px;left:20px;z-index:40;padding:10px;background:var(--ink);color:white}.skip:focus{top:10px}
/* Detailed service and resource pages. */
.detail-hero{background:var(--pink);padding-top:28px;padding-bottom:48px}.breadcrumbs{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--text);margin-bottom:28px}.detail-hero h1{font-size:clamp(40px,5vw,64px);margin:20px 0 25px}.detail-intro{font-size:18px;max-width:740px;margin-bottom:26px}.detail-layout{display:grid;grid-template-columns:.7fr 1.4fr;gap:80px;align-items:start}.detail-aside img{width:100%;height:auto;display:block}.detail-aside p{font-size:13px;margin-top:12px}.related-links{display:grid;gap:16px;margin-top:28px;padding-top:22px;border-top:1px solid var(--line);font-size:14px}.detail-content{min-width:0}.detail-content section{border-bottom:1px solid var(--line);padding-bottom:30px;margin-bottom:35px}.detail-content section:last-child{border:0;margin-bottom:0}.detail-content h2{font-size:34px;margin-top:0}.detail-content h3{font-size:20px;margin:26px 0 12px}.detail-content p,.detail-content li{font-size:16px;line-height:1.8}.detail-content ul,.detail-content ol{padding-left:24px;margin:22px 0}.detail-content li{padding-left:5px;margin:12px 0;color:var(--text)}.detail-content strong{font-weight:600;color:var(--ink)}.detail-layout+.closing{display:block;text-align:left}.detail-layout+.closing .contact-pill{margin-top:25px;background:var(--paper);color:var(--ink)}.article-meta{font-size:12px!important;padding-bottom:18px;border-bottom:1px solid var(--line)}.contents{display:grid;gap:10px;font-size:14px;margin:25px 0 40px}.inline-testimonial{margin:20px 0}.inline-testimonial figcaption{font-size:13px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px;text-align:left;line-height:1.6}caption{font-size:12px;text-align:left;padding-bottom:10px}th,td{padding:14px 10px;border-bottom:1px solid var(--line);vertical-align:top}th{font-weight:500}thead{background:#f4eee8}.privacy-content{max-width:900px}
/* Analysis consent: equal choices and a persistent settings link. */
.analytics-consent{position:fixed;bottom:20px;left:20px;right:20px;max-width:1000px;margin:auto;z-index:30;display:flex;align-items:center;gap:28px;padding:24px;background:var(--paper);color:var(--ink);border:1px solid var(--ink);box-shadow:0 8px 32px #45233220}.analytics-consent h2{font:500 20px/1.3 var(--sans);margin:0 0 10px;letter-spacing:-.02em}.analytics-consent p{font-size:13px;line-height:1.6;margin:0;max-width:620px}.consent-actions{display:flex;gap:10px;flex-shrink:0}.consent-actions button{font:500 13px/1.4 var(--sans);background:var(--paper);color:var(--ink);border:1px solid var(--ink);border-radius:3px;padding:12px 15px;cursor:pointer}.consent-actions button:hover{background:var(--pink)}.analytics-settings{background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:underline;text-underline-offset:5px;cursor:pointer}
@media(max-width:1000px){.home-hero{gap:40px}.hero-copy h1{font-size:56px}.hero-actions{gap:16px}.section-heading,.quote-grid,.resources{gap:40px}.about{gap:45px}.service-row{grid-template-columns:25px 1fr 1fr 20px;gap:16px}.service-row h3{font-size:21px}.faq,.detail-layout{gap:45px}.closing{gap:30px}.footer-brand{gap:15px}}
@media(max-width:700px){.nav{padding:12px 22px;min-height:0;flex-wrap:wrap;gap:10px}.logo{width:125px;height:58px}.nav nav{width:100%;justify-content:space-between;gap:12px}.nav a{font-size:12px}.nav .pill{padding:6px 10px;gap:10px}.section{padding:48px 24px}.home-hero{grid-template-columns:1fr;gap:28px;padding:35px 24px 45px}.hero-copy h1{font-size:clamp(43px,11vw,59px);margin:20px 0}.hero-copy>p{font-size:16px}.hero-actions{margin:24px 0;gap:16px}.hero-copy .hero-note{margin:0}.hero-portrait{max-width:420px;width:100%;margin:auto}.hero-portrait img{aspect-ratio:5/4;object-position:50% 30%}.hero-portrait figcaption{font-size:11px;gap:3px}.section-heading{grid-template-columns:1fr;gap:15px;margin-bottom:25px}.section-heading>p{font-size:15px}.service-row{grid-template-columns:22px 1fr 22px;gap:12px;padding:23px 0}.service-row h3{font-size:20px}.service-row p{grid-column:2;grid-row:2;font-size:14px}.service-arrow{grid-column:3;grid-row:1}.service-index{font-size:10px}.about{grid-template-columns:1fr;gap:28px}.about-image{order:2;max-width:420px}.about-copy h2{font-size:35px}.about-copy p{font-size:15px}.quote-grid{grid-template-columns:1fr;gap:30px}.quote-grid blockquote p{font-size:15px}.resources{grid-template-columns:1fr;gap:30px}.resources h2{font-size:33px}.resources aside{border-left:0;border-top:1px solid var(--line);padding:24px 0 0}.faq{grid-template-columns:1fr;gap:22px}.faq h2{margin-bottom:0}summary{font-size:15px;padding-top:18px;padding-bottom:18px}summary:after{top:15px}.closing{grid-template-columns:1fr;gap:26px}.closing h2{font-size:40px}.closing p{font-size:15px}.closing p br{display:none}.contact-block>a{font-size:19px}footer{padding:22px 24px;gap:18px}.footer-brand{width:100%;flex-wrap:wrap;gap:8px 18px}.footer-brand img{width:100px;height:46px}.footer-brand span{font-size:10px}footer nav{gap:16px;font-size:11px}.analytics-settings{font-size:11px}.detail-hero h1{font-size:42px}.detail-intro{font-size:16px}.detail-layout{grid-template-columns:1fr;gap:35px}.detail-content{order:1}.detail-aside{order:2;max-width:330px}.detail-content h2{font-size:31px}.detail-content p,.detail-content li{font-size:15px}.analytics-consent{left:12px;right:12px;bottom:12px;display:block;padding:20px}.consent-actions{margin-top:18px}.consent-actions button{flex:1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.pill{transition:none}}

/* Clearly grouped, attributed references. */
.testimonials{background:#f5ecef}
.quote-grid{gap:24px}
.quote-grid .reference-card{background:var(--paper);border:1px solid var(--line);padding:28px 30px;margin:0}
.reference-label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-bottom:22px}
.reference-card>blockquote{padding-left:18px;border-left:3px solid #d4a7b7}
.reference-card>figcaption{border-top:1px solid var(--line);padding-top:18px;margin-top:22px}
.reference-card .full-quote{margin-top:16px}
.reference-link{padding:20px 0;border-top:1px solid var(--line);font-size:14px!important}
@media(max-width:700px){.quote-grid .reference-card{padding:24px 22px}.reference-label{font-size:10px;margin-bottom:18px}}

/* Full references share an aligned frame without changing their wording. */
.quote-grid{align-items:stretch}
.quote-grid .reference-card{display:flex;flex-direction:column}
.reference-card>blockquote{flex:1}
.reference-card>figcaption{margin-top:24px}
.reference-card>blockquote p{font-size:15px;line-height:1.8;margin-bottom:0}
@media(max-width:700px){.reference-card>blockquote p{font-size:15px}.reference-card>blockquote{flex:none}}

.arrow-icon{width:20px;height:20px;display:inline-block;vertical-align:middle;flex-shrink:0}.service-arrow .arrow-icon{width:24px;height:24px}.contact-block>a .arrow-icon{width:24px;height:24px}
