:root {
  --navy:#14253c; --secondary:#425166; --beige:#e1d6ca; --gold:#bd914c; --gold-dark:#b68a45; --rule:#ded8d0; --white:#fff;
  --max:1320px; --gutter:clamp(24px,4vw,64px);
  font-family:Arial,Helvetica,sans-serif; color:var(--navy); background:var(--white); font-synthesis:none;
  scroll-behavior:smooth; scroll-padding-top:28px;
}
* { box-sizing:border-box; }
body { margin:0; font-size:16px; line-height:1.65; }
a { color:inherit; text-underline-offset:4px; }
button,input,textarea { font:inherit; }
button,summary { cursor:pointer; }
button,a,summary { -webkit-tap-highlight-color:transparent; }
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible { outline:3px solid var(--navy); outline-offset:4px; }
::selection { background:var(--beige); color:var(--navy); }
.container { width:calc(100% - var(--gutter)*2); max-width:var(--max); margin-inline:auto; }
h1,h2,h3,h4,p { margin:0; }
h1,h2,h3 { font-weight:600; }
h1 { font-size:clamp(38px,3.75vw,58px); line-height:1.12; letter-spacing:-.035em; }
h2 { font-size:clamp(28px,2.6vw,40px); line-height:1.2; letter-spacing:-.028em; margin-bottom:18px; text-wrap:pretty; }
h3 { font-size:20px; line-height:1.4; letter-spacing:-.015em; margin-bottom:12px; }
p { color:var(--secondary); }
.skip-link { position:absolute; left:16px; top:-100px; background:var(--navy); color:white; padding:10px 18px; z-index:10; }
.skip-link:focus { top:10px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.site-header { border-bottom:1px solid var(--rule); }
.header-inner { min-height:92px; display:flex; align-items:center; justify-content:space-between; gap:32px; }
.brand { display:flex; align-items:center; gap:13px; font-size:13px; font-weight:700; letter-spacing:.03em; text-decoration:none; white-space:nowrap; }
.brand small { display:block; font-size:10px; font-weight:400; letter-spacing:.015em; margin-top:3px; color:var(--secondary); }
.brand-mark { display:grid; place-items:center; width:30px; height:33px; border:1px solid var(--navy); font-size:16px; }
#navigation { display:flex; align-items:center; gap:32px; }
#navigation>a { font-size:13px; font-weight:600; text-decoration:none; }
#navigation>a:not(.button):hover { text-decoration:underline; }
.button { display:inline-flex; justify-content:center; align-items:center; gap:12px; background:var(--gold); color:var(--navy); border:1px solid transparent; padding:13px 19px; font-size:13px; line-height:1.5; font-weight:700; text-decoration:none; min-height:46px; transition:background .18s ease; }
.button:hover { background:var(--gold-dark); }
.button-small { padding:11px 18px; }
.button-outline { border-color:var(--navy); background:transparent; }
.button-outline:hover { background:#f4f1ec; }
.actions { display:flex; align-items:stretch; flex-wrap:wrap; gap:12px; margin-top:26px; }
.menu-toggle { display:none; border:1px solid var(--rule); background:white; color:var(--navy); padding:10px 14px; font-size:13px; min-height:44px; }
.hero { display:grid; grid-template-columns:1.3fr 1fr; gap:clamp(40px,5vw,84px); align-items:center; padding-block:64px; }
.hero h1 { margin-bottom:26px; max-width:20ch; }
.hero h1 span { display:inline; }
.hero-copy>p { font-size:16px; max-width:62ch; }
.hero-copy .starting-price { font-weight:700; color:var(--navy); margin-top:24px; }
.hero-copy .fine-print { font-size:12px; margin-top:20px; max-width:70ch; }
.hero-art { width:100%; max-width:430px; justify-self:end; }
.growth-diagram { width:100%; height:auto; display:block; }
.svg-label { font:700 8px Arial,sans-serif; letter-spacing:1px; fill:var(--navy); }
.svg-heading { font:600 27px Arial,sans-serif; letter-spacing:-.6px; fill:var(--navy); }
.svg-button { font:700 7px Arial,sans-serif; fill:var(--navy); }
.svg-caption { font:700 8px Arial,sans-serif; letter-spacing:1px; fill:var(--navy); }
.phone-frame { animation:adapt 7s ease-in-out infinite; transform-origin:343px 288px; }
.growth-line { stroke-dasharray:260; animation:draw-growth 7s ease-in-out infinite; }
.growth-point { animation:point-pulse 7s ease-in-out infinite; transform-origin:185px 390px; }
.motion-toggle { background:transparent; border:0; text-decoration:underline; text-underline-offset:3px; font-size:11px; color:var(--secondary); display:block; padding:8px 0; margin-left:auto; min-height:34px; }
.motion-paused * { animation-play-state:paused!important; }
@keyframes adapt { 0%,15%,85%,100% { transform:translateY(0); } 45%,60% { transform:translateY(-8px); } }
@keyframes draw-growth { 0%,10% { stroke-dashoffset:245; } 55%,100% { stroke-dashoffset:0; } }
@keyframes point-pulse { 0%,40%,100% { transform:scale(1); } 55%,65% { transform:scale(1.4); } }
.fine-print { font-size:12px; line-height:1.65; }
.stats-band { background:var(--beige); padding-block:34px 26px; }
.stats-band h2 { font-size:20px; letter-spacing:-.015em; margin-bottom:25px; }
.stats-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-bottom:22px; }
.stats-grid>div { padding-inline:38px; border-left:1px solid #c8bbab; }
.stats-grid>div:first-child { padding-left:0; border:0; }
.stats-grid strong { display:block; font-size:clamp(32px,3.6vw,50px); line-height:1.2; letter-spacing:-.035em; font-weight:500; font-variant-numeric:tabular-nums; white-space:nowrap; }
.stats-grid p { font-size:14px; margin-top:8px; }
.section { padding-block:60px; }
.ruled { border-bottom:1px solid #eeeae5; }
.section-intro { max-width:85ch; font-size:16px; margin-bottom:32px; }
.value-stack h3 { font-size:22px; margin-block:22px 18px; }
.value-stack p { max-width:88ch; font-size:16px; }
.value-stack p+p { margin-top:15px; }
.services-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px 38px; }
.services-grid article { border-top:1px solid var(--rule); padding-top:22px; }
.services-grid h3 { font-size:20px; min-height:2.8em; }
.services-grid p { font-size:15px; max-width:44ch; }
.industry-header { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:15px; }
.industry-header h3 { font-size:18px; margin:0; }
.slider-controls { display:flex; gap:8px; }
.slider-arrow { display:grid; place-items:center; border:1px solid #89929d; width:46px; height:44px; background:white; color:var(--navy); font-size:24px; line-height:1; }
.slider-arrow:hover:not(:disabled) { background:var(--beige); }
.slider-arrow:disabled { cursor:default; color:#777; border-color:var(--rule); }
.industry-track { --visible:6; display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 24px*(var(--visible) - 1))/var(--visible)); gap:24px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scroll-padding:0; margin:0; padding:4px 0 12px; list-style:none; scrollbar-width:thin; scrollbar-color:#a69680 #f1ece6; }
.industry-track li { scroll-snap-align:start; border-top:1px solid var(--rule); padding-block:20px; font-size:17px; font-weight:600; line-height:1.5; min-height:100px; overflow-wrap:break-word; }
.industry-track:focus-visible { outline-offset:6px; }
.industry-note { margin-top:16px; }
.case-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.case-study { border:1px solid var(--rule); }
.case-result { padding:26px 28px 18px; background:var(--beige); border-bottom:3px solid var(--gold); }
.case-result span { font-size:11px; letter-spacing:.05em; font-weight:700; display:block; margin-bottom:20px; }
.case-result strong { font-size:clamp(32px,3.8vw,52px); font-weight:500; line-height:1.2; letter-spacing:-.035em; white-space:nowrap; font-variant-numeric:tabular-nums; }
.case-copy { padding:26px 28px; }
.case-copy p { font-size:15px; max-width:58ch; }
.case-disclaimer { margin-top:17px; max-width:120ch; }
.pricing-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; }
.price-card { border:1px solid #c6a46e; padding:27px 24px 23px; display:flex; flex-direction:column; align-items:start; }
.price-card .card-category { font-size:12px; font-weight:700; color:var(--secondary); margin-bottom:16px; }
.price-card h3 { font-size:23px; margin-bottom:9px; }
.price { font-size:31px!important; line-height:1.2; color:var(--navy); letter-spacing:-.025em; font-weight:600; margin-bottom:19px!important; }
.price-note { font-size:12px!important; margin-top:-13px; }
.price-card p { font-size:15px; margin-bottom:18px; }
.price-card h4 { font-size:14px; margin-bottom:10px; }
.price-card ul { padding:17px 0 0 18px; margin:0 0 20px; border-top:1px solid var(--rule); width:100%; font-size:14px; line-height:1.7; color:var(--secondary); }
.price-card li { padding-left:2px; margin-bottom:7px; }
.price-card .exclusions { font-size:12px; line-height:1.7; padding-top:16px; border-top:1px solid var(--rule); }
.price-card .fine-print { font-size:12px; }
.card-button { margin-top:auto; width:100%; padding-inline:9px; }
.process-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:38px; }
.process-grid article { border-top:2px solid #aeb9c4; padding-top:18px; display:grid; grid-template-columns:28px 1fr; gap:12px; }
.process-grid h3 { margin-bottom:9px; }
.process-grid p { font-size:15px; }
.step { font-size:12px; color:var(--secondary); margin-top:5px; font-variant-numeric:tabular-nums; }
.faq-list { margin-top:30px; }
details { border-top:1px solid var(--rule); }
details:last-child { border-bottom:1px solid var(--rule); }
summary { list-style:none; display:flex; justify-content:space-between; gap:25px; padding-block:18px; font-size:16px; font-weight:600; line-height:1.5; }
summary::-webkit-details-marker { display:none; }
summary::after { content:'+'; font-size:23px; font-weight:400; line-height:1; flex-shrink:0; }
details[open] summary::after { content:'−'; }
details p { font-size:15px; max-width:90ch; padding-bottom:23px; padding-right:32px; }
.contact-band { background:var(--beige); padding-block:56px 64px; }
.contact-intro h2 { max-width:none; }
.contact-intro h3 { font-size:23px; margin-block:21px 16px; }
.contact-intro p { max-width:82ch; font-size:16px; }
.contact-intro .fine-print { font-size:12px; margin-top:18px; }
.project-form { border-top:1px solid #baac9a; margin-top:38px; padding-top:33px; max-width:960px; scroll-margin-top:32px; }
.project-form h3 { font-size:25px; margin-bottom:13px; }
.project-form>p { font-size:15px; max-width:82ch; }
.form-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 24px; margin-top:28px; }
.form-field { display:flex; flex-direction:column; gap:8px; min-width:0; }
.form-field-wide { grid-column:1/-1; }
label { font-size:14px; font-weight:600; }
input,textarea { width:100%; min-height:48px; border:1px solid #8e8c86; background:white; color:var(--navy); padding:11px 13px; border-radius:0; caret-color:var(--navy); }
textarea { resize:vertical; min-height:140px; }
input:user-invalid,textarea:user-invalid { border-color:#8b2f27; }
.project-form .form-privacy { font-size:12px; margin-top:20px; }
.project-form .fine-print { font-size:12px; margin-top:10px; }
.project-form>.button { margin-top:22px; }
.project-form .button:disabled { cursor:wait; opacity:.75; }
#form-status { margin-top:16px; font-size:14px; }
#form-status:empty { display:none; }
.site-footer { border-top:1px solid var(--rule); padding-block:46px 36px; }
.footer-inner { display:flex; flex-direction:column; align-items:center; text-align:center; }
.footer-brand { font-size:17px; font-weight:700; letter-spacing:.045em; text-decoration:none; }
.footer-tagline { font-size:14px; margin-top:9px; }
.footer-links { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:18px; margin-top:29px; font-size:13px; }
.footer-links a { text-decoration:none; padding-block:5px; }
.footer-links a:hover { text-decoration:underline; }
.copyright { font-size:12px; margin-top:27px; }
.legal-page { max-width:980px; padding-block:44px 70px; }
.legal-back { display:inline-block; margin-bottom:25px; font-size:14px; }
.legal-page h1 { font-size:42px; margin-bottom:12px; }
.legal-page h2 { font-size:23px; margin-top:32px; margin-bottom:12px; }
.legal-page p { max-width:85ch; margin-bottom:12px; }
.legal-page ul { margin:12px 0 20px; padding-left:24px; color:var(--secondary); }
.legal-page li { margin-bottom:6px; padding-left:3px; }
.legal-page > p:last-child { margin-top:24px; }
.policy-draft { background:#f4f1ec; padding:18px; font-size:13px; margin-top:24px; }
@media(max-width:1200px) {
 .industry-track { --visible:4; }
 .hero { gap:40px; grid-template-columns:1.2fr 1fr; }
 #navigation { gap:24px; }
 .price-card { padding:24px 20px; }
 .price-card h3 { font-size:21px; }
 .price { font-size:28px!important; }
 .services-grid { gap:30px; }
 .services-grid h3 { font-size:19px; }
}
@media(max-width:900px) {
 #navigation { gap:17px; }
 .brand { font-size:11px; }
 .brand small { font-size:9px; }
 .header-inner { gap:20px; }
 .hero { gap:28px; }
 .hero h1 { font-size:36px; }
 .hero-copy>p { font-size:15px; }
 .hero .actions { flex-direction:column; align-items:start; }
 .stats-grid>div { padding-inline:20px; }
 .stats-grid p { font-size:13px; }
 .services-grid { gap:24px; }
 .services-grid h3 { font-size:18px; }
 .pricing-grid { gap:16px; }
 .price-card { padding:22px 16px; }
 .price-card h3 { font-size:20px; }
 .price { font-size:25px!important; }
 .price-card p,.price-card ul { font-size:14px; }
 .process-grid { gap:24px; }
}
@media(max-width:700px) {
 :root { --gutter:24px; }
 .header-inner { min-height:82px; flex-wrap:wrap; gap:0; }
 .brand { font-size:12px; }
 .brand small { font-size:9px; }
 .menu-toggle:not([hidden]) { display:block; }
 #navigation { width:100%; flex-wrap:wrap; justify-content:space-between; padding-block:12px 20px; gap:12px; }
 html.js #navigation { display:none; }
 html.js #navigation.is-open { display:flex; }
 #navigation>a { padding-block:8px; }
 .hero { grid-template-columns:1fr; padding-block:38px 32px; gap:30px; }
 .hero h1 { font-size:clamp(36px,7.6vw,48px); max-width:22ch; margin-bottom:22px; }
 .hero-copy>p { font-size:16px; }
 .hero .actions { flex-direction:row; }
 .hero-art { max-width:370px; justify-self:center; }
 .stats-band { padding-block:30px 24px; }
 .stats-band h2 { font-size:19px; }
 .stats-grid { gap:12px; }
 .stats-grid>div { padding-inline:10px; }
 .stats-grid strong { font-size:clamp(24px,5.3vw,36px); }
 .stats-grid p { font-size:12px; }
 .stats-band .fine-print { font-size:11px; }
 .section { padding-block:42px; }
 h2 { font-size:30px; }
 .value-stack h3 { font-size:21px; }
 .services-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 24px; }
 .services-grid h3 { font-size:18px; min-height:0; }
 .services-grid p { font-size:14px; }
 .industry-track { --visible:2; gap:18px; grid-auto-columns:calc((100% - 18px)/2); }
 .industry-track li { font-size:17px; }
 .case-grid,.pricing-grid,.process-grid { grid-template-columns:1fr; gap:22px; }
 .case-result strong { font-size:42px; }
 .price-card { padding:26px; }
 .price-card h3 { font-size:23px; }
 .price { font-size:30px!important; }
 .price-card p,.price-card ul { font-size:15px; }
 .card-button { margin-top:18px; }
 .process-grid article { grid-template-columns:28px 1fr; }
 .contact-band { padding-block:42px; }
 .contact-intro h3 { font-size:21px; }
 .project-form { margin-top:30px; padding-top:28px; }
 .project-form h3 { font-size:23px; }
 .form-fields { gap:20px; }
 .site-footer { padding-block:38px 30px; }
 .footer-brand { font-size:16px; }
 .footer-links { gap:12px; }
 .legal-page h1 { font-size:35px; }
}
@media(max-width:440px) {
 :root { --gutter:20px; }
 .brand { font-size:11px; gap:9px; }
 .brand small { font-size:8px; }
 .stats-grid { gap:5px; }
 .stats-grid>div { padding-inline:8px; }
 .stats-grid strong { font-size:24px; }
 .stats-grid p { font-size:11px; }
 .services-grid { grid-template-columns:1fr; gap:24px; }
 .services-grid h3 { font-size:20px; }
 .form-fields { grid-template-columns:1fr; }
 .case-result { padding-inline:22px; }
 .case-result strong { font-size:36px; }
 .footer-links { gap:9px; font-size:12px; }
}
@media(prefers-reduced-motion:reduce) {
 :root { scroll-behavior:auto; }
 *,*::before,*::after { animation:none!important; transition:none!important; }
 .motion-toggle { display:none; }
}

/* Browser-comment revisions: stronger hierarchy and more compact content. */
h2 { font-weight:700; }
.stats-band { padding-block:24px 20px; }
.stats-band h2 { margin-bottom:16px; }
.stats-grid { margin-bottom:15px; }
.stats-grid strong { font-weight:700; font-size:clamp(30px,3.4vw,47px); }
.stats-grid p { margin-top:5px; }
.case-result { padding:20px 28px; }
.case-result strong { font-weight:700; }
.industry-carousel { display:grid; grid-template-columns:44px minmax(0,1fr) 44px; gap:20px; align-items:center; }
.industry-track { --visible:5; scrollbar-width:none; padding-bottom:0; }
.industry-track::-webkit-scrollbar { display:none; }
.industry-track li { min-height:92px; }
.slider-arrow { width:44px; }
.autoplay-toggle { display:block; margin:10px 0 0 auto; padding:7px 0 7px 10px; border:0; background:transparent; color:var(--secondary); font-size:12px; text-decoration:underline; text-underline-offset:4px; min-height:34px; }
.price-card { height:570px; }
.price-details { flex:1 1 auto; min-height:0; width:100%; overflow-y:auto; overscroll-behavior-y:contain; padding:0 10px 0 0; margin:8px 0 20px; scrollbar-width:thin; scrollbar-color:#a69680 #f1ece6; }
.price-details::-webkit-scrollbar { width:6px; }
.price-details::-webkit-scrollbar-track { background:#f1ece6; }
.price-details::-webkit-scrollbar-thumb { background:#a69680; }
.price-card .card-category { margin-bottom:10px; }
.price-card .price { margin-bottom:12px!important; }
.price-card .price-note { margin-top:-5px; margin-bottom:8px; }
.price-details p,.price-details ul { font-size:14px; }
.price-details li { margin-bottom:5px; }
.price-details ul { padding-top:12px; }
.card-button { flex-shrink:0; }
.contact-grid { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:clamp(40px,5vw,72px); align-items:start; }
.contact-intro h2 { max-width:24ch; }
.project-form { margin-top:0; padding-top:0; max-width:none; border-top:0; }
.project-form h3 { font-size:23px; }
.project-form>p { font-size:14px; }
.project-form .form-fields { gap:18px 20px; margin-top:23px; }
.project-form textarea { min-height:120px; }
@media(max-width:1200px) {
 .industry-track { --visible:4; }
 .industry-carousel { gap:15px; }
}
@media(max-width:900px) {
 .contact-grid { grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:30px; }
 .contact-intro h2 { font-size:30px; }
 .contact-intro .actions { flex-direction:column; align-items:start; }
 .project-form .form-fields { grid-template-columns:1fr; }
 .price-card { height:590px; }
}
@media(max-width:700px) {
 .stats-band { padding-block:24px 20px; }
 .stats-band h2 { margin-bottom:18px; }
 .stats-grid strong { font-size:clamp(24px,5.3vw,36px); }
 .industry-carousel { grid-template-columns:36px minmax(0,1fr) 36px; gap:10px; }
 .slider-arrow { width:36px; }
 .industry-track { --visible:2; }
 .industry-track li { font-size:15px; min-height:95px; }
 .case-result { padding:19px 24px; }
 .price-card { height:auto; }
 .price-details { flex:0 1 auto; max-height:310px; margin-top:12px; }
 .card-button { margin-top:0; }
 .contact-grid { grid-template-columns:1fr; gap:36px; }
 .contact-intro h2 { max-width:none; }
 .contact-intro .actions { flex-direction:row; }
 .project-form { padding-top:28px; border-top:1px solid #baac9a; }
 .project-form .form-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:440px) {
 .stats-grid strong { font-size:24px; }
 .project-form .form-fields { grid-template-columns:1fr; }
 .industry-carousel { grid-template-columns:32px minmax(0,1fr) 32px; gap:8px; }
 .slider-arrow { width:32px; }
 .industry-track { gap:12px; grid-auto-columns:calc((100% - 12px)/2); }
 .industry-track li { font-size:14px; }
}

/* Latest refinement: lighter hero, compact bands and a smaller enquiry form. */
.stats-band { padding-block:18px; }
.stats-band h2 { font-size:18px; margin-bottom:10px; }
.stats-grid { margin-bottom:0; }
.stats-grid strong { font-size:clamp(28px,3.1vw,42px); }
.stats-grid p { font-size:13px; margin-top:3px; }
.case-result { padding:12px 24px; text-align:center; }
.case-result strong { display:block; font-size:clamp(28px,3.1vw,42px); line-height:1.2; }
.industry-carousel { display:block; }
.contact-band { padding-block:38px; }
.contact-grid { grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:clamp(32px,4vw,56px); }
.contact-intro h3 { font-size:21px; margin-block:16px 12px; }
.contact-intro .actions { margin-top:20px; }
.project-form { width:100%; max-width:540px; justify-self:end; }
.project-form h3 { font-size:21px; margin-bottom:9px; }
.project-form>p { font-size:13px; line-height:1.55; }
.project-form .form-fields { gap:12px 16px; margin-top:17px; }
.project-form .form-field { gap:5px; }
.project-form label { font-size:13px; }
.project-form input { min-height:42px; padding:8px 11px; font-size:14px; }
.project-form textarea { min-height:88px; padding:8px 11px; font-size:14px; line-height:1.5; }
.project-form .form-privacy { font-size:11px; line-height:1.55; margin-top:13px; }
.project-form>.button { margin-top:15px; min-height:42px; padding:10px 16px; }
@media(max-width:900px) {
 .contact-grid { grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:28px; }
}
@media(max-width:700px) {
 .stats-band { padding-block:18px; }
 .stats-grid strong { font-size:clamp(23px,5vw,32px); }
 .stats-grid p { font-size:12px; }
 .case-result { padding:12px 18px; }
 .case-result strong { font-size:clamp(28px,6vw,38px); }
 .contact-band { padding-block:32px; }
 .contact-grid { grid-template-columns:1fr; gap:28px; }
 .project-form { max-width:none; justify-self:stretch; padding-top:24px; }
}
@media(max-width:440px) {
 .stats-grid strong { font-size:23px; }
 .stats-grid p { font-size:11px; }
}

/* TN update: preserve the approved system, add the requested package and Portfolio surfaces. */
.brand-mark { font-size:12px; font-weight:700; }
.brand { font-size:12px; }
.stats-grid strong { font-size:clamp(24px,2.65vw,36px); }
.case-result strong { font-size:clamp(24px,2.35vw,32px); }
#industries { background:#fff; border-top:1px solid #eeeae5; }
.industry-track { gap:18px; grid-auto-columns:calc((100% - 18px*(var(--visible) - 1))/var(--visible)); }
.industry-track li { border:1px solid var(--gold); border-radius:3px; background:#fff; color:#111; font-size:14px; font-weight:400; letter-spacing:0; padding:14px 12px; min-height:54px; white-space:nowrap; display:flex; justify-content:center; align-items:center; text-align:center; }
.industry-pagination { display:flex; justify-content:center; gap:6px; margin-top:14px; }
.industry-pagination button { display:grid; place-items:center; width:28px; height:28px; padding:0; border:0; background:transparent; }
.industry-pagination button::before { content:''; width:7px; height:7px; border:1px solid #80653e; border-radius:50%; background:white; }
.industry-pagination button[aria-current="true"]::before { background:var(--gold); }
.autoplay-toggle { margin-top:0; }
.pricing-grid { gap:24px; align-items:start; }
.price-card { height:690px; min-width:0; display:grid; grid-template-rows:148px minmax(0,1fr) 48px; gap:16px; padding:24px 22px; }
.package-heading { display:grid; grid-template-rows:54px 82px; gap:12px; }
.price-card .package-heading h3 { margin:0; font-size:17px; line-height:1.5; font-weight:700; letter-spacing:.025em; overflow-wrap:anywhere; }
.package-price-area { min-width:0; }
.price-card .package-price-prefix,.package-price-spacer { display:block; min-height:20px; font-size:12px; margin:0 0 5px; }
.price-card .package-price { font-size:42px; line-height:1.15; font-weight:700; color:var(--navy); margin:0; letter-spacing:-.025em; }
.price-card .tailored-price { font-size:24px; line-height:1.3; letter-spacing:-.02em; max-width:18ch; }
.price-card .price-details { height:100%; width:100%; margin:0; padding:0 12px 0 0; overflow-y:scroll; overflow-x:hidden; scrollbar-gutter:stable; scrollbar-width:thin; scrollbar-color:#92734b #f1ece6; }
.price-details::-webkit-scrollbar { width:8px; }
.price-details::-webkit-scrollbar-track { background:#f1ece6; }
.price-details::-webkit-scrollbar-thumb { background:#92734b; border-radius:4px; }
.price-card .package-tagline { font-size:14px; font-weight:600; line-height:1.6; margin:0 0 20px; }
.price-details h4 { font-size:14px; line-height:1.6; margin:23px 0 13px; }
.price-details ul { margin:0 0 20px; padding:0 0 0 18px; border-top:0; font-size:14px; line-height:1.6; }
.price-details li { min-height:36px; margin-bottom:9px; padding-left:2px; }
.package-information { margin-top:24px; border-bottom:1px solid var(--rule); }
.package-information summary { font-size:13px; padding-block:15px; line-height:1.6; gap:12px; }
.package-information summary::after { font-size:20px; }
.package-information>div { overflow:visible; }
.package-information p { padding:0; margin:0 0 14px; font-size:13px; line-height:1.7; overflow-wrap:break-word; }
.price-card .card-button { height:48px; margin:0; padding:10px 9px; min-width:0; font-size:12px; }
.enquiry-dialog { width:calc(100% - 32px); max-width:620px; max-height:calc(100dvh - 32px); overflow-y:auto; overscroll-behavior:contain; border:1px solid var(--rule); background:#fff; color:var(--navy); padding:34px; }
.enquiry-dialog::backdrop { background:rgb(20 37 60 / .55); }
.dialog-close { display:grid; place-items:center; width:40px; height:40px; position:absolute; right:12px; top:10px; background:white; color:var(--navy); border:1px solid var(--rule); font-size:26px; line-height:1; }
.enquiry-dialog h2 { font-size:29px; line-height:1.25; margin:12px 32px 14px 0; }
.enquiry-dialog>p { font-size:14px; line-height:1.65; }
.enquiry-dialog .selected-enquiry { margin-top:15px; font-size:12px; font-weight:600; color:var(--navy); }
.enquiry-dialog .project-form { max-width:none; border:0; padding:0; margin-top:0; }
.enquiry-dialog .form-fields { margin-top:21px; }
.enquiry-dialog .form-privacy { margin-top:16px; }
.enquiry-dialog .popup-no-obligation { font-size:12px; margin-top:11px; }
.form-status { font-size:13px; margin-top:14px; }
.form-status:empty { display:none; }
.portfolio-page { padding-top:48px; }
.showcase-intro { padding-bottom:34px; }
.showcase-intro h1 { font-size:clamp(34px,3.5vw,48px); margin-bottom:18px; }
.showcase-intro p { max-width:78ch; }
.showcase-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:30px 26px; max-width:1120px; }
.showcase-card { grid-column:span 2; min-width:0; margin:0; }
.showcase-card:nth-child(4) { grid-column:2/span 2; }
.showcase-card:nth-child(5) { grid-column:4/span 2; }
.showcase-image { aspect-ratio:4/3; display:flex; align-items:center; justify-content:center; background:#f7f4f0; border:1px solid var(--rule); overflow:hidden; }
.showcase-image img { width:100%; height:100%; object-fit:contain; display:block; }
.showcase-card h2 { font-size:18px; line-height:1.45; margin:15px 0 0; text-align:center; letter-spacing:-.01em; }
.showcase-cta { margin-top:52px; padding-block:38px; background:var(--beige); }
.showcase-cta p { max-width:78ch; margin-bottom:22px; }
.showcase-cta h2 { font-size:30px; }
@media(max-width:1050px) and (min-width:701px) {
 .pricing-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .price-card:last-child { grid-column:1/-1; width:calc((100% - 24px)/2); justify-self:center; }
 .showcase-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .showcase-card,.showcase-card:nth-child(4),.showcase-card:nth-child(5) { grid-column:auto; }
 .showcase-card:last-child { grid-column:1/-1; width:calc((100% - 26px)/2); justify-self:center; }
}
@media(max-width:900px) {
 .brand { font-size:10px; }
 #navigation { gap:15px; }
}
@media(max-width:700px) {
 .brand { font-size:10px; }
 .stats-grid strong { font-size:clamp(23px,4.8vw,31px); }
 .case-result strong { font-size:clamp(24px,5.5vw,30px); }
 .industry-track { --visible:2; }
 .industry-track li { font-size:13px; white-space:normal; }
 .price-card { height:690px; width:auto; }
 .price-card .package-heading h3 { font-size:18px; }
 .price-card .package-price { font-size:42px; }
 .price-card .tailored-price { font-size:24px; }
 .price-card .price-details { max-height:none; flex:initial; }
 .enquiry-dialog { padding:26px 22px; }
 .enquiry-dialog h2 { font-size:26px; }
 .enquiry-dialog .project-form { padding-top:0; }
 .showcase-grid { grid-template-columns:1fr; max-width:430px; gap:28px; }
 .showcase-card,.showcase-card:nth-child(4),.showcase-card:nth-child(5) { grid-column:auto; width:auto; }
 .showcase-intro { padding-bottom:28px; }
 .portfolio-page { padding-top:34px; }
 .showcase-cta { margin-top:38px; }
}
@media(max-width:380px) {
 .stats-grid strong { white-space:normal; font-size:23px; }
 .enquiry-dialog .form-fields { grid-template-columns:1fr; }
}

.price-details li { min-height:44px; }

.price-card:first-child .price-details li { min-height:49px; }

/* One persistent scrollbar per package, independent of operating-system overlay settings. */
.price-card { height:620px; }
.price-scroll-shell { min-height:0; display:grid; grid-template-columns:minmax(0,1fr) 6px; gap:10px; }
.price-card .price-details { scrollbar-width:none; scrollbar-gutter:auto; padding-right:0; }
.price-details::-webkit-scrollbar { display:none; }
.price-details li,.price-card:first-child .price-details li { min-height:32px; margin-bottom:8px; }
.package-scrollbar { position:relative; height:100%; min-height:0; border-radius:4px; background:#eee6da; touch-action:none; cursor:pointer; }
.package-scroll-thumb { display:block; position:absolute; top:0; left:0; right:0; height:40px; min-height:32px; border-radius:4px; background:#ded3c3; }
.package-scrollbar:hover .package-scroll-thumb { background:#d2c4b0; }
@media(max-width:700px) { .price-card { height:640px; } }

.price-scroll-shell { height:100%; min-height:0; overflow:hidden; grid-template-rows:minmax(0,1fr); }

.price-card:first-child .price-details li { min-height:40px; }

:root { scrollbar-gutter:stable; }

/* Consolidated refinement: natural pricing rhythm and wider showcase. */
.price-card .price-details li, .price-card:first-child .price-details li {min-height:0;margin:0 0 14px;}
.price-card .price-details ul {display:block;height:auto;}
.package-scrollbar {background:#f2ece3;}
.showcase-intro {padding-bottom:52px;}
.showcase-intro p {margin-bottom:0;}
.showcase-grid {max-width:1280px;}
.showcase-cta {text-align:center;}
.showcase-cta p {max-width:700px;margin-inline:auto;}
.mobile-carousel-controls {display:none;}
@media(max-width:700px) {
 .showcase-intro {padding-bottom:32px;}
 .services-grid.mobile-track,.process-grid.mobile-track {display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:88%;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;padding:4px 2px 12px;}
 .mobile-track::-webkit-scrollbar {display:none;}
 .mobile-track>article {scroll-snap-align:start;scroll-snap-stop:always;min-width:0;height:auto;}
 .mobile-carousel-controls {display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:16px;}
 .mobile-carousel-dot {border:0;background:transparent;padding:10px;min-width:32px;min-height:36px;cursor:pointer;}
 .mobile-carousel-dot::before {content:'';display:block;width:8px;height:8px;border-radius:50%;background:#d5c9b8;}
 .mobile-carousel-dot[aria-current=true]::before {background:var(--gold,#bd914c);}
 .mobile-carousel-toggle {border:0;background:transparent;color:var(--navy,#14253c);font:inherit;font-size:12px;text-decoration:underline;text-underline-offset:3px;padding:10px;cursor:pointer;}
}

/* Final visual refinements: preserve card size and approved feature rhythm. */
.price-scroll-shell {height:calc(100% - 8px);align-self:start;}
.price-card .price-details {padding-bottom:12px;}
.package-scrollbar {background:#f8f5ef;}
.package-scrollbar::before {content:'';position:absolute;inset:0 -5px;}
.showcase-grid {max-width:1320px;gap:30px 24px;}
.showcase-image {aspect-ratio:auto;display:block;background:transparent;border:0;overflow:visible;}
.showcase-image img {width:100%;height:auto;object-fit:contain;}
.showcase-preview {display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in;}
.showcase-preview:focus-visible {outline:2px solid #14253c;outline-offset:5px;}
.showcase-cta h2 {font-size:37px;font-weight:700;line-height:1.15;}
.showcase-cta p {max-width:640px;margin:20px auto 26px;}
.showcase-cta .button {padding:16px 28px;font-size:16px;font-weight:700;}
.design-lightbox {width:min(1100px,94vw);max-width:94vw;max-height:94dvh;padding:48px 20px 20px;border:1px solid #d9cbb7;background:#fff;color:#14253c;overflow:auto;}
.design-lightbox::backdrop {background:rgb(20 37 60 / 80%);}
.design-lightbox .lightbox-close {position:absolute;right:12px;top:10px;border:1px solid #d9cbb7;background:#fff;color:#14253c;padding:7px 13px;font:inherit;cursor:pointer;}
.design-lightbox h2 {font-size:20px;text-align:center;margin:0 0 16px;}
.design-lightbox img {display:block;width:100%;height:auto;max-height:calc(85dvh - 115px);object-fit:contain;}
@media(max-width:700px) {
 .showcase-grid {max-width:430px;}
 .showcase-cta h2 {font-size:32px;}
 .design-lightbox {padding:48px 12px 16px;}
}

/* Stronger statistics heading; balanced padding preserves the compact strip. */
.stats-band { padding-block:13.6px; }
.stats-band h2 { font-size:22px; font-weight:700; color:var(--navy); margin-bottom:14px; }

/* Approved brand implementation: compact logo, original header and hero grids. */
.brand {flex:0 0 auto;}
.brand-logo {display:block;width:246.5px;height:auto;}
.hero-copy .starting-price {font-size:15px;font-weight:400;}
.hero-copy .starting-price strong {font-weight:700;}
.hero-copy .hero-promotion {font-size:12px;margin-top:6px;}
.brand-motto {font-size:13px;color:var(--secondary);margin-top:8px;}
@media(min-width:701px) and (max-width:900px) {.brand-logo {width:220px;}}
@media(max-width:700px) {
 .brand-logo {width:clamp(180px,calc(100vw - 170px),220px);}
 .hero .actions {flex-direction:column;align-items:flex-start;}
}

/* Final approved 28 October refinement: unchanged logo box and original hero grid. */
.hero h1 .hero-second-line {display:block;font-size:.9em;margin-top:.16em;}
.stats-band h2 {font-size:24px;}
.footer-logo {display:block;width:246.5px;height:auto;}
@media(max-width:700px) {
 .stats-band h2 {font-size:20px;}
 .footer-logo {width:220px;max-width:100%;}
}

@media(max-width:700px) {.hero h1 .hero-second-line {text-wrap:balance;}}

/* Final approval: Option 2 artwork, complete-logo size B in each breakpoint. */
.site-header .brand-logo {width:calc(246.5px * .92);height:auto;}
@media(min-width:701px) and (max-width:900px) {.site-header .brand-logo {width:calc(220px * .92);}}
@media(max-width:700px) {.site-header .brand-logo {width:min(195.13px,calc(clamp(180px,calc(100vw - 170px),220px) * .95));}}

/* Final contact/form refinement: leave the approved page system and logo sizing intact. */
.footer-contact {display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:10px 18px;margin-top:15px;font-size:13px;color:var(--secondary);overflow-wrap:anywhere;}
.footer-contact a {color:inherit;text-decoration:none;}
.footer-contact a:hover {text-decoration:underline;}
.footer-divider {border:0;border-top:1px solid var(--rule);width:min(100%,660px);margin:18px 0 10px;}
.footer-links {margin-top:0;gap:8px 15px;font-size:13px;}
.footer-link-group {display:inline-flex;align-items:center;gap:15px;white-space:nowrap;}
.field-error {font-size:12px;line-height:1.5;color:#8b2f27;}
.field-error[hidden] {display:none;}
input[aria-invalid="true"],textarea[aria-invalid="true"] {border-color:#8b2f27;}
.form-status strong,#form-status strong {display:block;font-weight:700;margin-bottom:4px;}
.form-status[data-state="error"],#form-status[data-state="error"] {color:#792e26;}
.enquiry-dialog .project-form>.button {display:flex;width:fit-content;max-width:100%;margin-inline:auto;}
.enquiry-dialog.form-confirmation {max-width:440px;padding:30px;text-align:center;}
.form-confirmation h2 {font-size:25px;margin:0 0 18px;line-height:1.25;}
.form-confirmation p {font-size:14px;line-height:1.65;margin-bottom:12px;}
.form-confirmation>.button {margin-top:9px;min-width:100px;}
@media(max-width:700px) {
 .footer-contact {gap:8px 12px;font-size:12px;}
 .footer-links {font-size:12px;gap:8px 12px;}
 .footer-link-group {gap:12px;}
 .footer-link-group:nth-child(3)>span[aria-hidden] {display:none;}
 .enquiry-dialog.form-confirmation {padding:26px 22px;}
}
@media(max-width:400px) {
 .footer-contact {flex-direction:column;gap:5px;}
 .footer-contact .contact-separator {display:none;}
}

/* Final CTA/footer finishing: approved artwork and all other layout rules remain intact. */
.cta-phone {flex:0 0 auto;}
#project-form>[type="submit"],.enquiry-dialog #popup-form>[type="submit"] {display:flex;justify-content:center;align-items:center;max-width:100%;min-height:52px;padding:14px 24px;margin-inline:auto;font-size:14px;line-height:1.5;font-weight:700;}
#project-form>[type="submit"] {width:280px;}
.enquiry-dialog #popup-form>[type="submit"] {width:250px;}
.footer-links,.footer-links a {color:#626970;}
.footer-links a:hover {color:var(--navy);text-decoration:underline;}
.footer-link-row {display:inline-flex;align-items:center;justify-content:center;gap:15px;}
@media(max-width:700px) {
 #project-form>[type="submit"],.enquiry-dialog #popup-form>[type="submit"] {width:100%;max-width:320px;}
 .footer-links {flex-direction:column;gap:8px;}
 .footer-link-row {gap:12px;max-width:100%;}
 .footer-links a {display:inline-flex;align-items:center;min-height:24px;padding-block:2px;line-height:18px;}
 .footer-link-row:nth-child(2)>.footer-link-group:first-child>span[aria-hidden] {display:none;}
 .copyright {margin-top:16px;}
}
