.water-canvas{position:fixed;inset:0;z-index:80;pointer-events:none;user-select:none;contain:strict}.display-settings{position:fixed;z-index:130;bottom:24px;left:24px;font-family:Manrope,Arial,sans-serif}.display-settings-trigger{display:flex;align-items:center;gap:9px;padding:12px 16px;background:#fffef9;color:#3b4c30;border:1px solid #becbad;border-radius:30px;box-shadow:0 5px 20px #24311912;font-size:12px;min-height:44px}.display-settings-trigger>svg{height:20px;width:20px}.display-settings-panel{position:absolute;bottom:calc(100% + 12px);left:0;width:330px;max-width:calc(100vw - 38px);padding:22px;background:#fffef9;border:1px solid #c9d4ba;border-radius:14px;box-shadow:0 14px 45px #1d29132b}.display-settings-heading{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:21px}.display-settings-heading h2{font-size:20px;line-height:1.4;letter-spacing:-.6px;margin:0}.display-settings-heading>button{border:0;background:#edf2e5;border-radius:50%;height:32px;width:32px;font-size:24px;color:#4b623d}.water-choice{display:flex;align-items:center;justify-content:space-between;gap:18px;cursor:pointer}.water-choice strong{display:block;font-size:13px;line-height:1.5}.water-choice small{display:block;font-size:11px;line-height:1.8;margin-top:7px;color:#7b8c68}.water-choice input{width:24px;height:24px;flex:none;accent-color:#146b4b}.water-status{font-size:11px;color:#4b6a37;line-height:1.8;margin:19px 0 0}.water-preference-note{font-size:10px;line-height:1.85;color:#82966c;border-top:1px solid #dce5cf;padding-top:15px;margin:15px 0 0}.footer-bottom [data-display-settings-open]{padding:0;border:0;background:none;font:inherit;color:inherit;text-decoration:underline;cursor:pointer}.appearance-panel{display:grid;grid-template-columns:1fr 1fr;gap:45px;margin-bottom:30px;align-items:start}.appearance-panel>div>p:not(.eyebrow){font-size:13px;line-height:1.9;color:#6b7b5a;max-width:520px}.appearance-panel form .small-button{justify-self:start}.appearance-panel .check-label{font-size:13px!important}.appearance-panel .field-help{font-size:11px}.appearance-panel h2{font-size:27px}.request-card-heading .eyebrow{font-size:9px}.need-option strong{font-size:12px}.need-option small{font-size:10px}.request-progress>li{font-size:10px}.requirement-form legend{font-size:13px}.request-hint,.request-privacy{font-size:11px}.request-bottom-note{font-size:10px}.request-free{font-size:10px}
@media(max-width:760px){
 body{font-size:16px}.conversion-description,.page-intro,.contact-conversion-grid>div>p:not(.eyebrow),.intro-statement,.scope-list p,.service-choice-grid p,.process-grid p,.account-choice p,.faq-list details>p,.privacy-content p,.privacy-content li,.case-content p,.case-public p{font-size:16px;line-height:1.85}.eyebrow,.conversion-copy>.eyebrow,.contact-conversion-grid>div:first-child>.eyebrow{font-size:11px;letter-spacing:.7px}.conversion-copy>.eyebrow{max-width:100%}.conversion-copy h1{font-size:clamp(39px,10vw,58px);line-height:1.12}.conversion-description{margin-bottom:24px}.conversion-actions .wa-button,.wa-button{font-size:14px;min-height:48px;padding:13px 17px}.conversion-actions{gap:18px}.call-inline{font-size:13px;line-height:1.9}.conversion-promises{font-size:13px;gap:9px;line-height:1.8}.journey-header .utility-bar{font-size:12px}.utility-bar>.wrap{min-height:42px}.utility-bar a{min-height:38px;display:inline-flex;align-items:center}.utility-bar .wrap>div{gap:13px}.utility-bar .utility-signup{font-size:12px;min-height:31px;padding:4px 9px}.utility-bar .utility-email{display:none}.journey-header .header-whatsapp{font-size:12px;padding:10px 12px;gap:6px;min-height:44px}.journey-header .menu-toggle{font-size:12px;padding:10px 12px;gap:7px;min-height:44px}.journey-header .brand{font-size:24px;gap:7px}.journey-header .brand-symbol{height:23px;width:23px}.journey-header .header-inner{gap:9px;min-height:75px}.journey-header nav>a{font-size:16px;padding:16px 4px;min-height:48px}.journey-header nav>.nav-cta{font-size:15px;padding:16px 20px}.request-card{padding:24px 18px}.request-card-heading{flex-direction:column;gap:12px}.request-card-heading .eyebrow{font-size:10px;letter-spacing:.6px;line-height:1.8}.request-card-heading h2{font-size:27px;letter-spacing:-1px;line-height:1.35}.request-card-heading>.request-free{font-size:11px;padding:7px 10px}.request-progress{gap:9px;align-items:start}.request-progress>li{font-size:11px;line-height:1.6;align-items:start;flex:1;gap:6px}.request-progress>li>span{height:25px;width:25px;font-size:12px}.requirement-form legend{font-size:15px;line-height:1.7;margin-bottom:18px}.requirement-form legend>span,.request-label>span{font-size:12px}.need-options{gap:11px}.need-option{padding:14px 11px;gap:8px;flex-direction:column;min-height:122px}.need-option-icon{font-size:25px;width:26px;height:27px}.need-option strong{font-size:14px;line-height:1.6}.need-option small{font-size:12px;line-height:1.8;margin-top:7px}.need-check{font-size:13px;right:9px;top:10px}.need-unsure{flex-direction:row;min-height:0;padding:15px 12px;gap:12px}.need-unsure small{display:block;font-size:12px}.request-label{font-size:15px;line-height:1.8;margin-bottom:22px}.request-label input,.request-label textarea{font-size:16px;line-height:1.8;padding:14px 13px}.request-label textarea{min-height:170px}.request-hint,.request-privacy{font-size:13px;line-height:1.9}.request-selected{font-size:13px;padding:8px 12px;line-height:1.7}.request-help{font-size:13px;padding:17px;gap:12px}.request-help a{font-size:14px;line-height:1.8}.request-help svg{height:23px;width:23px}.request-next,.request-send{font-size:15px;min-height:52px;padding:15px 18px;line-height:1.5}.request-back{font-size:14px;min-height:48px;padding:12px 4px}.request-bottom-note{font-size:12px;line-height:1.9;margin-top:18px}.request-error{font-size:14px;line-height:1.8}.request-review>span{font-size:10px}.request-review strong{font-size:14px}.request-review p{font-size:13px;line-height:1.9;max-height:100px}.request-review button{font-size:13px;min-height:40px}.request-success>p{font-size:15px;line-height:1.9}.request-reference{font-size:13px!important}.request-reference strong{font-size:15px;display:block;margin:8px 0 0}.request-card .wa-button{font-size:14px;padding:14px 16px;line-height:1.6}.success-account strong{font-size:16px;line-height:1.8}.success-account p{font-size:14px;line-height:1.9}.success-account>a{font-size:14px;line-height:1.8;padding:8px 0;min-height:40px}.pipeline-intro>.eyebrow{font-size:10px;line-height:1.8}.visitor-pipeline h3{font-size:17px;line-height:1.6}.visitor-pipeline li p{font-size:15px;line-height:1.85}.visitor-pipeline li>span{height:37px;width:37px;font-size:13px}.service-choice-grid h3{font-size:24px;line-height:1.45}.service-choice-grid button{font-size:15px;min-height:44px}.service-choice-grid article>div:last-child>a{font-size:14px;line-height:1.8}.service-choice-top>small{font-size:12px}.conversion-examples .work-caption h3{font-size:20px;line-height:1.45}.work-caption p{font-size:12px;line-height:1.8}.work-caption p>span{font-size:10px}.examples-footnote{font-size:12px;line-height:1.9}.examples-footnote>a{font-size:13px;min-height:36px}.concept-note{font-size:10px}.concept-note>a{font-size:11px}.account-choice-actions>.button{font-size:15px;padding:15px 21px}.account-choice-actions>span{font-size:13px;line-height:1.9}.text-link{font-size:14px;line-height:1.8}.contact-dock>a{font-size:13px;min-height:62px;padding:15px 13px}.contact-dock svg{width:23px;height:23px}.dock-request>span{line-height:1.6}.direct-contact-card h2{font-size:25px;line-height:1.45}.direct-contact-card .wa-button{font-size:14px;min-height:47px}.direct-contact-line{font-size:13px;line-height:1.8;align-items:start;gap:12px;flex-wrap:wrap}.direct-contact-line>strong{font-size:14px;line-height:1.8}.direct-contact-card>p{font-size:12px;line-height:1.9}.returning-client strong{font-size:16px}.returning-client p{font-size:14px;line-height:1.85}.returning-client a{font-size:14px;line-height:1.8;min-height:40px;padding:8px 0}.contact-conversion-grid h1{font-size:43px}.breadcrumb{font-size:11px;line-height:1.8;gap:9px}.footer-top>p{font-size:13px;line-height:1.9}.footer-links{font-size:14px;gap:15px}.footer-links>a{min-height:26px;line-height:1.8}.footer-bottom{font-size:12px;line-height:1.8}.footer-bottom>div{flex-wrap:wrap;gap:17px}.closing-top>.eyebrow{font-size:9px;line-height:1.8}.closing-top>p:last-child{font-size:12px;line-height:1.8}.closing-bottom{font-size:12px;line-height:1.8;flex-wrap:wrap;gap:19px}.closing-bottom>a{min-height:25px}.service-whatsapp-link{font-size:14px;line-height:1.8}.service-hero .button{font-size:14px}.service-hero .page-intro{font-size:16px;line-height:1.85}.scope-list h3{font-size:23px;line-height:1.4}.outcome-list li{font-size:16px;line-height:1.85}.faq-list summary{font-size:16px;line-height:1.7}.solution-card-body>.eyebrow{font-size:11px}.solution-card-body>p:not(.eyebrow){font-size:15px;line-height:1.9}.solution-card-body .text-link{font-size:14px}.catalog-filters button{font-size:13px;min-height:42px;padding:10px 15px}.example-disclosure strong{font-size:15px;line-height:1.7}.example-disclosure p{font-size:14px;line-height:1.9}.goal-options label{padding:18px 13px;gap:10px}.goal-options strong{font-size:14px;line-height:1.6}.goal-options small{font-size:12px;line-height:1.8}.chooser-form legend{font-size:15px;line-height:1.8}.chooser-select{font-size:14px}.chooser-select select{font-size:16px;padding:15px}.chooser-result>p,.chooser-human p{font-size:15px;line-height:1.9}.chooser-human a{font-size:14px}.chooser-form .form-note,.chooser-result .form-note{font-size:13px!important;line-height:1.9}.chooser-form>.button{font-size:14px;padding:14px 18px}.demo-action{font-size:13px;line-height:1.5;min-height:42px}.demo-result{font-size:13px;line-height:1.8}.demo-disclaimer{font-size:12px;line-height:1.9}.preview-intro{font-size:11px;line-height:1.8}.demo-chrome{font-size:9px}.demo-custom-controls input{font-size:16px}.demo-custom-controls label{font-size:14px}.demo-custom-controls>p:last-child{font-size:14px;line-height:1.9}.sample-slots button{font-size:14px;min-height:43px}.first-milestone{font-size:15px}.first-milestone strong{font-size:12px}.public-enquiry-page>p{font-size:16px;line-height:1.85}.enquiry-receipt p{font-size:15px}.panel p,.message p,.project-card p,.simple-steps p{font-size:15px;line-height:1.85}.agency-form label,.filter-form label{font-size:14px;line-height:1.7}.agency-form input:not([type=checkbox]),.agency-form textarea,.agency-form select,.filter-form input,.filter-form select{font-size:16px;line-height:1.65;padding:13px 14px}.agency-form .button,.page-heading .button{font-size:14px;min-height:48px}.small-button,.small-button.dark,.filter-form button{font-size:13px;min-height:44px}.field-help,.essential-note{font-size:13px;line-height:1.9}.check-label{font-size:13px!important;line-height:1.8}.portal-sidebar nav>a{font-size:13px;min-height:42px}.portal-sidebar .sidebar-bottom a,.portal-sidebar .text-button{font-size:12px;min-height:31px}.portal-topbar{font-size:13px}.page-heading .eyebrow{font-size:11px}.page-heading>div>p:not(.eyebrow){font-size:15px;line-height:1.8}.stat-grid span{font-size:13px}.project-table td,.client-table td,.table-scroll td{font-size:14px;line-height:1.8}.project-table th,.client-table th,.table-scroll th{font-size:11px;line-height:1.7}.table-scroll td small{font-size:12px;line-height:1.8}.badge{font-size:11px;line-height:1.6}.detail-list dt{font-size:12px}.detail-list dd{font-size:15px}.portal-footer{font-size:12px;line-height:1.9}.back-link{font-size:13px}.auth-header>a:last-child{font-size:12px;line-height:1.7;max-width:150px;text-align:right}.auth-story>.eyebrow{font-size:10px;line-height:1.7}.auth-story>p:not(.eyebrow){font-size:15px;line-height:1.85}.auth-story .auth-help{font-size:13px!important;line-height:1.9}.auth-panel .auth-panel-inner>p.muted{font-size:15px;line-height:1.85}.auth-panel .agency-form label{font-size:14px}.auth-panel .agency-form input:not([type=checkbox]){font-size:16px;line-height:1.7}.auth-panel .agency-form button.button{font-size:15px;min-height:50px}.auth-panel .check-label{font-size:13px!important;line-height:1.85}.auth-panel .auth-switch{font-size:14px;line-height:1.8}.auth-panel .form-between{font-size:13px;line-height:1.7}.auth-panel .essential-note{font-size:12px;line-height:1.9}.auth-panel .field-help{font-size:13px;line-height:1.85}.auth-footer{font-size:11px;line-height:1.9}.notice{font-size:14px;line-height:1.8}.appearance-panel{grid-template-columns:1fr;gap:22px}.appearance-panel>div>p:not(.eyebrow){font-size:15px;line-height:1.85}.appearance-panel .check-label{font-size:14px!important}.appearance-panel .field-help{font-size:13px}.display-settings{bottom:76px;left:14px}.display-settings-trigger{height:42px;width:42px;padding:10px;justify-content:center;border-radius:50%}.display-settings-trigger>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.display-settings-panel{width:320px;max-width:calc(100vw - 28px);padding:22px;bottom:54px}.display-settings-heading h2{font-size:21px}.display-settings-heading>button{width:36px;height:36px}.water-choice strong{font-size:15px}.water-choice small{font-size:13px;line-height:1.85}.water-status{font-size:13px;line-height:1.85}.water-preference-note{font-size:12px;line-height:1.85}.water-choice input{height:26px;width:26px}.consent-banner{bottom:129px}.consent-banner h2{font-size:18px}.consent-banner p{font-size:13px;line-height:1.8}.consent-actions button{font-size:13px;min-height:44px}}
@media(max-width:370px){.journey-header .brand{font-size:22px}.journey-header .header-whatsapp{padding:10px 9px;font-size:11px}.journey-header .menu-toggle{padding:10px 9px;font-size:11px}.request-card{padding:23px 15px}.request-progress>li{font-size:10px}.need-option{padding:13px 9px}.need-option strong{font-size:13px}}
.brand.fresh-brand{display:inline-flex;align-items:center;gap:12px;line-height:1;padding:0;background:none;color:var(--ink);white-space:nowrap;letter-spacing:0}.fresh-brand .brand-name{font-size:34px;line-height:1;font-weight:500;letter-spacing:-1.9px}.fresh-brand .brand-name strong{font-weight:800;letter-spacing:-2px}.brand-forward{display:inline-flex;align-self:flex-start;gap:4px;padding-top:4px;transform:skewX(-18deg)}.brand-forward i{display:block;width:4px;height:15px;border-radius:1px;background:#ff6343}.site-footer .fresh-brand{color:inherit;align-self:start;justify-self:start}.site-footer .fresh-brand .brand-name{font-size:40px}.site-footer .brand-forward{padding-top:5px}.site-footer .brand-forward i{height:18px;width:5px}.portal-sidebar .fresh-brand .brand-name{font-size:32px}.brand-monogram{font-family:Manrope,Arial,sans-serif;font-size:180px;font-weight:800;letter-spacing:-15px;line-height:1}.manifesto-mark{display:grid;place-items:center}
@media(max-width:760px){.fresh-brand .brand-name,.auth-header .fresh-brand .brand-name{font-size:28px;letter-spacing:-1.6px}.fresh-brand .brand-name strong{letter-spacing:-1.7px}.brand.fresh-brand{gap:9px}.brand-forward{gap:3px;padding-top:3px}.brand-forward i{width:3px;height:12px}.site-footer .fresh-brand .brand-name{font-size:35px}.site-footer .brand-forward{padding-top:4px}.site-footer .brand-forward i{width:4px;height:15px}.portal-sidebar .fresh-brand .brand-name{font-size:29px}.brand-monogram{font-size:150px}}
.request-contact-choice{margin:0 0 22px;padding:18px;border:1px solid var(--line);border-radius:10px;background:#f8f9f4}.request-contact-choice>p{font-size:13px;font-weight:600;margin:0 0 13px;line-height:1.7}.request-contact-choice>p>span{font-size:11px;color:var(--muted);font-weight:400}.request-contact-choice>label{display:flex;align-items:center;gap:10px;min-height:40px;font-size:13px;line-height:1.6;cursor:pointer}.request-contact-choice input{width:18px;height:18px;flex:none;accent-color:#146b4b}.request-label>small.request-hint{display:block;font-weight:400;letter-spacing:0;margin:9px 0 0}.accent-panel>.button{margin-bottom:12px}
@media(max-width:760px){.request-contact-choice>p{font-size:15px}.request-contact-choice>p>span{font-size:12px}.request-contact-choice>label{font-size:14px;min-height:46px}.request-contact-choice input{width:21px;height:21px}}
.buyer-guide-grid,.launch-offers{display:grid;grid-template-columns:1fr 1fr;gap:25px}.launch-offer{padding:38px;border:1px solid var(--line);border-radius:15px;background:#fff}.launch-offer h2{font-size:35px;letter-spacing:-1.4px;line-height:1.2}.launch-offer>p,.launch-offer li{font-size:14px;line-height:1.9;color:#5c645d}.launch-offer h3{font-size:16px;margin:27px 0 15px}.launch-offer ul{padding-left:20px}.launch-offer li{padding-left:5px;margin-bottom:12px}.launch-offer .offer-boundary{font-size:12px;border-top:1px solid var(--line);padding-top:20px;margin-top:25px}.launch-offer>a{margin:12px 15px 0 0}.launch-offer>.button{font-size:13px;padding:16px 22px}.guide-next{display:flex;align-items:center;flex-wrap:wrap;gap:23px;margin:35px 0;padding-top:25px;border-top:1px solid var(--line)}.guide-next>p{flex-basis:100%;font-size:16px;margin:0}.guide-human{padding:60px 48px;background:#eaf0e5;margin-top:60px;text-align:center}.guide-human>p:not(.eyebrow){max-width:570px;margin:0 auto 28px;font-size:16px}.guide-human .button{margin:0 22px 20px 0;padding:16px 23px;font-size:14px}.guide-title{font-size:clamp(47px,5.2vw,78px);letter-spacing:-3.5px;max-width:1000px;line-height:1.12}.guide-layout{display:grid;grid-template-columns:260px minmax(0,760px);justify-content:space-between;gap:55px;padding-bottom:65px}.guide-body section{scroll-margin-top:155px;margin-bottom:48px}.guide-body h2{font-size:32px;letter-spacing:-1px;line-height:1.3;margin-bottom:22px}.guide-body p,.guide-body li{font-size:16px;line-height:1.9}.guide-body li{margin-bottom:13px}.guide-body ul{padding-left:22px}.brief-example{padding:25px;border-radius:10px;background:#eaf0e5;border:1px solid #d8e1d1;margin-bottom:25px}.brief-example>p:last-child{margin-bottom:0}.launch-agreement{padding:40px;border-radius:15px;background:#eeede7}.launch-agreement ol{padding-left:22px;max-width:850px}.launch-agreement li,.launch-agreement>p:not(.eyebrow){font-size:16px;line-height:1.9;margin-bottom:17px}
@media(max-width:760px){.buyer-guide-grid,.launch-offers,.launch-offer{padding:27px 22px}.launch-offer h2{font-size:29px;letter-spacing:-1.1px}.launch-offer>p,.launch-offer li{font-size:16px;line-height:1.85}.launch-offer .offer-boundary{font-size:13px}.launch-offer h3{font-size:17px;line-height:1.6}.launch-offer>.button{font-size:14px;min-height:48px}.launch-offer>.text-link{display:table;margin-top:24px}.guide-body h2{font-size:28px;letter-spacing:-1px}.guide-body p,.guide-body li{font-size:16px;line-height:1.9}.guide-body section{margin-bottom:38px}.brief-example{padding:22px}.guide-human{padding:40px 22px;margin-top:35px}.guide-human h2{font-size:37px}.guide-human>p:not(.eyebrow){font-size:16px;line-height:1.85}.guide-human .button{display:table;margin:0 auto 25px}.launch-agreement{padding:28px 22px}.launch-agreement h2{font-size:36px}.launch-agreement li,.launch-agreement>p:not(.eyebrow){font-size:16px;line-height:1.85}.guide-next{gap:23px}.guide-next .text-link{font-size:14px}}

/* Shared public reading scale. Keep portal and demo UI typography separate. */
:root {
  --public-title: clamp(2rem, 1.55rem + 2.15vw, 3.75rem);
  --public-heading: clamp(1.5rem, 1.25rem + 1.2vw, 2.5rem);
  --public-copy: clamp(1rem, .96rem + .2vw, 1.125rem);
  --public-small: .875rem;
}
.page-hero h1, .conversion-copy h1, .contact-conversion-grid h1,
.public-enquiry-page h1, .enquiry-receipt h1, .chooser-hero h1 {
  font-size: var(--public-title);
  line-height: 1.12;
  letter-spacing: -.045em;
}
main > section h2, .closing h2 {
  font-size: var(--public-heading);
  line-height: 1.2;
  letter-spacing: -.035em;
}
.page-intro, .conversion-copy > p:not(.eyebrow), .contact-conversion-grid > div:first-child > p:not(.eyebrow),
.need-services .section-lead, .service-choice-grid article > p:not(.eyebrow), .direct-contact-card > p,
.visitor-pipeline p, .closing-top > p:last-child {
  font-size: var(--public-copy);
  line-height: 1.65;
}
.request-label, .request-label > span, .request-label > small.request-hint,
.request-contact-choice > p > span, .closing-bottom, .site-footer a:not(.brand),
.site-footer p, .journey-header .header-whatsapp, .journey-header .menu-toggle {
  font-size: var(--public-small);
}
.request-label input, .request-label textarea, .request-label select { font-size: 1rem; }
.service-choice-grid article h3 { font-size: clamp(1.125rem, 1.05rem + .35vw, 1.375rem); }

/* Editorial index and article. */
.blog-index-heading, .blog-post { padding-top: clamp(1.5rem, 4vw, 3.5rem); }
.blog-index-heading { padding-bottom: 2rem; }
.blog-index-heading h1, .blog-post h1 {
  font-size: var(--public-title);
  line-height: 1.1;
  letter-spacing: -.045em;
  margin: 0 0 1rem;
  overflow-wrap: break-word;
}
.blog-index-heading > p, .blog-intro, .blog-collection > p {
  font-size: var(--public-copy);
  line-height: 1.65;
  max-width: 66ch;
}
.blog-collection { margin-block: 1rem 3.5rem; scroll-margin-top: 7rem; }
.blog-collection > h2 { margin: 0 0 .6rem; }
.blog-collection .buyer-guide-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr));
  gap: 1.25rem;
}
.blog-collection .buyer-guide-card {
  padding: 0;
  margin: 0;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: .75rem;
}
.blog-collection .buyer-guide-card:hover { transform: none; }
.buyer-guide-card > a { display: block; height: 100%; }
.buyer-guide-card > a:focus-visible { outline-offset: -4px; }
.buyer-guide-card img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
.blog-card-copy { padding: 1.25rem; }
.blog-card-copy h2 { font-size: 1.25rem; line-height: 1.3; letter-spacing: -.025em; margin: .55rem 0; }
.blog-card-copy > p:not(.blog-meta) { font-size: 1rem; line-height: 1.6; margin: 0 0 .9rem; }
.blog-reading { width: min(100%, 46rem); margin-inline: auto; min-width: 0; }
.blog-reading .breadcrumb { margin-bottom: 1.4rem; }
.blog-category, .blog-meta { font-size: var(--public-small); line-height: 1.5; margin: 0 0 .75rem; }
.blog-category { font-weight: 750; text-transform: capitalize; }
.blog-meta, .marketplace-cover figcaption { color: var(--muted); }
.blog-links { display: flex; flex-wrap: wrap; gap: .5rem .75rem; margin: 1rem 0; }
.blog-links > a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: .5rem .75rem;
  border: 1px solid var(--line);
  border-radius: .4rem;
  font-size: var(--public-small);
  line-height: 1.4;
  white-space: normal;
}
.marketplace-cover { margin: 1.5rem 0 0; }
.marketplace-cover img { display: block; width: 100%; height: auto; border-radius: .75rem; }
.marketplace-cover figcaption { font-size: var(--public-small); line-height: 1.6; margin-top: .65rem; }
.blog-post .guide-toc {
  position: static;
  border: 1px solid var(--line);
  background: transparent;
  border-radius: .75rem;
  padding: 1rem 1.25rem;
  margin-block: 1.75rem 2.5rem;
}
.guide-toc > p { margin: 0 0 .35rem; font-weight: 750; }
.guide-toc ul { padding: 0; margin: 0; list-style: none; }
.guide-toc li a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  font-size: 1rem;
  text-decoration: underline;
  text-underline-offset: .2em;
}
.blog-post .guide-body section { margin: 0 0 2.5rem; scroll-margin-top: 7rem; }
.blog-post .guide-body h2 { font-size: clamp(1.5rem, 1.35rem + .7vw, 2rem); line-height: 1.25; margin: 0 0 .9rem; }
.blog-post .guide-body h3 { font-size: 1.125rem; line-height: 1.45; margin: 0 0 .35rem; letter-spacing: -.015em; }
.blog-post .guide-body p, .blog-post .guide-body li { font-size: var(--public-copy); line-height: 1.7; }
.blog-post .guide-body ol { padding-inline-start: 1.65rem; }
.blog-post .guide-body ol > li { padding-inline-start: .3rem; margin-bottom: 1.25rem; }
.blog-post .guide-body ol > li::marker { font-weight: 750; }
.marketplace-faq details { border-bottom: 1px solid var(--line); }
.marketplace-faq summary { cursor: pointer; font-weight: 700; padding: .75rem 0; line-height: 1.5; min-height: 44px; }
.blog-post #get-help { border: 1px solid var(--line); padding: clamp(1rem, 3vw, 1.75rem); border-radius: .75rem; }
.blog-post #get-help p:last-child { margin-bottom: 0; }


@media (max-width: 370px) {
  .journey-header .header-inner { gap: 6px; }
  .journey-header .fresh-brand .brand-name { font-size: 23px; }
  .journey-header .fresh-brand { gap: 5px; }
  .journey-header .menu-toggle, .journey-header .header-whatsapp {
    min-height: 44px;
    padding-inline: 7px;
    gap: 5px;
  }
}

/* Product-led public theme */
.public-site {
  --paper: #fff;
  --ink: #102340;
  --muted: #485b75;
  --line: #dce5f2;
  --soft: #f4f7fc;
  --accent: #2b50eb;
  --product-blue: #2b50eb;
  --product-navy: #102340;
}
.public-site { background: var(--paper); }
.public-site .wrap { max-width: 1184px; }
.product-header { background: #fff; backdrop-filter: none; }
.product-announcement { background: #dbe7ff; color: var(--product-navy); }
.product-announcement .wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: .35rem 1.2rem;
  flex-wrap: wrap;
  padding-block: .65rem;
  font-size: .875rem;
  line-height: 1.45;
  text-align: center;
}
.product-announcement a { color: #183aa8; font-weight: 800; }
.product-announcement a:hover { text-decoration: underline; }
.product-header .header-inner { min-height: 72px; gap: 1.25rem; }
.product-header nav { gap: clamp(.8rem, 1.8vw, 1.75rem); font-size: .9375rem; }
.product-header nav a { white-space: nowrap; }
.product-header nav a:hover, .product-header nav a[aria-current="page"] { color: var(--product-blue); }
.product-header .brand-forward i { background: var(--product-blue); }
.product-header .header-whatsapp {
  background: #edf4ff;
  color: #183aa8;
  min-height: 44px;
  padding: .5rem .7rem;
  border-radius: .35rem;
}
.product-header .header-whatsapp:hover { background: #dbe7ff; }
.product-accounts { display: flex; align-items: center; gap: .55rem; order: 4; }
.product-accounts a, .product-actions .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .8rem;
  min-height: 44px;
  padding: .65rem .95rem;
  border: 1px solid var(--product-blue);
  border-radius: .35rem;
  white-space: nowrap;
  font-size: .9375rem;
  font-weight: 800;
}
.product-accounts .site-login { color: #2544c0; }
.product-accounts .site-signup, .product-actions .button { color: #fff; background: var(--product-blue); }
.product-accounts .site-login:hover { background: #edf2ff; }
.product-accounts .site-signup:hover, .product-actions .button:hover { background: #203ec8; }
.product-header nav .mobile-account { display: none; }

.product-hero {
  padding-block: clamp(2.75rem, 6vw, 6.25rem) 2rem;
  background: linear-gradient(180deg, #fff 55%, #f6f9ff 100%);
}
.product-hero-grid { display: grid; grid-template-columns: 1fr minmax(0, 1fr); gap: clamp(1.5rem, 5vw, 4.5rem); align-items: center; }
.product-kicker { color: #2846b4; font-weight: 800; font-size: .8125rem; letter-spacing: .09em; margin: 0 0 .75rem; line-height: 1.5; }
.product-hero h1 { font-size: var(--public-title); letter-spacing: -.05em; line-height: 1.09; margin: 0 0 1.2rem; }
.product-hero h1 em { color: var(--product-blue); font: inherit; }
.product-hero-copy > p:not(.product-kicker), .product-enquiry-grid > div > p:not(.product-kicker) {
  color: var(--muted);
  max-width: 48ch;
  font-size: var(--public-copy);
  line-height: 1.65;
  margin: 0;
}
.product-actions { display: flex; align-items: center; flex-wrap: wrap; gap: .75rem 1.25rem; margin-top: 1.5rem; }
.product-actions .button { min-height: 50px; }
.product-actions .button span { color: inherit; }
.product-hero .text-link, .product-services .text-link, .product-examples .text-link, .product-enquiry .text-link { color: #2544c0; font-size: .9375rem; }

.project-showcase {
  min-width: 0;
  padding: clamp(1rem, 3.6vw, 2.8rem);
  margin: 0;
  border: 1px solid #d4e1ff;
  border-radius: 1rem;
  background:
    radial-gradient(ellipse at 98% 7%, #94b5ff 0, transparent 63%),
    radial-gradient(ellipse at 5% 100%, #c9daff 0, transparent 62%),
    #eaf1ff;
}
.showcase-window { background: #fff; border: 1px solid #d7e2fa; border-radius: .65rem; box-shadow: 0 16px 32px #244d9d28; overflow: hidden; }
.showcase-toolbar {
  display: flex;
  align-items: center;
  gap: .55rem;
  padding: .75rem;
  border-bottom: 1px solid var(--line);
  font-size: .8125rem;
  font-weight: 800;
}
.showcase-mark { display: grid; place-items: center; width: 1.6rem; height: 1.6rem; border-radius: .35rem; color: white; background: var(--product-blue); }
.showcase-badge { margin-left: auto; font-size: .75rem; color: #294c9e; background: #eef3ff; padding: .1rem .45rem; border-radius: .25rem; }
.showcase-content { padding: clamp(.75rem, 2.2vw, 1.5rem); }
.showcase-content > p { font-size: .75rem; letter-spacing: .06em; color: var(--muted); font-weight: 800; margin: 0 0 .3rem; }
.project-showcase h2 { font-size: clamp(1.1rem, 2vw, 1.6rem); margin: 0 0 .8rem; }
.showcase-progress { display: flex; gap: .25rem; margin-bottom: .75rem; }
.showcase-progress span { flex: 1; height: 4px; border-radius: 4px; background: #dce6fc; }
.showcase-progress span:first-child { background: var(--product-blue); }
.showcase-progress span:nth-child(2) { background: #88a4fd; }
.showcase-content ul { list-style: none; padding: 0; margin: 0; }
.showcase-content li { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .55rem; border-top: 1px solid #e7eef9; padding: .55rem 0; font-size: .875rem; }
.showcase-content li small { font-size: .75rem; color: var(--muted); }
.showcase-step { display: grid; place-items: center; width: 1.65rem; height: 1.65rem; border-radius: .35rem; background: #edf2ff; color: #2544c0; font-size: .75rem; font-weight: 800; }
.project-showcase figcaption { font-size: .8125rem; color: #2d4774; margin-top: .85rem; }

.product-shortcuts {
  display: flex;
  align-items: center;
  gap: .65rem 1.5rem;
  margin-top: clamp(1.5rem, 4vw, 3rem);
  padding: .8rem 1rem;
  border: 1px solid #e3eafa;
  border-radius: .65rem;
  background: #fff;
  box-shadow: 0 8px 22px #284b8a16;
}
.product-shortcuts > strong { flex: none; font-size: .9375rem; }
.product-shortcuts > div { display: flex; flex-wrap: wrap; gap: .4rem; }
.product-shortcuts a { display: inline-flex; align-items: center; min-height: 42px; padding: .45rem .8rem; background: #ebf0ff; color: #2342b2; border-radius: 1.5rem; font-size: .875rem; font-weight: 700; }
.product-shortcuts a:hover { background: #dce6ff; }
.product-services { background: #f4f7fc; }
.product-services .section-heading h2, .product-examples .section-heading h2 { margin-bottom: .35rem; }
.product-services .service-choice-grid article { background: #fff; border-color: var(--line); border-radius: .65rem; }
.product-services .service-choice-top > span { background: #edf2ff; color: #2544c0; }
.product-services .service-choice-grid button { background: var(--product-blue); color: #fff; border-radius: .35rem; }
.product-services .service-choice-grid button:hover { background: #203ec8; }
.product-services .service-choice-grid article > div:last-child { flex-wrap: wrap; }
.product-examples { background: #fff; }
.product-pipeline { margin-block: clamp(2rem, 5vw, 4.5rem); }
.product-pipeline h2 { margin-bottom: .4rem; }
.product-enquiry { background: #edf3ff; padding-block: clamp(2.5rem, 6vw, 5rem); }
.product-enquiry-grid { display: grid; grid-template-columns: .75fr 1fr; gap: clamp(1.5rem, 6vw, 5rem); align-items: start; }
.product-enquiry .text-link { margin-top: 1rem; }
.public-site .request-card { border-radius: .75rem; }
main .request-card .button { background: var(--product-blue); color: #fff; border-radius: .35rem; }
main .request-card .button:hover { background: #203ec8; }
main .request-card .need-option:has(input:checked) { border-color: var(--product-blue); background: #edf3ff; }
.closing, .site-footer { background: var(--product-navy); color: #fff; }
.closing { border-bottom: 1px solid #344867; }
.closing a { color: inherit; }
.closing h2 span, .closing-arrow { color: #a9c0ff; }
.site-footer .brand-forward i { background: #a9c0ff; }

@media (max-width: 940px) {
  .product-header .product-accounts { display: none; }
  .product-header .header-whatsapp { margin-left: auto; }
  .product-header .menu-toggle { display: inline-flex; align-items: center; gap: .45rem; min-height: 44px; order: 4; }
  .product-header nav { display: none; position: absolute; inset: 100% 0 auto; margin: 0; padding: .65rem 1.25rem; background: #fff; border-bottom: 1px solid var(--line); box-shadow: 0 12px 20px #1023401a; }
  .product-header nav.is-open { display: flex; flex-direction: column; align-items: stretch; gap: 0; }
  .product-header nav > a, .product-header nav .mobile-account { display: block; padding: .75rem 0; font-size: .9375rem; }
}
@media (max-width: 680px) {
  .product-header .header-inner { min-height: 62px; gap: .5rem; }
  .product-announcement .wrap { font-size: .8125rem; padding-block: .45rem; }
  .product-hero-grid, .product-enquiry-grid { grid-template-columns: minmax(0, 1fr); }
  .product-hero h1 br { display: none; }
  .product-shortcuts { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 370px) {
  .product-header .fresh-brand .brand-name { font-size: 23px; }
  .product-header .header-whatsapp, .product-header .menu-toggle { gap: .25rem; padding-inline: .45rem; }
  .showcase-content li { font-size: .8125rem; gap: .35rem; }
}


.public-site .consent-banner { border-color: var(--line); }
.public-site .consent-banner p { font-size: .8125rem; line-height: 1.55; }
.public-site .consent-actions button { font-size: .8125rem; border-color: var(--line); }
.public-site .consent-actions [data-analytics-choice="granted"] { background: var(--product-blue); color: #fff; border-color: var(--product-blue); }
.public-site .dock-request { background: var(--product-navy); }
.public-site .dock-request span:last-child { color: #d4e1ff; }
.public-site #request { scroll-margin-top: 8rem; }

/* Inner pages and the client workspace share the public design palette. */
.auth-body, .portal-body {
  --paper: #fff;
  --ink: #102340;
  --muted: #485b75;
  --line: #dce5f2;
  --soft: #f4f7fc;
  --accent: #2b50eb;
  --product-blue: #2b50eb;
  --product-navy: #102340;
}
.public-site .page-hero, .public-site .contact-intro, .public-site .blog-index-heading {
  padding-top: clamp(1.75rem, 4vw, 3.75rem);
  padding-bottom: clamp(1.75rem, 4vw, 3.5rem);
}
.public-site .page-hero h1 em, .public-site .about-manifesto em,
.public-site .closing h2 span, .auth-story h1 em {
  font: inherit;
}
.public-site .page-hero h1 em, .public-site .page-hero h1 > span,
.public-site .about-manifesto em, .public-site main .text-link {
  color: #2544c0;
}
.public-site main .eyebrow, .auth-panel .eyebrow {
  color: #2846b4;
  font-size: .8125rem;
  line-height: 1.5;
  font-weight: 800;
}
.public-site main .button, .public-site main .closing .button, .auth-body .auth-panel .agency-form .button,
.portal-body .page-heading .button, .portal-body .agency-form .button {
  color: #fff;
  background: var(--product-blue);
  border-radius: .35rem;
  font-size: .9375rem;
  min-height: 44px;
}
.public-site main .button:hover, .auth-body .auth-panel .agency-form .button:hover,
.portal-body .page-heading .button:hover, .portal-body .agency-form .button:hover {
  background: #203ec8;
}
.public-site main .button-arrow { background: #fff2; color: inherit; }
.public-site .breadcrumb { color: var(--muted); font-size: .875rem; }
.public-site .breadcrumb a { color: #2544c0; }

.public-site .capability-grid {
  gap: 1rem;
  border: 0;
  background: transparent;
  overflow: visible;
}
.public-site .capability, .public-site .solution-card, .public-site .work-card,
.public-site .launch-offer, .public-site .portfolio-card, .public-site .request-card,
.public-site .chooser-form, .public-site .chooser-result, .public-site .direct-contact-card,
.public-site .empty-state {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: .75rem;
}
.public-site .capability:hover, .public-site .solution-card:hover, .public-site .work-card:hover {
  background: #f6f9ff;
  color: var(--ink);
  border-color: #b4c6fa;
}
.public-site .capability-top, .public-site .capability:hover .capability-top,
.public-site .capability p, .public-site .capability:hover p,
.public-site .solution-card-body p:not(.eyebrow), .public-site .scope-list article p,
.public-site .service-pair-copy p:not(.eyebrow), .public-site .choose-strip p:not(.eyebrow),
.public-site .chooser-human p, .public-site .empty-state p {
  color: var(--muted);
  font-size: var(--public-copy);
  line-height: 1.65;
}
.public-site .capability-bottom, .public-site .capability:hover .capability-bottom {
  color: #2544c0;
  border-color: var(--line);
  font-size: .9375rem;
}
.public-site .capability-icon, .public-site .outcome-list li > span { color: var(--product-blue); }
.public-site .capability h3, .public-site .solution-card-body h3,
.public-site .scope-list article h3 { font-size: clamp(1.125rem, 1rem + .4vw, 1.5rem); line-height: 1.35; }
.public-site .preparation, .public-site .service-detail, .public-site .process-section,
.public-site .service-pair, .public-site .choose-strip, .public-site .launch-agreement,
.public-site .guide-human, .public-site .brief-example, .public-site .request-contact-choice {
  background: var(--soft);
  border-color: var(--line);
}
.public-site .about-manifesto {
  background: linear-gradient(145deg, #edf3ff, #ccdafe);
  min-height: clamp(16rem, 29vw, 26rem);
  padding: clamp(1.75rem, 5vw, 4rem);
  border-radius: .85rem;
}
.public-site .about-manifesto > p {
  font-size: var(--public-title);
  letter-spacing: -.045em;
  line-height: 1.14;
}
.public-site .about-manifesto > span { font-size: .75rem; bottom: 1rem; }
.public-site .manifesto-mark { color: #4165d9; }
.public-site .service-hero-art { background: #edf3ff; border-radius: .9rem; overflow: hidden; }

.public-site .catalog-filters button {
  color: #2342b2;
  border-color: #d7e2fb;
  background: #edf3ff;
  font-size: .875rem;
  min-height: 42px;
}
.public-site .catalog-filters button[aria-pressed="true"] { color: #fff; background: var(--product-blue); border-color: var(--product-blue); }
.public-site .goal-options label, .public-site .chooser-select select, .public-site .request-label input,
.public-site .request-label textarea, .public-site .need-option,
.auth-panel .agency-form input:not([type="checkbox"]), .portal-body .agency-form input:not([type="checkbox"]),
.portal-body .agency-form textarea, .portal-body .agency-form select { border-color: var(--line); }
.public-site .goal-options label:has(input:checked), .public-site .need-option:has(input:checked) { border-color: var(--product-blue); background: #edf3ff; }
.public-site .goal-options input, .public-site .request-contact-choice input { accent-color: var(--product-blue); }
.public-site .goal-options strong, .public-site .chooser-select { font-size: .9375rem; }
.public-site .goal-options small { font-size: .875rem; color: var(--muted); }
.public-site .request-progress { border-color: var(--line); }
.public-site .request-progress > li { font-size: .8125rem; color: var(--muted); }
.public-site .request-progress > .is-current > span { background: var(--product-blue); border-color: var(--product-blue); color: #fff; }
.public-site .blog-card-copy .blog-meta { color: #2846b4; }
.public-site .guide-toc, .public-site .blog-post #get-help { background: var(--soft); }
.public-site .closing .eyebrow { color: #c3d4ff; }

.auth-body, .portal-body { background: #f4f7fc; color: var(--ink); }
.auth-header, .portal-body .portal-topbar { background: #fff; border-color: var(--line); }
.auth-body .brand-forward i, .portal-body .brand-forward i { background: var(--product-blue); }
.auth-story { background: var(--product-navy); color: #fff; }
.auth-story h1 { font-size: var(--public-title); letter-spacing: -.045em; }
.auth-story h1 em, .auth-story > .eyebrow, .auth-story > p:not(.eyebrow), .auth-story .auth-help { color: #c3d4ff; }
.auth-story .workspace-preview { background: #edf3ff; color: var(--ink); transform: none; }
.auth-panel h2, .portal-body .panel h2 { color: var(--ink); }
.portal-body .portal-sidebar, .portal-body .panel, .portal-body .project-card {
  background: #fff;
  color: var(--ink);
  border-color: var(--line);
}
.portal-body .portal-sidebar nav > a.active { background: var(--product-blue); color: #fff; }
.portal-body .portal-sidebar nav > a:hover:not(.active), .portal-body .panel.accent-panel { background: #edf3ff; color: var(--ink); }

@media (max-width: 390px) {
  .public-site .request-progress { gap: .35rem; }
  .public-site .request-progress > li { gap: .25rem; font-size: .75rem; }
}


.public-site .launch-offers { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.public-site .launch-offer > a { white-space: normal; max-width: 100%; }
@media (max-width: 760px) {
  .public-site .launch-offers { grid-template-columns: minmax(0, 1fr); }
}
