:root{--navy:#10283d;--navy-deep:#0b1d2d;--blue:#285dd0;--ink:#142d40;--muted:#576977;--line:#d8e0e6;--soft:#f3f6f8;--white:#fff;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif;--shell:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;color:var(--ink);background:#fff;font:16px/1.7 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:5px}a:hover{color:var(--blue)}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,main:focus-visible{outline:3px solid #618bec;outline-offset:5px}button{cursor:pointer}img,svg{max-width:100%}.shell{width:min(var(--shell),calc(100% - 96px));margin-inline:auto}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.045em;line-height:1.09}h1{font-size:clamp(3.5rem,6.25vw,6rem);margin-bottom:28px}h2{font-size:clamp(2.5rem,4vw,4rem);margin-bottom:25px}h3{line-height:1.3}p{margin-bottom:22px}em{font-style:normal;color:#55789a}.lead{font-size:1.2rem;line-height:1.65;color:var(--muted)}.eyebrow{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;margin-bottom:27px;display:flex;align-items:center;gap:11px}.eyebrow>span,.live-dot{width:7px;height:7px;border-radius:50%;background:var(--blue);display:inline-block;flex-shrink:0}.mini-label{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}.quiet{font-size:.875rem;color:var(--muted)}.narrow{max-width:650px}.site-header{border-bottom:1px solid var(--line)}.header-inner{height:100px;display:flex;align-items:center;justify-content:space-between;gap:24px}.wordmark{font-weight:700;font-size:2rem;letter-spacing:-.075em;text-decoration:none}.brand-dot{color:var(--blue)}nav{display:flex;align-items:center;gap:38px}nav>a{font-size:.875rem;text-decoration:none}nav>a[aria-current=page]{text-decoration:underline;text-decoration-thickness:2px}.button{display:inline-flex;align-items:center;justify-content:center;gap:26px;background:var(--navy);border:1px solid var(--navy);color:white;text-decoration:none;padding:16px 23px;font-size:.875rem;font-weight:600;line-height:1.5;transition:background .18s}.button:hover{background:var(--blue);border-color:var(--blue);color:white}.button.small{padding:12px 20px}.button.light{background:white;color:var(--navy);border-color:white}.button.light:hover{background:#dce8ff}.button.outline{border-color:#7690a4;background:transparent}.text-link{font-size:.875rem;font-weight:700;text-decoration:none;border-bottom:1px solid #8b9ba8;padding-bottom:7px;display:inline-block}.actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:70px;padding-block:88px 80px}.hero h1{font-size:clamp(3.4rem,5.5vw,5.4rem)}.hero .lead{max-width:540px;margin-bottom:30px}.hero .actions{gap:22px}.hero-aside{background:var(--navy);color:white;padding:27px 30px 20px;margin-top:16px;box-shadow:18px 18px 0 #eef2f5}.system-head{display:flex;justify-content:space-between;color:#b8c9d7}.system-head>span:last-child{font-size:1.5rem}.system-center{padding:47px 0 38px;border-bottom:1px solid #3b5163}.system-center>span{font-size:.7rem;letter-spacing:.16em;color:#9fb5c7}.system-center strong{display:block;font:2.8rem/1.1 var(--serif);letter-spacing:-.03em;margin-top:13px}.system-grid{display:grid;grid-template-columns:1fr 1fr}.system-grid>div{padding:24px 0;border-bottom:1px solid #3b5163}.system-grid>div:nth-child(even){padding-left:23px;border-left:1px solid #3b5163}.system-grid span{font-size:.75rem;color:#9fb5c7}.system-grid strong{font-size:1.1rem;display:block;font-weight:400;margin-top:8px}.system-grid small{display:block;font-size:.75rem;color:#b9cad6;margin-top:3px}.system-footer{font-size:.7rem;display:flex;align-items:center;gap:9px;padding-top:21px;color:#c2d1dc}.live-dot{background:#9cbad3;width:5px;height:5px}.credentials{border-block:1px solid var(--line)}.credentials>.shell{display:flex;justify-content:space-between;padding-block:22px;font-size:.75rem;color:var(--muted);gap:20px}.section{padding-block:96px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:70px;margin-bottom:42px}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:360px;color:var(--muted);margin-bottom:4px}.capabilities{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.capabilities article{padding:28px 24px 28px 0;display:flex;flex-direction:column;align-items:start}.capabilities article+article{border-left:1px solid var(--line);padding-left:24px}.cap-icon{font:2rem/1 var(--serif);color:var(--blue)}.card-top{height:62px}.capabilities h3{font-family:var(--serif);font-size:1.75rem;font-weight:400;letter-spacing:-.025em;margin-bottom:15px}.capabilities p{font-size:.925rem;color:var(--muted);line-height:1.7}.capabilities a{font-size:.8rem;text-decoration:none;font-weight:700;margin-top:auto}.split{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.split>div>p:not(.eyebrow){max-width:510px}.navy-section{background:var(--navy);color:white}.navy-section p{color:#c5d2de}.navy-section em{color:#a9c3db}.navy-section .text-link{color:white}.service-grid{display:grid;grid-template-columns:1fr 1fr}.service-grid>div{border-top:1px solid #4a6174;padding:24px 24px 26px 0}.service-grid>div:nth-child(even){padding-left:25px;border-left:1px solid #4a6174}.service-grid span{color:#a9c3db;font-size:1.2rem}.service-grid h3{font-size:1rem;font-weight:400;margin:14px 0 0}.ownership{font-size:.8rem;font-weight:700}.soft{background:var(--soft)}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.product-card{border:1px solid var(--line);background:white;padding:30px;display:flex;flex-direction:column;align-items:start}.product-card.future{background:transparent}.status{font-size:.7rem;text-transform:uppercase;letter-spacing:.09em;background:#e9effb;color:#234e9e;padding:5px 10px}.status.muted{background:#e5eaee;color:#506270}.product-monogram{font-size:3rem;font-weight:700;letter-spacing:-.08em;margin:35px 0 25px}.product-monogram span{color:var(--blue)}.product-card h3{font:1.8rem/1.2 var(--serif);letter-spacing:-.04em}.product-card p{color:var(--muted);font-size:.925rem}.product-card>a,.product-card>.quiet{margin-top:auto;font-size:.8rem;font-weight:700;text-decoration:none}.story{border-top:1px solid var(--line);background:var(--soft)}.year{font:clamp(5rem,12vw,11rem)/1 var(--serif);letter-spacing:-.065em;color:#38566e}.year span{display:block;font: .75rem/1.5 var(--sans);letter-spacing:.12em;text-transform:uppercase;margin:24px 0 0 12px}.cta{padding-block:72px;background:var(--navy);color:white}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:35px}.cta h2{font-size:clamp(2.4rem,3.6vw,3.5rem);margin:0}.cta .eyebrow{color:#b8cbdd;margin-bottom:20px}.site-footer{background:var(--navy-deep);color:#c4d1dc;padding-block:64px 25px}.site-footer .wordmark{color:white}.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:45px;padding-bottom:50px}.footer-top p{font-size:.875rem;margin-block:17px}.footer-top h2{font:600 .75rem/1.5 var(--sans);text-transform:uppercase;letter-spacing:.13em;color:#8da5b9;margin:10px 0 20px}.footer-top>div>a:not(.wordmark){font-size:.875rem;display:block;text-decoration:none;margin-bottom:9px}.footer-bottom{border-top:1px solid #304555;padding-top:25px;display:flex;justify-content:space-between;gap:35px;font-size:.75rem}.footer-bottom p{margin:0}.footer-bottom>div{display:flex;gap:24px;align-items:center}.footer-bottom a{text-decoration:none}.page-hero{padding-block:82px 65px;border-bottom:1px solid var(--line)}.page-hero h1{max-width:970px}.page-hero .lead{max-width:730px;margin-bottom:0}.content-section{padding-top:55px}.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px 80px;margin-bottom:40px}.content-grid article{border-top:1px solid var(--line);padding-top:20px}.content-grid h2{font-size:2rem;letter-spacing:-.03em;margin:18px 0}.content-grid p{color:var(--muted);max-width:540px}.content-grid .mini-label{color:var(--blue)}.product-intro{padding-block:45px 70px}.product-intro>p{max-width:700px}.feature-section{padding-block:75px}.feature-section h2{font-size:clamp(2.2rem,3.2vw,3.2rem)}.reverse>div{order:2}.reverse>figure{order:1}.interface{margin:0;min-width:0;background:white;border:1px solid var(--line);box-shadow:0 16px 40px #10283d0a;transform:rotate(-1deg)}.interface-bar{display:flex;align-items:center;gap:10px;padding:13px 18px;border-bottom:1px solid var(--line);font-size:.8rem}.interface-brand{font-size:1.3rem;font-weight:700;color:var(--ink)}.interface-brand>span{color:var(--blue)}.interface-dots{margin-left:auto;color:var(--muted)}.interface-body{display:grid;grid-template-columns:100px 1fr;min-height:270px}.interface-side{padding:22px 8px;background:var(--soft);border-right:1px solid var(--line);font-size:.65rem;color:var(--muted)}.interface-side span{display:block;padding:7px}.interface-side .selected{background:#e0e8f0;color:var(--ink)}.interface-content{padding:25px 20px;min-width:0}.interface-content .mini-label{font-size:.6rem;color:var(--muted)}.interface-content h3{font-size:1.05rem;margin:9px 0 19px}.interface-row{padding:11px 0;display:flex;gap:8px;align-items:center;border-bottom:1px solid var(--line);font-size:.7rem}.interface-row>span:last-child{margin-left:auto}.row-marker{width:7px;height:7px;border:1px solid #597b9d;flex-shrink:0}.interface-note{font-size:.6rem;color:var(--muted);margin-top:18px}.interface figcaption{font-size:.65rem;padding:9px 17px;background:var(--soft);border-top:1px solid var(--line);color:var(--muted)}.contact-layout{display:grid;grid-template-columns:1fr 1.3fr;gap:95px;padding-bottom:85px}.contact-layout h2{font-size:2.2rem}.email-link{display:block;font-size:1.25rem;margin:30px 0}.notice{padding:22px;background:var(--soft);border-left:3px solid var(--blue);margin-bottom:30px}.notice p{margin:8px 0 0;font-size:.875rem}.notice h2{font-size:1.7rem}.contact-form label{display:block;font-size:.875rem;font-weight:600;margin-bottom:7px}.contact-form input,.contact-form textarea{display:block;width:100%;border:1px solid #889daa;background:white;border-radius:0;padding:12px;color:var(--ink);margin-bottom:20px;min-width:0}.contact-form textarea{resize:vertical}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:22px}.contact-form .quiet{font-size:.8rem}.field-validation-error,.validation-summary-errors{color:#a02c27;font-size:.875rem}.field-validation-error{display:block;margin:-14px 0 18px}.input-validation-error{border-color:#a02c27!important}.validation-summary-valid{display:none}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.skip-link{position:absolute;left:20px;top:-100px;padding:12px 20px;background:white;z-index:10}.skip-link:focus{top:15px}.error-actions{padding-block:50px 100px;display:flex;align-items:center;gap:28px}
@media(min-width:1600px){.hero{padding-block:110px}.hero h1{font-size:6rem}}
@media(max-width:1050px){.shell{width:calc(100% - 56px)}.hero{gap:35px}.hero h1{font-size:4rem}.hero-aside{padding:22px}.split{gap:45px}.hero .actions{align-items:start;flex-direction:column}.system-grid small{font-size:.65rem}.contact-layout{gap:45px}.interface-body{grid-template-columns:75px 1fr}}
@media(max-width:760px){.shell{width:calc(100% - 40px)}.header-inner{height:auto;min-height:80px;flex-wrap:wrap;gap:0}.wordmark{font-size:1.8rem}.menu-toggle{display:block;border:1px solid var(--line);padding:7px 12px;background:white;font-size:.875rem}.menu-toggle span{margin-left:7px}nav{width:100%;flex-wrap:wrap;gap:20px;padding-block:16px}.js nav{display:none}.js nav.is-open{display:flex}nav>a{padding:8px 0}.hero{grid-template-columns:1fr;padding-block:53px 60px;gap:42px}.hero h1{font-size:clamp(3.3rem,10vw,4.8rem)}.desktop-break{display:none}.hero-aside{margin:0 10px 0 0;padding:24px}.system-center{padding-block:30px}.system-center strong{font-size:2.6rem}.hero .actions{flex-direction:row;align-items:center}.system-grid small{font-size:.75rem}.credentials>.shell{display:grid;grid-template-columns:1fr 1fr;gap:12px 25px;font-size:.7rem}.section{padding-block:62px}.section-heading{display:block;margin-bottom:30px}.section-heading>p,.section-heading>.text-link{margin-top:24px}.capabilities{grid-template-columns:1fr 1fr}.capabilities article{padding:24px 20px 24px 0}.capabilities article+article{padding-left:20px}.capabilities article:nth-child(3){border-left:0;padding-left:0}.capabilities article:nth-child(n+3){border-top:1px solid var(--line)}.split{grid-template-columns:1fr;gap:35px}.portfolio-grid{grid-template-columns:1fr}.product-card{padding:26px}.product-monogram{margin:23px 0 16px}.cta-inner{align-items:start;flex-direction:column}.footer-top{grid-template-columns:1fr 1fr;gap:32px}.footer-top>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:20px}.footer-bottom>div{flex-wrap:wrap}.page-hero{padding-block:52px 42px}.page-hero h1{font-size:3.5rem}.content-grid{grid-template-columns:1fr;gap:27px}.contact-layout{grid-template-columns:1fr;gap:30px;padding-bottom:60px}.reverse>div,.reverse>figure{order:initial}.feature-section{padding-block:55px}.interface{transform:none}.interface-body{grid-template-columns:80px 1fr}.interface-content{padding:20px 15px}.year{font-size:7rem}.eyebrow{font-size:.65rem}.form-pair{grid-template-columns:1fr;gap:0}.error-actions{flex-wrap:wrap}h1,h2,.email-link{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Original DelaxNet brand assets; preserve their proportions and clear space. */
.wordmark{display:inline-flex;align-items:center;flex-shrink:0}.brand-logo{display:block;width:243px;height:auto}.site-footer .brand-logo{width:243px}@media(max-width:760px){.brand-logo{width:203px}.site-footer .brand-logo{width:223px}}


/* Software outsourcing: benefit-led content with original site photography. */
.outsourcing-section{background:var(--soft);border-block:1px solid var(--line)}
.outsourcing-layout{display:grid;grid-template-columns:1.35fr .8fr;gap:70px;align-items:center}
.outsourcing-copy>p{max-width:690px}
.outsourcing-copy>p:not(.eyebrow):not(.lead){color:var(--muted)}
.outsourcing-copy h2{font-size:clamp(2.6rem,3.7vw,3.7rem)}
.benefit-list,.why-list{list-style:none;margin:30px 0 32px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:27px 30px}
.benefit-list li,.why-list li{display:flex;align-items:flex-start;gap:13px}
.benefit-list li>span,.why-list li>span{display:inline-flex;justify-content:center;align-items:center;width:22px;height:22px;border:1px solid var(--blue);border-radius:50%;flex-shrink:0;color:var(--blue);font-size:.8rem;margin-top:2px}
.benefit-list h3,.why-list h3{font:600 1rem/1.45 var(--sans);margin:0 0 7px}
.benefit-list p,.why-list p{font-size:.925rem;line-height:1.65;color:var(--muted);margin:0}
.outsourcing-visual{min-width:0;border:1px solid var(--line);background:var(--navy)}
.outsourcing-visual img{display:block;width:100%;height:auto;aspect-ratio:1.1;object-fit:cover;object-position:center 35%}
.outsourcing-caption{padding:28px 30px;color:white}
.outsourcing-caption>.mini-label{color:#bdcfe0}
.outsourcing-caption p{font:2rem/1.2 var(--serif);letter-spacing:-.03em;margin:13px 0 18px}
.outsourcing-caption>span:last-child{font-size:.8rem;color:#bdcfe0}
.why-layout{display:grid;grid-template-columns:.75fr 1.65fr;gap:65px}
.why-layout h2{font-size:clamp(2.7rem,3.8vw,3.8rem)}
.why-list{margin:0;gap:30px 40px}
.why-list li{padding-bottom:23px;border-bottom:1px solid var(--line)}
.outsourcing-hero .actions{margin-top:30px}
.engagement-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.engagement-grid article{padding:30px 27px 10px 0;display:flex;flex-direction:column;align-items:start}
.engagement-grid article+article{padding-left:27px;border-left:1px solid var(--line)}
.engagement-grid .mini-label{color:var(--blue)}
.engagement-grid h3{font:2rem/1.2 var(--serif);letter-spacing:-.03em;margin:25px 0 18px}
.engagement-grid p{color:var(--muted)}
.engagement-grid a{margin-top:auto}
.outsourcing-steps{padding:0 0 0 25px;margin:0}
.outsourcing-steps li{padding:20px 0 20px 10px;border-top:1px solid #4a6174}
.outsourcing-steps li::marker{color:#a9c3db}
.outsourcing-steps h3{font-size:1.1rem;font-weight:600;margin-bottom:10px}
.outsourcing-steps p{font-size:.95rem;margin:0}
.services-actions{margin-top:30px}
@media(max-width:1050px){.outsourcing-layout{gap:35px;grid-template-columns:1.2fr .8fr}.benefit-list{grid-template-columns:1fr;gap:20px}.why-layout{gap:35px;grid-template-columns:.7fr 1.3fr}.why-list{gap:25px}.outsourcing-caption{padding:24px}}
@media(max-width:760px){.outsourcing-layout,.why-layout{grid-template-columns:1fr;gap:35px}.outsourcing-visual{max-width:520px;width:100%}.outsourcing-visual img{aspect-ratio:1.3}.why-list{grid-template-columns:1fr}.engagement-grid{grid-template-columns:1fr}.engagement-grid article,.engagement-grid article+article{padding:27px 0;border-left:0}.engagement-grid article+article{border-top:1px solid var(--line)}.outsourcing-copy .button{gap:16px;text-align:left}.outsourcing-hero h1{font-size:clamp(2.8rem,10vw,3.5rem)}}


/* Bespoke booking systems: a clear service proposition and requirements-led page. */
.booking-promo{border-bottom:1px solid var(--line);background:var(--soft)}
.booking-promo .split{grid-template-columns:1fr 1.05fr}
.booking-promo h2{font-size:clamp(2.6rem,3.8vw,3.8rem)}
.booking-promo .eyebrow{line-height:1.6}
.booking-promo p:not(.eyebrow):not(.lead){color:var(--muted)}
.booking-hero h1{max-width:1000px}
.booking-hero .actions{margin-top:30px}
.booking-hero-note{font-size:.8rem;color:var(--muted);margin:25px 0 0}
.booking-requirements{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}
.booking-requirements article{background:white;border:1px solid var(--line);padding:28px}
.booking-check{display:inline-block;font-size:1.4rem;color:var(--blue);margin-bottom:20px}
.booking-requirements h3{font:1.6rem/1.25 var(--serif);letter-spacing:-.025em;margin:0 0 16px}
.booking-requirements p{color:var(--muted);font-size:.95rem;margin:0}
.booking-scope{margin:25px 0 0;max-width:850px}
.booking-examples{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.booking-examples article{border-top:1px solid var(--line);padding-top:22px}
.booking-examples .mini-label{color:var(--blue)}
.booking-examples h3{font:1.7rem/1.25 var(--serif);letter-spacing:-.025em;margin:20px 0 14px}
.booking-examples p{color:var(--muted);font-size:.95rem}
.booking-proof{padding:35px;border:1px solid #4a6174}
.booking-proof h3{font:2.3rem/1.2 var(--serif);letter-spacing:-.03em;margin-bottom:25px}
.booking-proof .button{margin-top:10px}
.booking-process{list-style:none;padding:0;margin:0;counter-reset:booking-step;display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.booking-process li{border-top:1px solid var(--line);padding-top:24px;counter-increment:booking-step}
.booking-process li::before{content:"0" counter(booking-step);color:var(--blue);font-size:.875rem}
.booking-process h3{font:1.5rem/1.25 var(--serif);margin:22px 0 15px}
.booking-process p{font-size:.925rem;color:var(--muted)}
.booking-questions{display:grid;grid-template-columns:.8fr 1.2fr;gap:75px}
.booking-faq details{border-top:1px solid var(--line);padding:20px 0}
.booking-faq details:last-child{border-bottom:1px solid var(--line)}
.booking-faq summary{cursor:pointer;font-weight:600;padding-right:15px}
.booking-faq summary:focus-visible{outline:3px solid #618bec;outline-offset:5px}
.booking-faq details p{color:var(--muted);margin:18px 0 5px}
@media(max-width:1050px){.booking-requirements{grid-template-columns:1fr 1fr}.booking-questions{gap:35px}.booking-promo .button{gap:14px}}
@media(max-width:760px){.booking-promo .split,.booking-requirements,.booking-examples,.booking-process,.booking-questions{grid-template-columns:1fr}.booking-promo .button{white-space:normal;text-align:left}.booking-promo h2{font-size:2.6rem}.booking-hero h1{font-size:clamp(2.8rem,10vw,3.5rem)}.booking-proof{padding:25px}.booking-process{gap:15px}}


.site-header nav{gap:24px}@media(max-width:1050px) and (min-width:901px){.site-header .brand-logo{width:203px}.site-header nav{gap:20px}}@media(max-width:900px){.header-inner{height:auto;min-height:80px;flex-wrap:wrap;gap:0}.site-header .brand-logo{width:203px}.menu-toggle{display:block;border:1px solid var(--line);padding:7px 12px;background:white;font-size:.875rem}.site-header nav{width:100%;flex-wrap:wrap;gap:20px;padding-block:16px}.js .site-header nav{display:none}.js .site-header nav.is-open{display:flex}.site-header nav>a{padding:8px 0}}


/* Delivery-led navigation and page layouts. */
.site-header{position:relative;z-index:20;background:white}
.header-inner{position:relative}
.site-header nav{gap:22px}
.nav-disclosure>summary{list-style:none;cursor:pointer;font-size:.875rem;display:flex;align-items:center;gap:8px;padding:12px 0}
.nav-disclosure>summary::-webkit-details-marker{display:none}
.nav-disclosure>summary:focus-visible{outline:3px solid #618bec;outline-offset:5px}
.nav-disclosure[open]>summary span{transform:rotate(180deg)}
.current-section{text-decoration:underline;text-underline-offset:6px}
.nav-panel{position:absolute;top:100%;left:0;right:0;padding:35px;background:white;border:1px solid var(--line);box-shadow:0 18px 35px #10283d18;display:grid;grid-template-columns:.8fr 1.7fr;gap:45px;z-index:25}
.nav-title{font:2rem/1.16 var(--serif);letter-spacing:-.03em}
.nav-intro .eyebrow{font-size:.65rem}
.nav-service-links{display:grid;grid-template-columns:1fr 1fr;gap:0 30px}
.nav-service-links>a{padding:13px 0;font-size:.875rem;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;text-decoration:none}
.nav-panel a[aria-current=page]{color:var(--blue);text-decoration:underline}
.product-nav-panel{left:auto;right:130px;width:340px;display:block;padding:24px}
.product-nav-panel>a{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);font-size:.9rem;text-decoration:none}
.product-nav-panel>p{font-size:.8rem;color:var(--muted);margin:15px 0 0}
.service-directory{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.service-directory article{padding:30px 35px 28px 0;border-bottom:1px solid var(--line)}
.service-directory article:nth-child(even){padding-left:35px;border-left:1px solid var(--line)}
.service-directory h3{font:1.7rem/1.25 var(--serif);letter-spacing:-.03em;margin-bottom:15px}
.service-directory h3 a{text-decoration:none;display:flex;justify-content:space-between;gap:20px}
.service-directory h3 span{color:var(--blue)}
.service-directory p{color:var(--muted);font-size:.95rem;margin-bottom:0}
.service-detail-hero{padding-block:78px;display:grid;grid-template-columns:1.5fr .75fr;gap:65px;align-items:center}
.service-detail-hero h1{font-size:clamp(3rem,4.8vw,4.7rem)}
.service-detail-hero .lead{max-width:690px;margin-bottom:28px}
.service-start{background:var(--soft);border:1px solid var(--line);padding:32px}
.service-start .eyebrow{font-size:.65rem;line-height:1.7}
.service-start h2{font-size:2rem;letter-spacing:-.03em}
.service-start p:not(.eyebrow){font-size:.95rem;color:var(--muted)}
.service-flow-band{padding-block:32px;background:var(--navy);color:white}
.service-flow-band .mini-label{color:#bbcede;margin-bottom:15px}
.service-flow{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.service-flow li{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:1.05rem}
.service-flow li>span{color:#9fbada}
.service-flow li:last-child>span{display:none}
.service-scope-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.service-scope-grid article{padding:30px;background:var(--soft);border-top:2px solid #b8cadd}
.service-scope-grid h3{font:1.9rem/1.2 var(--serif);letter-spacing:-.03em}
.service-scope-grid p{margin-bottom:0;color:var(--muted)}
.service-proof .lead{color:#d0dce6}
.service-proof h2{font-size:clamp(2.5rem,3.6vw,3.5rem)}
.service-back{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;padding-block:35px}
.experience-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}
.experience-card{background:var(--soft);border:1px solid var(--line);padding:30px;display:flex;flex-direction:column;align-items:start}
.experience-card>.eyebrow{font-size:.65rem;line-height:1.7;color:var(--muted);min-height:36px;margin-bottom:30px}
.experience-card h3{font:1.85rem/1.2 var(--serif);letter-spacing:-.035em}
.experience-card h3 a{text-decoration:none}
.experience-card h3 span{color:var(--blue)}
.experience-card>p:not(.eyebrow){font-size:.925rem;color:var(--muted)}
.card-credit{font-size:.8rem;font-weight:600;border-top:1px solid var(--line);padding-top:19px;margin-top:auto;width:100%}
.card-credit>span{font-size:.75rem;color:var(--muted);font-weight:400}
.experience-credit{font-size:.8rem;color:var(--muted);margin:25px 0 0;max-width:850px}
.case-hero{padding-block:50px 0}
.case-hero>.text-link{margin-bottom:42px}
.case-hero h1{max-width:1030px;font-size:clamp(3rem,5.7vw,5.5rem)}
.case-hero>.lead{max-width:760px}
.case-facts{display:grid;grid-template-columns:1fr 1fr;gap:35px;border-top:1px solid var(--line);padding-block:27px;margin:43px 0 0}
.case-facts dt{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:8px}
.case-facts dd{margin:0;font-size:.875rem}
.case-story{display:grid;grid-template-columns:1fr 1.2fr;gap:80px}
.case-story h2{font-size:clamp(2.5rem,3.8vw,3.8rem)}
.case-flow{list-style:none;padding:0;margin:0 0 45px;display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line)}
.case-flow li{padding:25px 20px;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:.95rem}
.case-flow li+li{border-left:1px solid var(--line)}
.case-flow li>span:last-child{color:var(--blue)}
.case-flow li:last-child>span:last-child{display:none}
.case-components{display:grid;grid-template-columns:1fr 1fr;gap:35px 65px}
.case-components h3{font:1.8rem/1.2 var(--serif);letter-spacing:-.03em}
.case-components p{color:var(--muted)}
.case-outcomes{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:45px}
.case-outcomes article{border-top:1px solid #4a6174;padding-top:25px}
.case-outcomes h3{font:1.8rem/1.2 var(--serif);letter-spacing:-.03em}
.case-outcomes p{font-size:.95rem}
.case-technical{display:grid;grid-template-columns:1.2fr .8fr;gap:80px}
.case-technical h2{font-size:2.7rem}
.technology-tags{display:flex;gap:10px;flex-wrap:wrap;list-style:none;padding:0;margin:28px 0 0}
.technology-tags li{font-size:.8rem;border:1px solid var(--line);padding:7px 12px;background:var(--soft)}
.related-service{display:flex;justify-content:space-between;text-decoration:none;padding:18px 0;border-bottom:1px solid var(--line);gap:15px}
.case-source{font-size:.85rem;margin-top:30px}
.company-intro{display:grid;grid-template-columns:1.2fr .7fr;gap:90px;align-items:center}
.company-photo{margin:0}
.company-photo img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover}
.company-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.company-principles article{border-top:1px solid var(--line);padding-top:28px}
.company-principles h3{font:1.8rem/1.2 var(--serif);letter-spacing:-.03em}
.company-principles p{color:var(--muted)}
.company-details h2{font-size:2.8rem}
.home-experience{border-bottom:1px solid var(--line)}
@media(max-width:1100px){
.header-inner{height:auto;min-height:80px;flex-wrap:wrap;gap:0}.site-header .brand-logo{width:203px}
.menu-toggle{display:block;border:1px solid var(--line);padding:7px 12px;background:white;font-size:.875rem}
.site-header nav{width:100%;flex-wrap:wrap;gap:20px;padding-block:16px}
.js .site-header nav{display:none}.js .site-header nav.is-open{display:flex}.site-header nav>a{padding:8px 0}
.nav-disclosure{width:100%;order:0}.nav-disclosure>summary{justify-content:space-between;border-bottom:1px solid var(--line)}
.nav-panel{position:static;box-shadow:none;width:100%;padding:25px;margin-top:10px;grid-template-columns:.7fr 1.3fr;gap:25px}
.product-nav-panel{width:100%;padding:20px}.nav-title{font-size:1.7rem}
.service-detail-hero{gap:35px;grid-template-columns:1.3fr .85fr}.service-start{padding:25px}
.service-detail-hero h1{font-size:3.7rem}.experience-card{padding:23px}.experience-card h3{font-size:1.6rem}
.company-intro{gap:45px}.case-story,.case-technical{gap:40px}
}
@media(max-width:760px){
.nav-intro{display:none}.nav-panel{display:block;padding:10px 18px}.nav-service-links{grid-template-columns:1fr}.nav-service-links a{padding:14px 0}
.service-detail-hero{grid-template-columns:1fr;gap:30px;padding-block:50px}.service-detail-hero h1{font-size:clamp(2.8rem,10vw,3.5rem)}
.service-flow,.service-directory,.service-scope-grid,.experience-cards,.case-facts,.case-story,.case-flow,.case-components,.case-outcomes,.case-technical,.company-intro,.company-principles{grid-template-columns:1fr}
.service-flow{gap:14px}.service-flow li{padding-block:10px;border-bottom:1px solid #4a6174}.service-flow li:last-child{border-bottom:0}.service-flow li>span{transform:rotate(90deg)}
.service-directory article,.service-directory article:nth-child(even){padding:25px 0;border-left:0}
.service-scope-grid article{padding:25px}.experience-card>.eyebrow{min-height:0;margin-bottom:20px}
.experience-card{padding:27px}.experience-card h3{font-size:1.9rem}
.case-facts{gap:20px}.case-hero h1{font-size:clamp(2.8rem,10vw,3.5rem)}.case-hero>.text-link{margin-bottom:30px}
.case-flow li+li{border-left:0;border-top:1px solid var(--line)}.case-flow li>span:last-child{transform:rotate(90deg)}
.case-outcomes{gap:20px}.company-photo{max-width:520px}
}


.nav-service-links>.nav-overview-link{display:none}.compact-proof{padding-block:65px;display:flex;align-items:center;justify-content:space-between;gap:55px;border-top:1px solid var(--line)}.compact-proof>div{max-width:720px}.compact-proof h2{font-size:2.5rem}.compact-proof p:not(.eyebrow){color:var(--muted)}.compact-proof>a{flex-shrink:0}@media(max-width:1100px){.compact-proof{display:block}.compact-proof>a{margin-top:10px}}@media(max-width:760px){.nav-service-links>.nav-overview-link{display:flex;font-weight:700}}


.breadcrumbs { padding-block: 18px; font-size: .8rem; color: var(--muted); }
.breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 8px 12px; padding: 0; margin: 0; list-style: none; }
.breadcrumbs li { display: inline-flex; align-items: baseline; gap: 12px; min-width: 0; }
.breadcrumbs a { text-underline-offset: 3px; }
.breadcrumbs [aria-current="page"] { overflow-wrap: anywhere; }

/* Natural photography and restrained layouts for the main company pages. */
.photographic-hero { padding-top: 65px; padding-bottom: 24px; }
.photographic-hero-intro { display: grid; grid-template-columns: 1.2fr 1fr; align-items: center; gap: 65px; margin-bottom: 45px; }
.photographic-hero h1 { font-size: clamp(3.4rem, 5.2vw, 4.8rem); margin-bottom: 0; }
.photographic-hero .eyebrow { margin-bottom: 24px; }
.photographic-hero-copy .lead { font-size: 1.15rem; margin-bottom: 14px; }
.photographic-hero-copy > p:not(.lead) { color: var(--muted); font-size: .95rem; }
.photographic-hero-copy .actions { gap: 22px; }
.hero-photograph { margin: 0; }
.hero-photograph img { display: block; width: 100%; height: auto; aspect-ratio: 1920 / 747; object-fit: cover; }
.hero-photograph figcaption { display: flex; justify-content: space-between; gap: 20px; padding-block: 16px; font-size: .8rem; color: var(--muted); }
.hero-photograph figcaption a { white-space: nowrap; text-decoration: none; color: var(--ink); }
.company-intro { grid-template-columns: 1fr 1fr; gap: 65px; }
.company-photo-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; align-items: start; }
.company-photo-pair figure { margin: 0; }
.company-photo-pair figure:last-child { margin-top: 65px; }
.company-photo-pair img { display: block; width: 100%; height: auto; }
.editorial-outsourcing { background: white; border: 0; }
.editorial-outsourcing img { aspect-ratio: 1; }
.editorial-outsourcing .outsourcing-caption { padding: 22px 0; color: var(--ink); border-bottom: 1px solid var(--line); }
.editorial-outsourcing .outsourcing-caption p { margin: 0 0 10px; font-size: 1.65rem; }
.editorial-outsourcing .outsourcing-caption > span:last-child { color: var(--muted); }
.services-photo-hero { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 90px; align-items: center; }
.services-photo-hero h1 { font-size: clamp(3rem, 5vw, 4.5rem); }
.services-photo-hero figure { margin: 0; }
.services-photo-hero img { display: block; width: 100%; height: auto; }
.services-photo-hero figcaption { border-bottom: 1px solid var(--line); padding-block: 17px; color: var(--muted); font-size: .85rem; line-height: 1.6; }
@media (max-width: 1100px) {
    .photographic-hero-intro { gap: 35px; }
    .photographic-hero h1 { font-size: 3.5rem; }
    .services-photo-hero { gap: 40px; grid-template-columns: minmax(0, 1fr) 260px; }
    .company-intro { gap: 35px; }
}
@media (max-width: 760px) {
    .photographic-hero { padding-top: 40px; padding-bottom: 12px; }
    .photographic-hero-intro { grid-template-columns: 1fr; gap: 25px; margin-bottom: 30px; }
    .photographic-hero h1 { font-size: clamp(2.8rem, 9vw, 3.7rem); }
    .photographic-hero .eyebrow { font-size: .65rem; letter-spacing: .1em; }
    .hero-photograph img { aspect-ratio: 4 / 3; }
    .hero-photograph figcaption { flex-direction: column; gap: 7px; }
    .company-intro { grid-template-columns: 1fr; }
    .company-photo-pair { max-width: 580px; gap: 12px; }
    .company-photo-pair figure:last-child { margin-top: 35px; }
    .services-photo-hero { grid-template-columns: 1fr; gap: 35px; }
    .services-photo-hero figure { display: grid; grid-template-columns: minmax(0, 200px) 1fr; align-items: end; gap: 20px; }
    .services-photo-hero figcaption { font-size: .8rem; }
}
@media (max-width: 380px) {
    .services-photo-hero figure { grid-template-columns: 1fr; max-width: 280px; gap: 0; }
}

/* Homepage: clear offers, product evidence and a concise delivery journey. */
.home-offers .service-directory { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.home-offers .service-directory article { padding: 30px 25px; border-left: 1px solid var(--line); }
.home-offers .service-directory article:first-child { padding-left: 0; border-left: 0; }
.home-offers .service-directory article:last-child { padding-right: 0; }
.home-offers .service-directory h3 { font: 600 1.2rem/1.35 var(--sans); letter-spacing: -.02em; }
.home-offers .service-directory p { font-size: .9rem; }
.home-product-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 75px; align-items: center; }
.home-product .lead { color: #c6d7e4; }
.home-product-overview { margin: 0; background: white; color: var(--ink); }
.product-overview-heading { padding: 28px 30px 22px; border-bottom: 1px solid var(--line); }
.product-overview-heading .mini-label { color: var(--muted); }
.product-overview-heading strong { display: block; font-size: 2rem; letter-spacing: -.04em; margin-top: 8px; }
.product-audiences { display: grid; grid-template-columns: 1fr 1fr; }
.product-audiences > div { padding: 25px 30px; }
.product-audiences > div + div { border-left: 1px solid var(--line); }
.product-audiences h3 { font-size: 1rem; }
.product-audiences ul { padding: 0; margin: 0; list-style: none; font-size: .85rem; color: var(--muted); }
.product-audiences li + li { margin-top: 10px; }
.product-ai-note { padding: 20px 30px; margin: 0; background: #eef3f8; font-size: .9rem; }
.home-product-overview figcaption { padding: 12px 30px; color: var(--muted); font-size: .75rem; }
.home-booking-callout { display: flex; justify-content: space-between; align-items: center; gap: 30px; margin-top: 55px; padding-top: 30px; border-top: 1px solid #456074; }
.home-booking-callout h3 { font-size: 1.2rem; margin-bottom: 8px; }
.home-booking-callout p { color: #c6d7e4; font-size: .9rem; margin: 0; }
.home-booking-callout a { flex-shrink: 0; }
.home-delivery-layout { display: grid; grid-template-columns: 1.2fr 1fr; gap: 75px; align-items: center; }
.home-engagements { padding: 0; margin: 30px 0; list-style: none; }
.home-engagements li { display: flex; align-items: baseline; gap: 22px; border-top: 1px solid var(--line); padding: 18px 0; }
.home-engagements li > span { color: var(--blue); font-size: .75rem; }
.home-engagements h3 { font-size: 1rem; margin-bottom: 6px; }
.home-engagements p { margin: 0; color: var(--muted); font-size: .9rem; }
.home-delivery-photo { margin: 0; }
.home-delivery-photo img { display: block; width: 100%; height: auto; }
.home-delivery-photo figcaption { border-bottom: 1px solid var(--line); padding-block: 20px; font-size: .85rem; }
.home-delivery-photo figcaption p { margin-bottom: 8px; }
@media (max-width: 1100px) {
    .home-offers .service-directory { grid-template-columns: 1fr 1fr; }
    .home-offers .service-directory article:nth-child(odd) { padding-left: 0; border-left: 0; }
    .home-offers .service-directory article:nth-child(even) { padding-left: 25px; }
    .home-product-layout, .home-delivery-layout { gap: 35px; }
    .product-audiences > div { padding: 22px 18px; }
    .home-booking-callout { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 760px) {
    .home-product-layout, .home-delivery-layout { grid-template-columns: 1fr; }
    .home-offers .service-directory { grid-template-columns: 1fr; }
    .home-offers .service-directory article,
    .home-offers .service-directory article:nth-child(even) { padding: 24px 0; border-left: 0; }
    .home-product-overview { margin-top: 5px; }
    .home-booking-callout a { flex-shrink: 1; }
    .home-delivery-photo { max-width: 515px; }
}
@media (max-width: 380px) {
    .product-audiences { grid-template-columns: 1fr; }
    .product-audiences > div + div { border-left: 0; border-top: 1px solid var(--line); }
    .product-overview-heading, .product-ai-note { padding: 22px 18px; }
    .product-overview-heading strong { font-size: 1.7rem; }
}
.home-product .product-ai-note { color: var(--ink); }

/* Booking service: keep the message and enquiry action together. */
.booking-split-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
    align-items: center;
    gap: 64px;
    padding-block: 48px 64px;
}
.booking-hero-copy .eyebrow { margin-bottom: 24px; }
.booking-hero-copy h1 {
    font-size: clamp(2.8rem, 4vw, 3.8rem);
    line-height: 1.08;
    margin-bottom: 26px;
}
.booking-hero-copy .lead { font-size: 1.05rem; line-height: 1.75; }
.booking-hero-copy .actions { margin-top: 28px; }
.booking-hero-copy .booking-hero-note { font-size: .8rem; margin: 20px 0 0; }
.booking-hero-visual { margin: 0; min-width: 0; }
.booking-hero-visual img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 2 / 1;
    object-fit: cover;
    object-position: center;
}
.booking-hero-visual figcaption { color: var(--muted); font-size: .75rem; margin-top: 10px; }
.booking-visual-note { border-top: 1px solid var(--line); margin-top: 24px; padding-top: 22px; }
.booking-visual-note p { font-size: 1.15rem; line-height: 1.55; max-width: 400px; margin-bottom: 14px; }
.booking-visual-note .text-link { font-size: .85rem; }
@media (max-width: 1100px) {
    .booking-split-hero { gap: 32px; }
    .booking-hero-copy .eyebrow { font-size: .65rem; }
}
@media (max-width: 760px) {
    .booking-split-hero { grid-template-columns: 1fr; padding-block: 24px 40px; gap: 32px; }
    .booking-hero-copy h1 { font-size: clamp(2.5rem, 8vw, 3.4rem); }
    .booking-hero-visual img { aspect-ratio: auto; object-fit: contain; }
}

/* Frame the approved logo artwork without its surrounding preview whitespace. */
.site-header .brand-shine {
    position: relative;
    display: block;
    width: 210px;
    aspect-ratio: 1200 / 560;
    overflow: hidden;
}
.brand-shine img {
    position: absolute;
    width: 143.4167%;
    max-width: none;
    height: auto;
    left: -27.5%;
    top: -25%;
}
@media (max-width: 760px) {
    .site-header .brand-shine { width: 180px; }
}

/* Main navigation: consistent controls and calm, spacious dropdown panels. */
.site-header nav { gap: 8px; }
.site-header nav > a:not(.button),
.nav-disclosure > summary {
    padding: 12px 14px;
    min-height: 44px;
    border: 0;
    border-radius: 5px;
    font-size: .9rem;
    font-weight: 500;
    line-height: 1.4;
    text-decoration: none;
    transition: background-color .15s, color .15s;
}
.nav-disclosure > summary { gap: 10px; }
.site-header nav > a:not(.button):hover,
.nav-disclosure > summary:hover,
.nav-disclosure[open] > summary,
.site-header nav > a[aria-current="page"]:not(.button),
.site-header nav > .current-section,
.nav-disclosure > .current-section { background: #eef3f8; color: #234e9e; text-decoration: none; }
.nav-chevron {
    display: inline-block;
    width: 7px;
    height: 7px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: translateY(-2px) rotate(45deg);
    transition: transform .15s;
}
.nav-disclosure[open] > summary .nav-chevron { transform: translateY(2px) rotate(225deg); }
.site-header nav > .button { margin-left: 12px; }
.nav-panel {
    top: calc(100% - 1px);
    padding: 24px;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 28px;
    border: 1px solid #dfe6ed;
    border-top: 3px solid var(--blue);
    border-radius: 0 0 10px 10px;
    box-shadow: 0 20px 40px #10283d14;
}
.nav-intro { background: var(--soft); padding: 28px; border-radius: 6px; }
.nav-intro .eyebrow { line-height: 1.6; margin-bottom: 18px; }
.nav-title { font: 500 1.6rem/1.3 var(--sans); letter-spacing: -.035em; margin-bottom: 25px; }
.nav-service-links { align-content: start; gap: 5px 16px; }
.nav-service-links > a {
    min-height: 52px;
    padding: 14px 16px;
    border: 0;
    border-radius: 5px;
    line-height: 1.5;
    font-weight: 500;
}
.nav-service-links > a span { color: #72889a; font-size: .85rem; }
.nav-service-links > a:hover,
.nav-panel a[aria-current="page"] { background: #eef3f8; color: #234e9e; text-decoration: none; }
.products-disclosure { position: relative; }
.product-nav-panel {
    top: calc(100% + 26px);
    left: auto;
    right: 0;
    width: 320px;
    display: block;
    padding: 16px;
}
.product-nav-panel > a { padding: 14px; border: 0; border-radius: 5px; font-weight: 500; }
.product-nav-panel > a:hover { background: var(--soft); }
.product-nav-panel > p { border-top: 1px solid var(--line); padding: 16px 14px 0; margin-top: 10px; }
@media (max-width: 1100px) {
    .site-header nav { flex-direction: column; align-items: stretch; gap: 4px; padding-block: 12px 22px; }
    .site-header nav > a:not(.button), .nav-disclosure > summary { padding: 14px; }
    .site-header nav > .button { margin: 12px 0 0; align-self: flex-start; }
    .nav-panel { position: static; margin-top: 8px; grid-template-columns: 230px minmax(0, 1fr); padding: 16px; gap: 18px; box-shadow: none; }
    .nav-service-links { grid-template-columns: 1fr; }
    .product-nav-panel { width: 100%; }
}
@media (max-width: 760px) {
    .nav-panel { display: block; padding: 8px; }
    .nav-service-links > a { padding: 13px; min-height: 48px; }
}
@media (prefers-reduced-motion: reduce) {
    .nav-chevron, .nav-disclosure > summary, .site-header nav > a { transition: none; }
}

/* Footer identity and direct contact details share a clear left edge. */
.site-footer { padding-top: 64px; border-top: 1px solid #294154; }
.footer-top { grid-template-columns: 1.6fr 1fr 1fr; gap: 72px; padding-bottom: 48px; }
.footer-top .footer-brand > .footer-logo {
    display: block;
    position: relative;
    overflow: hidden;
    width: 210px;
    aspect-ratio: 450 / 193;
    margin: 0 0 24px;
}
.footer-logo img { position: absolute; width: 144.222%; max-width: none; height: auto; left: -22.222%; top: 0; }
.footer-top .footer-description { max-width: 340px; font-size: .95rem; line-height: 1.75; color: #bacbd8; margin: 0 0 28px; }
.footer-contact { border-top: 1px solid #304555; padding-top: 22px; max-width: 340px; }
.footer-contact-label { display: block; font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; color: #94acbf; margin-bottom: 12px; }
.footer-contact a { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 7px 0; color: #f5f8fc; text-decoration: none; font-size: 1rem; }
.footer-contact a span { font-size: .85rem; color: #93b3d3; }
.site-footer a:hover { color: #b8d4ff; }
.footer-top .footer-links { padding-top: 14px; }
.footer-top .footer-links h2 { margin: 0 0 25px; color: #a8bece; }
.footer-top .footer-links a { padding-block: 4px; }
.footer-bottom { color: #a8bece; line-height: 1.8; }
@media (max-width: 1000px) {
    .footer-top { gap: 36px; grid-template-columns: 1.3fr 1fr 1fr; }
}
@media (max-width: 760px) {
    .site-footer { padding-top: 40px; }
    .footer-top { grid-template-columns: 1fr 1fr; gap: 32px 24px; }
    .footer-brand { grid-column: 1 / -1; }
    .footer-top .footer-description, .footer-contact { max-width: 420px; }
    .footer-top .footer-brand > .footer-logo { width: 190px; margin-bottom: 20px; }
}
@media (max-width: 380px) {
    .footer-top { grid-template-columns: 1fr; }
}

/* Original BookMOTGarage app artwork, displayed without cropping. */
.home-product-artwork { margin: 0; min-width: 0; }
.home-product-artwork img { display: block; width: 100%; height: auto; border: 1px solid #456074; }
.home-product-artwork figcaption { padding-top: 14px; font-size: .8rem; color: #c6d7e4; }
.product-screen-gallery { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.product-screen-gallery figure { margin: 0; min-width: 0; }
.product-screen-gallery figure > a { display: block; }
.product-screen-gallery img { display: block; width: 100%; height: auto; border-radius: 6px; }
.product-screen-gallery figcaption { padding-top: 22px; }
.product-screen-gallery h3 { font-size: 1rem; margin-bottom: 9px; }
.product-screen-gallery p { font-size: .9rem; color: var(--muted); margin: 0; }
.product-screen-note { margin: 30px 0 0; max-width: 850px; }
@media (max-width: 1000px) {
    .product-screen-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 24px; }
}
@media (max-width: 520px) {
    .product-screen-gallery { grid-template-columns: 1fr; max-width: 320px; margin-inline: auto; }
}

.portfolio-current { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 760px) {
    .portfolio-current { grid-template-columns: 1fr; }
}
