:root{--bone:#edebe6;--bone-mid:#e0ddd6;--bone-dark:#d0ccc3;--white:#fbfaf6;--rule:#d4d0c8;--ink:#1c2b0e;--ink-mid:#2d4418;--ink-light:#3a5a1e;--sage:#a8c97f;--sage-dark:#7aa854;--sage-light:#c8dfa8;--text-body:#3d3d30;--text-muted:#7a7a66;--text-faint:#a0a090;--fs-h1:clamp(44px,5.6vw,84px);--fs-h2:clamp(34px,3.4vw,50px);--fs-h3:22px;--fs-body:16px;--container:1240px;--gutter:40px;--ease:cubic-bezier(0.2,0.7,0.2,1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body,html{margin:0;padding:0}body{background:var(--bone);color:var(--text-body);font-family:Jost,system-ui,sans-serif;font-weight:300;-webkit-font-smoothing:antialiased;font-size:var(--fs-body);line-height:1.65}h1,h2,h3,h4{color:var(--ink);font-family:Playfair Display,serif;font-weight:400;letter-spacing:-.01em;line-height:1.08;margin:0}h1{font-size:var(--fs-h1)}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3);line-height:1.25}em{color:var(--ink-light);font-style:italic;font-weight:400}p{margin:0 0 16px}a{color:var(--ink-light);text-decoration:underline;text-underline-offset:3px}a:hover{color:var(--ink)}.container{margin:0 auto;max-width:var(--container);padding:0 var(--gutter)}nav.site{background:var(--bone);border-bottom:1px solid var(--bone-dark);height:68px;position:sticky;top:0;z-index:50}nav.site,nav.site .container{align-items:center;display:flex}nav.site .container{gap:32px;justify-content:space-between;width:100%}.logo{align-items:center;color:var(--ink);display:flex;gap:12px;text-decoration:none}.logo svg{flex-shrink:0;height:28px;width:28px}.logo .wordmark{color:var(--ink);font-family:Jost,sans-serif;font-size:12px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase}.links{align-items:center;display:flex;gap:28px}.links a{color:var(--ink);font-family:Jost,sans-serif;font-size:13px;font-weight:300;text-decoration:none}.links a:hover{color:var(--ink-light)}.links a.active{font-weight:500}.btn{align-items:center;border:1px solid transparent;border-radius:1px;cursor:pointer;display:inline-flex;font-family:Jost,sans-serif;font-size:11px;font-weight:600;gap:8px;letter-spacing:2px;padding:16px 36px;text-decoration:none;text-transform:uppercase;transition:background .18s var(--ease),color .18s var(--ease),border-color .18s var(--ease)}.btn-primary{background:var(--ink);border-color:var(--ink);color:var(--bone)}.btn-primary:hover{background:var(--ink-mid);border-color:var(--ink-mid);color:var(--bone)}.btn-ghost{background:transparent;border-color:var(--ink);color:var(--ink)}.btn-ghost:hover{background:var(--ink);color:var(--bone)}.btn-ghost-light{background:transparent;border-color:var(--bone);color:var(--bone)}.btn-ghost-light:hover,.btn-primary-light{background:var(--bone);color:var(--ink)}.btn-primary-light{border-color:var(--bone)}.btn-primary-light:hover{background:var(--sage);border-color:var(--sage)}.eyebrow{align-items:center;color:var(--ink-light);display:inline-flex;font-family:Jost,sans-serif;font-size:10px;font-weight:500;gap:12px;letter-spacing:3px;margin-bottom:20px;text-transform:uppercase}.eyebrow:before{background:var(--ink-light);content:"";height:1px;width:24px}.eyebrow.on-ink{color:var(--sage)}.eyebrow.on-ink:before{background:var(--sage)}.breadcrumb{background:var(--ink);color:var(--bone);font-family:Jost,sans-serif;font-size:11px;font-weight:300;letter-spacing:.5px;padding:14px 0}.breadcrumb a{color:var(--bone);opacity:.65;text-decoration:none}.breadcrumb a:hover{opacity:1}.breadcrumb .sep{margin:0 10px;opacity:.4}.breadcrumb .current{color:var(--sage);opacity:1}.hero{background:var(--ink);color:var(--bone);overflow:hidden;padding:96px 0 112px;position:relative}.hero:before{background:radial-gradient(circle at 30% 30%,rgba(168,201,127,.1),transparent 55%);content:"";height:520px;pointer-events:none;position:absolute;right:-140px;top:-120px;width:520px}.hero .container{position:relative}.hero-grid{align-items:center;display:grid;gap:64px;grid-template-columns:1.4fr 1fr}.hero h1{color:var(--bone);max-width:18ch}.hero h1 em{color:var(--sage)}.hero .sub{color:var(--bone);font-family:Jost,sans-serif;font-size:18px;font-weight:300;line-height:1.65;margin:32px 0 28px;max-width:60ch;opacity:.78}.hero-actions{gap:16px}.hero-actions,.hero-meta{display:flex;flex-wrap:wrap}.hero-meta{border-top:1px solid rgba(237,235,230,.14);color:rgba(237,235,230,.6);font-family:Jost,sans-serif;font-size:11px;gap:32px;letter-spacing:2px;margin-top:28px;padding-top:22px;text-transform:uppercase}.hero-meta span em{color:var(--sage);font-family:Playfair Display,serif;font-size:13px;font-style:italic;letter-spacing:.5px;padding-left:8px;text-transform:none}.hero-stats{background:rgba(168,201,127,.05);border:1px solid rgba(168,201,127,.22);display:flex;flex-direction:column;gap:18px;padding:36px}.hero-stats-label{color:var(--sage);font-family:Jost,sans-serif;font-size:10px;letter-spacing:3px;margin-bottom:6px;text-transform:uppercase}.hero-stat{border-bottom:1px solid rgba(237,235,230,.1);display:flex;flex-direction:column;gap:4px;padding-bottom:14px}.hero-stat:last-child{border-bottom:none;padding-bottom:0}.hero-stat-val{color:var(--bone);font-family:Playfair Display,serif;font-size:36px;font-weight:400;line-height:1;overflow-wrap:normal;white-space:nowrap;word-break:keep-all}.hero-stat-val em{color:var(--sage);white-space:nowrap}.hero-stat-lbl{color:rgba(237,235,230,.7);font-size:13px;line-height:1.4}.platforms{background:var(--white);border-bottom:1px solid var(--rule);padding:56px 0}.platforms-inner{align-items:center;display:grid;gap:56px;grid-template-columns:1fr 2fr}.platforms-label{color:var(--text-muted);font-family:Jost,sans-serif;font-size:11px;font-weight:500;letter-spacing:2.5px;line-height:1.6;text-transform:uppercase}.platforms-label strong{color:var(--ink);display:block;font-family:Playfair Display,serif;font-size:22px;font-style:italic;font-weight:400;letter-spacing:-.01em;margin-top:8px;text-transform:none}.platforms-grid{display:grid;gap:16px;grid-template-columns:repeat(5,1fr)}.platform-cell{align-items:center;background:var(--bone);border:1px solid var(--rule);display:flex;flex-direction:column;gap:8px;justify-content:center;min-height:96px;padding:22px 14px;transition:border-color .18s var(--ease)}.platform-cell:hover{border-color:var(--ink)}.platform-cell .pl-logo-link{align-items:center;color:var(--ink);cursor:pointer;display:flex;flex-direction:column;gap:8px;justify-content:center;min-height:56px;padding:4px 0;position:relative;text-decoration:none;width:100%;z-index:1}.platform-cell .pl-logo{display:block;height:auto;max-height:40px;max-width:100%;object-fit:contain;pointer-events:none;width:auto}.platform-cell .pl-logo-link .pl-name{color:#1a1f1c;font-family:Jost,sans-serif;font-size:13px;font-weight:600;letter-spacing:.06em;line-height:1.2;pointer-events:none;text-transform:uppercase}.platform-cell .pl-logo-link:hover .pl-name{color:var(--ink)}.platform-cell .pl-logo-link:focus-visible{border-radius:2px;outline:2px solid var(--ink);outline-offset:3px}.platform-cell .pl-tag{color:var(--text-muted);font-family:Jost,sans-serif;font-size:9px;letter-spacing:2px;text-transform:uppercase}.platform-cell.featured{background:var(--ink);border-color:var(--ink)}.platform-cell.featured .pl-logo-link .pl-name{color:var(--bone)}.platform-cell.featured .pl-tag{color:var(--sage)}section{padding:112px 0}section.on-bone{background:var(--bone)}section.on-white{background:var(--white)}section.on-ink{background:var(--ink)}section.on-ink,section.on-ink h2{color:var(--bone)}section.on-ink h2 em{color:var(--sage)}.section-head{align-items:end;display:grid;gap:64px;grid-template-columns:1fr 1fr;margin-bottom:56px}.section-head.center{grid-template-columns:1fr;max-width:800px}.section-head p{color:var(--text-muted);font-size:17px;margin:0;max-width:50ch}section.on-ink .section-head p{color:rgba(237,235,230,.7)}.tracks{border:1px solid var(--rule);display:grid;gap:0;grid-template-columns:1fr 1fr}.track{display:flex;flex-direction:column;gap:20px;padding:56px 48px;position:relative}.track+.track{border-left:1px solid var(--rule)}.track .track-tag{align-items:center;color:var(--ink-light);display:inline-flex;font-family:Jost,sans-serif;font-size:10px;font-weight:500;gap:10px;letter-spacing:3px;text-transform:uppercase}.track .track-tag:before{background:var(--ink-light);content:"";height:1px;width:24px}.track h3{color:var(--ink);font-family:Playfair Display,serif;font-size:32px;font-weight:400;line-height:1.12}.track h3 em{color:var(--ink-light)}.track .for{color:var(--text-muted);font-family:Jost,sans-serif;font-size:12px;letter-spacing:1.5px;text-transform:uppercase}.track p{color:var(--text-body);font-size:15px;margin:0}.track .track-list{display:flex;flex-direction:column;gap:10px;list-style:none;margin:8px 0 0;padding:0}.track .track-list li{color:var(--text-body);font-size:14px;line-height:1.55;padding-left:22px;position:relative}.track .track-list li:before{background:var(--ink-light);content:"";height:1px;left:0;position:absolute;top:9px;width:12px}.track .track-platforms{border-top:1px solid var(--rule);display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;padding-top:18px}.track .pchip{background:var(--white);border:1px solid var(--rule);border-radius:1px;font-size:10px;padding:6px 10px}.track .pchip,.track .track-cta{color:var(--ink);font-family:Jost,sans-serif;font-weight:500;letter-spacing:1.5px;text-transform:uppercase}.track .track-cta{align-items:center;display:inline-flex;font-size:12px;gap:8px;margin-top:18px;text-decoration:none}.track .track-cta:after{content:"→";transition:transform .18s var(--ease)}.track .track-cta:hover:after{transform:translateX(4px)}.portfolio-grid{display:grid;gap:32px;grid-template-columns:repeat(3,1fr)}.portfolio-grid.two-up{gap:40px;grid-template-columns:repeat(2,1fr)}.portfolio-card{gap:18px}.portfolio-card,.portfolio-thumb{display:flex;flex-direction:column}.portfolio-thumb{align-items:center;aspect-ratio:16/10;background:linear-gradient(135deg,var(--bone-dark) 0,var(--sage-light) 100%);border:1px solid var(--rule);gap:10px;justify-content:center;overflow:hidden;position:relative}.portfolio-thumb:before{background:linear-gradient(180deg,rgba(28,43,14,.04) 0,rgba(28,43,14,.1)),repeating-linear-gradient(0deg,transparent,transparent 28px,rgba(28,43,14,.05) 0,rgba(28,43,14,.05) 29px);content:"";inset:0;pointer-events:none;position:absolute}.portfolio-thumb .ph-mark{color:var(--ink-light);font-family:Playfair Display,serif;font-size:36px;font-style:italic;font-weight:400;letter-spacing:-.01em;opacity:.55;position:relative;z-index:1}.portfolio-thumb .ph-label{color:var(--ink-light);font-family:Jost,sans-serif;font-size:10px;font-weight:500;letter-spacing:2.5px;opacity:.65;position:relative;text-transform:uppercase;z-index:1}.portfolio-thumb .ph-img{height:100%;inset:0;object-fit:cover;object-position:top center;opacity:0;position:absolute;transition:opacity .4s ease;width:100%;z-index:2}.portfolio-thumb .ph-img.loaded{opacity:1}.portfolio-thumb.has-img:before{opacity:0;transition:opacity .22s ease;z-index:3}.portfolio-card:hover .portfolio-thumb .ph-img{transform:scale(1.02);transition:transform .6s ease,opacity .4s ease}.portfolio-meta{align-items:baseline;display:flex;gap:16px;justify-content:space-between}.portfolio-meta h3{color:var(--ink);font-size:22px}.portfolio-meta .cat{color:var(--text-muted);font-family:Jost,sans-serif;font-size:9px;font-weight:500;letter-spacing:2px;text-transform:uppercase;white-space:nowrap}.portfolio-card p{color:var(--text-body);font-size:14px;line-height:1.6;margin:0}.portfolio-card .pf-link{align-items:center;color:var(--ink-light);display:inline-flex;font-family:Jost,sans-serif;font-size:11px;font-weight:500;gap:6px;letter-spacing:2px;padding-top:4px;text-decoration:none;text-transform:uppercase}.portfolio-card .pf-link:after{content:"↗"}.portfolio-subhead{align-items:baseline;border-bottom:1px solid var(--rule);color:var(--ink);display:flex;font-family:Playfair Display,serif;font-size:22px;font-style:italic;font-weight:400;gap:12px;margin:0 0 28px;padding-bottom:14px}.portfolio-subhead .ps-tag{border:1px solid var(--ink-light);border-radius:1px;color:var(--ink-light);font-family:Jost,sans-serif;font-size:10px;font-style:normal;font-weight:500;letter-spacing:2.5px;padding:4px 10px;text-transform:uppercase}.portfolio-block+.portfolio-block{margin-top:96px}.caps{background:var(--rule);border:1px solid var(--rule);display:grid;gap:2px;grid-template-columns:repeat(3,1fr)}.cap{background:var(--white);display:flex;flex-direction:column;gap:12px;padding:36px 32px}.cap .n{color:var(--ink-light);font-family:Playfair Display,serif;font-size:20px;font-style:italic;font-weight:400}.cap h3{color:var(--ink)}.cap p{color:var(--text-body);font-size:14px;line-height:1.6;margin:0}.outcomes{display:grid;gap:32px;grid-template-columns:repeat(3,1fr);margin-top:16px}.outcome{background:var(--white);border:1px solid var(--rule);display:flex;flex-direction:column;gap:10px;padding:36px 32px}.outcome .v{color:var(--ink);font-family:Playfair Display,serif;font-size:56px;font-weight:400;line-height:1;overflow-wrap:normal;white-space:nowrap;word-break:keep-all}.outcome .v em{color:var(--sage-dark);white-space:nowrap}.outcome .l{color:var(--text-muted);font-family:Jost,sans-serif;font-size:13px;line-height:1.5}.steps{background:rgba(237,235,230,.12);border:1px solid rgba(237,235,230,.12);display:grid;gap:2px;grid-template-columns:repeat(4,1fr)}.step{background:var(--ink);display:flex;flex-direction:column;gap:14px;padding:40px 32px 44px}.step .n{color:var(--sage);font-family:Playfair Display,serif;font-size:22px;font-style:italic;font-weight:400}.step h3{color:var(--bone);font-size:20px}.step p{color:rgba(237,235,230,.7);font-size:14px;line-height:1.65;margin:0}.cta-strip{padding:72px 0}.cta-strip.on-bone-strip{background:var(--bone);border-bottom:1px solid var(--bone-dark);border-top:1px solid var(--bone-dark)}.cta-strip .inner{align-items:center;display:grid;gap:48px;grid-template-columns:1.6fr 1fr}.cta-strip h2{color:var(--ink);font-family:Playfair Display,serif;font-size:clamp(28px,3vw,38px);font-weight:400;line-height:1.15;margin:0;max-width:22ch}.cta-strip h2 em{color:var(--ink-light)}.cta-strip .actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}.faq{align-items:start;display:grid;gap:64px;grid-template-columns:1fr 2fr}.faq-list{border-top:1px solid var(--rule);display:flex;flex-direction:column;gap:0}.faq details{border-bottom:1px solid var(--rule);padding:22px 0}.faq summary{align-items:center;color:var(--ink);cursor:pointer;display:flex;font-family:Playfair Display,serif;font-size:20px;font-weight:400;gap:16px;justify-content:space-between;line-height:1.3;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary:after{color:var(--ink-light);content:"+";flex-shrink:0;font-family:Jost,sans-serif;font-size:28px;font-weight:300;transition:transform .2s var(--ease)}.faq details[open] summary:after{content:"−"}.faq details>p{color:var(--text-body);font-size:15px;line-height:1.7;margin:18px 0 0;max-width:60ch}.cta-band{background:var(--ink);color:var(--bone);padding:128px 0}.cta-band h2{color:var(--bone);max-width:16ch}.cta-band h2 em{color:var(--sage)}.cta-band .sub{color:rgba(237,235,230,.72);font-size:17px;margin:24px 0 36px;max-width:52ch}.cta-band .actions{display:flex;flex-wrap:wrap;gap:16px}footer{background:var(--ink);border-top:1px solid rgba(237,235,230,.08);color:var(--bone);padding:72px 0 32px}footer .tagline{color:var(--bone);font-family:Playfair Display,serif;font-size:24px;font-weight:400;line-height:1.4;max-width:50ch}footer .cols{display:grid;gap:48px;grid-template-columns:1.5fr 1fr 1fr 1fr;margin-top:56px}footer .col h4{color:var(--sage);font-family:Jost,sans-serif;font-size:11px;font-weight:500;letter-spacing:2.5px;margin-bottom:18px;text-transform:uppercase}footer .col a{color:rgba(237,235,230,.72);display:block;font-size:14px;margin-bottom:10px;text-decoration:none}footer .col a:hover{color:var(--bone)}footer .fine{border-top:1px solid rgba(237,235,230,.1);color:rgba(237,235,230,.5);display:flex;font-size:12px;justify-content:space-between;margin-top:64px;padding-top:22px}.grc-page--web-design{max-width:100%;min-width:0;overflow-x:clip}.grc-page--web-design .container{min-width:0}.grc-page--web-design img{height:auto;max-width:100%}@media (max-width:1100px){.portfolio-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:900px){.caps,.cta-strip .inner,.faq,.hero-grid,.outcomes,.platforms-inner,.portfolio-grid,.portfolio-grid.two-up,.section-head,.steps,.tracks,footer .cols{grid-template-columns:1fr}.track+.track{border-left:none;border-top:1px solid var(--rule)}.links{display:none}.hero h1{max-width:none}.platforms-inner{gap:32px}.platforms-label{text-align:center}.platforms-grid,.platforms-label strong{margin-left:auto;margin-right:auto}.platforms-grid{gap:12px;grid-template-columns:1fr;max-width:360px;width:100%}.platform-cell{min-height:88px}.cta-band .actions,.cta-strip .actions,.hero-actions{align-items:center;justify-content:center;width:100%}.cta-band .actions .btn,.cta-strip .actions .btn,.hero-actions .btn{justify-content:center;max-width:320px;width:100%}.hero-stat-val{font-size:clamp(28px,7.5vw,36px)}.outcome .v{font-size:clamp(40px,9vw,56px)}}@media (max-width:640px){.container{padding-left:16px;padding-right:16px}section{padding:72px 0}.hero{padding:64px 0 80px}.platforms{padding:40px 0}.cta-band .actions,.cta-strip .actions,.hero-actions{flex-direction:column}.hero-stats{padding:24px 20px}.portfolio-grid,.portfolio-grid.two-up{gap:28px;grid-template-columns:1fr}.track{padding:36px 20px}.portfolio-subhead{flex-wrap:wrap}footer .fine{flex-direction:column;gap:8px;text-align:center}}