/* Silicium review: original typography and colors, more space for real work. */
.ui-icon{display:inline-block;vertical-align:middle;flex:none;width:24px;height:24px;fill:none}
.hero-copy h1{font-size:clamp(3.2rem,5.1vw,4.8rem);line-height:1.04;letter-spacing:-.04em}
.hero-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px}
.hero{min-height:760px;padding-top:154px;padding-bottom:80px}
.hero-work{position:relative;min-width:0;margin:0;padding:0 0 90px 10px}
.hero-site-window{overflow:hidden;border:1px solid #3b3b3b;border-radius:13px;background:#fff;transform:rotate(1.4deg);box-shadow:0 24px 65px #0004}
.window-caption{height:34px;padding:0 12px;display:flex;align-items:center;gap:24px;background:#242424;color:#ccc;font-size:.64rem}
.window-caption>span:first-child{display:flex;gap:5px}.window-caption i{width:6px;height:6px;background:#777;border-radius:50%}
.hero-site-image{height:330px;overflow:hidden}.hero-site-image img{display:block;width:100%;height:auto}
.hero-panel-window{position:absolute;right:-12px;bottom:38px;overflow:hidden;width:79%;border:1px solid #4d4d4d;border-radius:11px;background:#131313;transform:rotate(-2deg);box-shadow:0 18px 40px #0007}
.hero-panel-window>span{display:block;padding:10px 13px;color:#d5d5d5;font-size:.64rem}.hero-panel-window img{width:100%;height:auto}
.hero-work figcaption{position:absolute;bottom:0;left:14px;display:flex;align-items:center;gap:10px;color:#acacac;font-size:.73rem;line-height:1.5}
.work-dot{height:6px;width:6px;border-radius:50%;background:#ff6a00}
.hero-trust{gap:18px}.hero-trust div{padding-right:15px}.hero-trust strong{font-size:.82rem}.hero-trust span{font-size:.72rem}

.service-mark{width:44px;height:44px;display:grid;place-items:center;color:#b94c00;background:#fff3e8;border-radius:12px}.featured .service-mark{background:#29211a;color:#ff9b53}
.needs{background:#eeece6}.needs-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:80px;align-items:start}
.needs-layout h2{font-family:var(--font-display,'Exo 2');font-size:clamp(2rem,3.3vw,3rem);line-height:1.12;letter-spacing:-.025em;margin:0 0 22px}
.needs-layout>div>p:not(.eyebrow){color:#64615c;max-width:360px}.needs-list{border-top:1px solid #cfcdc6}
.needs-list>a{display:grid;grid-template-columns:28px minmax(0,1fr) 20px;gap:18px;padding:25px 0;border-bottom:1px solid #cfcdc6;align-items:start}
.needs-list>a>span{padding-top:4px;font-size:.66rem;color:#9d4100;font-weight:700}.needs-list strong{font-family:var(--font-display,'Exo 2');font-size:1.2rem;line-height:1.35;display:block}.needs-list p{color:#6a6660;font-size:.86rem;margin:8px 0 0;line-height:1.7}.needs-list b{font-size:1.3rem;color:#a84600}.needs-list>a:hover strong{color:#a84600}
.experience-sectors{border-top:1px solid #333;padding:20px 0 6px;margin:24px 0}.experience-sectors small{color:#ffa365;font-size:.72rem}.experience-sectors p{font-size:.83rem!important;line-height:1.75;margin:8px 0!important}
.method{background:#fbfbf9}.process-grid .step-icon{line-height:0}.process-grid .step-icon svg{width:23px;height:23px}
.case-context{display:grid;gap:13px}.case-context p{margin:0;color:#bbb;font-size:.86rem;line-height:1.65}.case-context p>span{display:block;color:#ffb783;font-size:.65rem;font-weight:700;letter-spacing:.05em;margin-bottom:3px}
.case-quote{display:block;margin-top:22px;padding:16px 0 0;border-top:1px solid #373737;color:#eee;font-size:.88rem;line-height:1.7}.case-quote span{display:block;margin-top:10px;color:#b8b8b8;font-size:.7rem}
.portfolio-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.portfolio-card{grid-column:span 2}.portfolio-card .project-preview.site-capture{height:300px}.portfolio-card .project-content{padding:25px}.portfolio-card .project-content h3{font-size:1.45rem}.portfolio-card.project-central{grid-column:1/-1;order:-1;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.portfolio-card.project-central .project-preview.site-capture{height:560px;min-height:0}.portfolio-card.project-central .project-content{padding:36px}.portfolio-card.project-central h3{font-size:2rem}.featured-badge{color:#ffb47b;font-size:.65rem;letter-spacing:.07em;font-weight:700;margin:0 0 16px}
.project-preview{position:relative}.preview-toggle{position:absolute;right:10px;top:49px;z-index:2;border:1px solid #aaa;padding:7px 10px;border-radius:6px;background:#fff;color:#222;font-size:.7rem;font-family:inherit;opacity:0;pointer-events:none}
.project-preview:focus-within .preview-toggle,.project-preview:hover .preview-toggle{opacity:1;pointer-events:auto}.preview-toggle:focus-visible{opacity:1;pointer-events:auto}
.system-case{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}.system-preview{padding:0;background:#141b23}.system-content{padding:35px}

.btn-dark{background:#161616;color:#fff;border-color:#161616}
.appointment-note{display:flex;gap:12px;align-items:flex-start;padding:19px 0;color:#eee}.appointment-note>.ui-icon{width:20px;height:20px;color:#ff9b58;margin-top:2px}.appointment-note strong{font-size:.85rem;display:block}.appointment-note span{display:block;color:#aaa;font-size:.76rem;line-height:1.6;margin-top:4px}
.coverage-heading>.ui-icon{color:#ff8c3b}.message-hint{font-size:.73rem;color:#aaa;line-height:1.6;margin:-10px 0 20px}.contact-icon .ui-icon{height:21px;width:21px}.footer-links span{font-size:.75rem;line-height:1.6}
.service-hero .service-hero-inner{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:50px;align-items:center}.service-hero h1{font-size:clamp(2.5rem,4.3vw,4.3rem)}.service-illustration{width:100%;height:auto;border-radius:15px;background:#f5f3ec}
.delivery-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:35px}.delivery-columns h3{font-family:'Exo 2';font-size:1.25rem}.delivery-columns ul{padding-left:20px;color:#666;font-size:.9rem;line-height:1.9}
.comparison-wrap{max-width:100%;overflow:auto}.comparison{width:100%;border-collapse:collapse;text-align:left;font-size:.9rem;background:#fff}.comparison caption{text-align:left;padding:0 0 18px;color:#777;font-size:.8rem}.comparison th,.comparison td{padding:20px;vertical-align:top;border-bottom:1px solid #ddd}.comparison thead th{background:#171717;color:#fff}.comparison tbody th{font-weight:600}.scope-footnote{font-size:.8rem;color:#777;margin-top:20px}
.reading-content{max-width:790px}.reading-content>section+section{margin-top:38px}.reading-content h2{font-size:1.65rem;line-height:1.2;margin-bottom:15px}.reading-content p{color:#5f5f5f;font-size:1rem;line-height:1.85}.campaign-content{max-width:840px}.campaign-content p{max-width:690px;color:#666}
.nautical-scene{position:absolute;inset:0;opacity:.35}.radar-ring{position:absolute;left:50%;top:46%;border:1px solid #5cc3dc;border-radius:50%;transform:translate(-50%,-50%)}.r1{width:290px;height:290px}.r2{width:410px;height:410px}.radar-cross{position:absolute;inset:0;background:linear-gradient(90deg,transparent calc(50% - .5px),#397288 50%,transparent calc(50% + .5px)),linear-gradient(transparent calc(46% - .5px),#397288 46%,transparent calc(46% + .5px))}
.nautical-faq h2{font-size:clamp(2rem,4vw,3rem);line-height:1.1;max-width:720px}
@media(min-width:1021px){.main-nav{gap:23px}.main-nav>a{font-size:.8rem}.main-nav .nav-cta{padding:11px 15px}.section-heading h2{font-size:clamp(2.2rem,3.6vw,3.3rem)}}
@media(max-width:1020px){.hero-layout{grid-template-columns:1fr;gap:55px}.hero-work{max-width:660px;width:100%;margin:0 auto}.hero-panel-window{right:0}.hero-copy h1{font-size:clamp(3rem,6.8vw,4.7rem)}.needs-layout{gap:40px}.system-case{grid-template-columns:1fr}.system-content{padding:30px}.service-hero .service-hero-inner{gap:30px}}
@media(min-width:761px) and (max-width:1100px){.portfolio-grid{grid-template-columns:1fr}.portfolio-card,.portfolio-card.project-central{grid-column:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.portfolio-card .project-preview.site-capture{height:460px;min-height:0}.portfolio-card.project-central .project-preview.site-capture{height:540px;min-height:0}}
@media(max-width:800px){.service-hero .service-hero-inner{grid-template-columns:1fr}.service-illustration{max-width:520px}.delivery-columns{grid-template-columns:1fr;gap:14px}.delivery-columns ul{margin-bottom:0}.needs-layout{grid-template-columns:1fr;gap:28px}.needs-layout>div>p:not(.eyebrow){max-width:580px}}
@media(max-width:760px){.hero{min-height:0;padding:118px 0 58px}.hero-copy h1{font-size:clamp(2.8rem,11vw,4rem);margin-bottom:22px}.hero-lead{font-size:.95rem}.hero-trust{display:grid;grid-template-columns:1fr;gap:10px;margin-top:30px;padding-top:20px}.hero-trust>div{display:flex;justify-content:space-between;gap:15px;padding:8px 0;border-right:0;border-bottom:0}.hero-trust strong{font-size:.76rem}.hero-trust span{text-align:right;font-size:.72rem;max-width:160px}.hero-work{margin-top:0;padding-bottom:62px;padding-left:0;max-width:490px}.hero-site-image{height:240px}.hero-panel-window{bottom:28px;width:77%}.hero-panel-window>span{font-size:.55rem;padding:6px 8px}.hero-work figcaption{font-size:.62rem;left:0}.hero-layout{gap:40px}.window-caption{height:29px}.hero-site-window{transform:none}.section{padding-block:65px}.needs-layout h2{font-size:2rem}.needs-list>a{gap:12px;grid-template-columns:22px minmax(0,1fr) 18px;padding:23px 0}.needs-list strong{font-size:1.08rem}.service-groups .service-card{min-height:0}.service-groups .service-card h3{margin-top:22px}.service-mark{width:40px;height:40px}.comparison{font-size:.78rem;min-width:560px}.comparison th,.comparison td{padding:15px}.appointment-note strong{font-size:.8rem}.message-hint{font-size:.72rem}.project-preview .preview-toggle{opacity:1;pointer-events:auto;top:48px;padding:6px 9px;font-size:.65rem}.project-preview.site-capture{height:320px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.hero-site-window,.hero-panel-window{transform:none}}
@media(max-width:760px){.portfolio-grid{grid-template-columns:1fr}.portfolio-card,.portfolio-card.project-central{grid-column:1;display:flex}.portfolio-card .project-preview.site-capture,.portfolio-card.project-central .project-preview.site-capture{height:320px;min-height:0}.portfolio-card.project-central .project-content{padding:26px}.portfolio-card.project-central h3{font-size:1.65rem}}



.portfolio-card .project-content .featured-badge{min-height:0;color:#ffb47b;font-size:.65rem;letter-spacing:.07em;font-weight:700;margin:0 0 18px}

/* Solutions: one consistent grid, including specialized and recurring services. */
.solutions-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.solutions-grid .service-card{display:flex;flex-direction:column;min-width:0;min-height:0;padding:28px;border:1px solid #deded8;border-radius:14px;background:#fff;box-shadow:none}
.solutions-grid .service-card:hover{transform:translateY(-3px);border-color:#bdbdb4;box-shadow:0 8px 24px #00000006}
.solutions-grid .service-mark{width:42px;height:42px;border-radius:11px}
.solutions-grid .service-card h3{margin:23px 0 12px;font-size:1.4rem;line-height:1.22;letter-spacing:-.015em}
.solutions-grid .service-card>p{font-size:.88rem;line-height:1.7;color:#62625d}
.solutions-grid .service-scope{margin:18px 0 0;font-size:.8rem;line-height:1.8;color:#555550}
.solutions-grid .service-card>a{position:static;display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:auto;padding-top:26px;font-size:.78rem;line-height:1.5;color:#292929}
.solutions-grid .service-card>a>span{margin:0;color:#a84600;font-size:1.1rem;flex:none}
.solutions-grid .service-card>a:hover{color:#a84600}
.solutions-grid .service-card>a:focus-visible{outline:2px solid #ad4900;outline-offset:5px;border-radius:2px}
.solutions-grid .service-card-recurring{background:#eeeee9;border-color:#d7d7cf}
.solutions-grid .service-card-recurring .service-mark{background:#e1e1d9;color:#5b5b4e}
@media(max-width:1100px){.solutions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.solutions-grid{grid-template-columns:1fr;gap:16px}.solutions-grid .service-card{padding:25px}.solutions-grid .service-card h3{font-size:1.35rem;margin-top:20px}.solutions-grid .service-card>a{padding-top:22px}}
