:root{--color-bg:#172234;--color-bg-alt:#1d2a3f;--color-bg-soft:#223047;--color-bg-panel:#1a263a;--color-bg-header:#141f31;--color-bg-footer:#152238;--color-bg-depth:#111b2a;--color-surface-elevated:#1f2d42db;--color-surface-raised:#26374ec7;--color-border:#314157;--color-border-soft:#3d5069;--color-grid-line:#b4c7e00e;--color-accent:#22d3ee;--color-accent-hover:#67e8f9;--color-accent-soft:#22d3ee1f;--color-primary:var(--color-accent);--color-primary-hover:var(--color-accent-hover);--color-primary-text:#082f49;--color-text:#fff;--color-text-muted:#d7e0ea;--container-max-width:1120px;--content-max-width:640px;--container-padding:2rem;--container-padding-sm:1.25rem;--font-family-base:system-ui, Avenir, Helvetica, Arial, sans-serif;--font-size-xs:.82rem;--font-size-sm:.92rem;--font-size-base:1rem;--font-size-md:1.1rem;--font-size-lg:1.5rem;--font-size-xl:2rem;--font-size-hero:clamp(2.2rem, 4.25vw, 3.7rem);--line-height-tight:1.14;--line-height-heading:1.15;--line-height-body:1.7;--letter-spacing-tight:-.02em;--letter-spacing-wide:.08em;--space-sm:.75rem;--space-md:1rem;--space-lg-sm:1.5rem;--space-lg:3rem;--space-xl:4rem;--space-2xl:6rem;--radius-sm:.25rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--shadow-panel:0 18px 44px #080f1c38;--shadow-card:0 14px 34px #080f1c2e;--header-height:68px;--fixed-header-offset:76px;--fixed-header-offset-tablet:132px;--fixed-header-offset-mobile:168px;--fixed-header-offset-small:196px;font-family:var(--font-family-base);color:var(--color-text);background:var(--color-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,:before,:after{box-sizing:border-box}*{margin:0;padding:0}body{min-width:320px;min-height:100vh;color:var(--color-text);background:linear-gradient(90deg, var(--color-grid-line) 1px, transparent 1px), linear-gradient(180deg, var(--color-grid-line) 1px, transparent 1px), linear-gradient(135deg, #22d3ee08, transparent 24rem), radial-gradient(circle at 18% 8%, #3b82f61a, transparent 32rem), radial-gradient(circle at 86% 18%, #4a65878c, transparent 30rem), radial-gradient(circle at 52% 92%, #182437d6, transparent 32rem), linear-gradient(180deg, var(--color-bg-alt), var(--color-bg-depth) 76%), var(--color-bg-depth);font-size:var(--font-size-base);line-height:var(--line-height-body);background-size:48px 48px,48px 48px,auto,auto,auto,auto;background-attachment:fixed}#root{min-height:100vh}h1{font-size:var(--font-size-xl);font-weight:700;line-height:var(--line-height-heading);letter-spacing:var(--letter-spacing-tight)}.content-container{width:min(100% - var(--container-padding), var(--container-max-width));margin:0 auto}.text-center{text-align:center}.section-content{gap:var(--space-sm);display:grid}.section-kicker{color:var(--color-accent);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;font-weight:800}.section-title{color:var(--color-text);font-size:var(--font-size-lg);font-weight:700;line-height:var(--line-height-heading);letter-spacing:var(--letter-spacing-tight)}.section-subtitle{max-width:var(--content-max-width);color:var(--color-text-muted);font-size:var(--font-size-base);line-height:var(--line-height-body)}.card{padding:var(--space-lg-sm);border-radius:var(--radius-xl);background:linear-gradient(180deg, #ffffff0b, transparent 42%), radial-gradient(circle at 18% 0%, #22d3ee09, transparent 34%), var(--color-surface-elevated);box-shadow:var(--shadow-card);border:1px solid #4a607aad}.card-title{color:var(--color-text);font-size:var(--font-size-md);font-weight:700;line-height:var(--line-height-heading);letter-spacing:var(--letter-spacing-tight)}.card-text{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:var(--line-height-body)}.btn-primary{justify-content:center;align-items:center;gap:var(--space-sm);border:1px solid var(--color-primary);border-radius:var(--radius-lg);min-height:3rem;color:var(--color-primary-text);background:var(--color-primary);font:inherit;font-size:var(--font-size-sm);letter-spacing:.01em;cursor:pointer;padding:.85rem 1.25rem;font-weight:700;line-height:1;text-decoration:none;display:inline-flex}.btn-primary:hover{border-color:var(--color-primary-hover);background:var(--color-primary-hover)}.btn-primary:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.btn-secondary{border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);min-height:3rem;color:var(--color-text);font:inherit;font-size:var(--font-size-sm);background:0 0;justify-content:center;align-items:center;padding:.85rem 1.25rem;font-weight:700;line-height:1;text-decoration:none;display:inline-flex}@media (width<=560px){.content-container{width:min(100% - var(--container-padding-sm), var(--container-max-width))}.section-title{font-size:var(--font-size-md)}.section-subtitle{font-size:var(--font-size-sm)}.card{padding:var(--space-md);border-radius:var(--radius-lg)}}.app{min-height:100vh;padding-top:var(--fixed-header-offset);background:0 0}.app-header{z-index:100;background:linear-gradient(180deg, #ffffff0a, transparent 58%), linear-gradient(90deg, #b4c7e005 1px, transparent 1px), var(--color-bg-header);background-size:auto,56px 56px,auto;border-bottom:1px solid #4a607a9e;width:100%;position:fixed;inset:0 0 auto;box-shadow:0 14px 34px #080f1c57,inset 0 1px #ffffff09}.navbar{align-items:center;gap:var(--space-lg-sm);min-height:var(--header-height);grid-template-columns:minmax(190px,1fr) auto minmax(190px,1fr);padding:.9rem 0;display:grid}.navbar-left{align-items:center;min-width:0;display:flex}.navbar-brand{align-items:center;text-decoration:none;display:inline-flex}.navbar-brand img{object-fit:contain;width:auto;max-width:310px;height:3.6rem;display:block}.navbar-links{justify-content:center;align-items:center;gap:var(--space-lg-sm);list-style:none;display:flex}.navbar-links a{color:var(--color-text-muted);min-height:2.25rem;font-size:var(--font-size-sm);font-weight:600;line-height:var(--line-height-heading);align-items:center;text-decoration:none;transition:color .18s;display:inline-flex;position:relative}.navbar-links a:after{content:"";background:var(--color-accent);opacity:0;border-radius:999px;height:2px;transition:opacity .18s,transform .18s;position:absolute;bottom:.15rem;left:0;right:0;transform:scaleX(.6)}.navbar-links a:hover,.navbar-links a:focus-visible{color:var(--color-accent)}.navbar-links a:hover:after,.navbar-links a:focus-visible:after,.navbar-links a.active:after{opacity:1;transform:scaleX(1)}.navbar-links a.active{color:var(--color-accent)}.navbar-contact{flex-direction:column;justify-content:flex-end;justify-self:end;align-items:flex-start;gap:.35rem;min-width:0;display:flex}.navbar-contact a{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:600;line-height:var(--line-height-heading);opacity:.82;white-space:nowrap;align-items:center;gap:.4rem;text-decoration:none;transition:color .18s,opacity .18s;display:inline-flex}.navbar-contact a:hover,.navbar-contact a:focus-visible{color:var(--color-accent);opacity:1}.navbar-contact svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;opacity:.86;width:.95rem;height:.95rem}.section{padding:var(--space-xl) 0;border-bottom:1px solid var(--color-border);background:radial-gradient(circle at 12% 10%,#22d3ee08,#0000 22rem),linear-gradient(90deg,#b4c7e007 1px,#0000 1px) 0 0/56px 56px,linear-gradient(#b4c7e006 1px,#0000 1px) 0 0/56px 56px,linear-gradient(#1f2d42f0,#182437eb);position:relative}.section:nth-of-type(2n){background:radial-gradient(circle at 86% 18%,#4a658738,#0000 24rem),linear-gradient(90deg,#b4c7e006 1px,#0000 1px) 0 0/56px 56px,linear-gradient(#b4c7e006 1px,#0000 1px) 0 0/56px 56px,linear-gradient(#1b283cf5,#162234f0)}.section:nth-of-type(odd){background:radial-gradient(circle at 12% 10%,#22d3ee08,#0000 22rem),linear-gradient(90deg,#b4c7e007 1px,#0000 1px) 0 0/56px 56px,linear-gradient(#b4c7e006 1px,#0000 1px) 0 0/56px 56px,linear-gradient(#1f2d42f0,#182437eb)}.section-container{width:min(100% - var(--container-padding), var(--container-max-width));margin:0 auto}.hero{min-height:calc(100vh - var(--fixed-header-offset));background:radial-gradient(circle at 18% 22%,#22d3ee17,#0000 24rem),radial-gradient(circle at 78% 36%,#4a65877a,#0000 28rem),linear-gradient(135deg,#223249f5,#121d2df0);position:relative;overflow:hidden}.hero:before,.hero:after{content:"";pointer-events:none;position:absolute}.hero:before{background-color:#0000;background-image:linear-gradient(90deg,#94a3b809 1px,#0000 1px),linear-gradient(#94a3b808 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:64px 64px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;inset:0;-webkit-mask-image:linear-gradient(#000000bf,#0000 82%);mask-image:linear-gradient(#000000bf,#0000 82%)}.hero:after{opacity:.7;border:1px solid #22d3ee1f;border-radius:999px;width:28rem;height:28rem;top:14%;right:-10rem}.hero .section-container{z-index:1;min-height:inherit;padding-top:var(--space-md);padding-bottom:var(--space-lg);align-items:center;display:flex;position:relative}.hero-layout{align-items:center;gap:clamp(var(--space-xl), 9vw, 8rem);grid-template-columns:minmax(0,1fr) minmax(340px,1fr);width:100%;display:grid}.hero-content{justify-items:start;gap:var(--space-md);max-width:740px;display:grid}.hero-kicker{color:var(--color-accent);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;font-weight:700}.hero-content h1{font-size:var(--font-size-hero);font-weight:720;line-height:var(--line-height-tight);letter-spacing:-.015em;max-width:17.5ch}.hero-copy{max-width:var(--content-max-width);color:var(--color-text-muted);font-size:var(--font-size-md);line-height:var(--line-height-body)}.hero-actions{gap:var(--space-sm);flex-wrap:wrap;display:flex}.hero-capabilities{gap:var(--space-sm);padding-top:var(--space-sm);flex-wrap:wrap;display:flex}.hero-capabilities span{border:1px solid var(--color-border);color:var(--color-text-muted);background:var(--color-bg-soft);font-size:var(--font-size-xs);border-radius:999px;padding:.45rem .7rem;font-weight:700}.hero-illustration{padding:var(--space-lg-sm);box-shadow:var(--shadow-panel);background-color:#0000;background-image:linear-gradient(90deg,#b4c7e009 1px,#0000 1px),linear-gradient(#b4c7e009 1px,#0000 1px),linear-gradient(135deg,#31415794,#182437b8);background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:44px 44px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border:1px solid #4a607a94;border-radius:1.35rem;justify-content:center;align-items:center;display:flex}.hero-illustration img{object-fit:contain;border-radius:1rem;width:min(100%,560px);height:auto;display:block}.about-grid{align-items:stretch;gap:var(--space-lg);margin-top:var(--space-xl);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.about-card{align-content:start;gap:var(--space-lg-sm);height:100%;min-height:100%;padding:var(--space-md);background:var(--color-surface-raised);grid-template-rows:auto 1fr;display:grid;overflow:hidden}.about-card-image{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-soft);overflow:hidden}.about-card-image img{aspect-ratio:16/11;object-fit:cover;width:100%;display:block}.about-card-content{align-content:start;gap:var(--space-md);padding:0 var(--space-sm) var(--space-sm);display:grid}.about-card .card-title{font-size:clamp(var(--font-size-md), 1.5vw, var(--font-size-lg));line-height:var(--line-height-heading)}.home-preview-grid{gap:var(--space-lg);margin-top:var(--space-xl);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.home-preview-card{--preview-image-height:clamp(10.75rem, 13vw, 12.5rem);align-content:start;align-items:start;column-gap:clamp(var(--space-lg-sm), 2.4vw, var(--space-lg));row-gap:var(--space-lg-sm);height:100%;padding:var(--space-md);background:radial-gradient(circle at 18% 12%, #22d3ee0e, transparent 42%), linear-gradient(180deg, #ffffff07, transparent 48%), var(--color-surface-elevated);grid-template-columns:minmax(180px,42%) minmax(0,1fr);display:grid;overflow:hidden}.home-preview-content{align-content:space-between;align-self:stretch;gap:var(--space-lg-sm);min-width:0;min-height:var(--preview-image-height);padding:0 var(--space-md) var(--space-sm) 0;display:grid}.home-preview-copy{gap:var(--space-sm);display:grid}.home-preview-image{width:100%;min-width:0;height:var(--preview-image-height);border-radius:var(--radius-lg);align-self:start;place-items:center;display:grid;position:relative;overflow:hidden}.home-preview-image img{z-index:1;border-radius:var(--radius-lg);object-fit:cover;width:100%;height:100%;display:block;position:relative}.home-preview-card a{color:var(--color-accent);font-size:var(--font-size-sm);place-self:end start;font-weight:800;text-decoration:none}.services-grid{align-items:stretch;gap:var(--space-lg);margin-top:var(--space-xl);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.service-card{align-content:start;gap:var(--space-lg-sm);height:100%;min-height:100%;padding:var(--space-md);background:var(--color-surface-raised);grid-template-rows:auto 1fr;display:grid;overflow:hidden}.service-image{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-soft);overflow:hidden}.service-image img{aspect-ratio:16/11;object-fit:cover;width:100%;display:block}.service-card-content{align-content:start;gap:var(--space-md);padding:0 var(--space-sm) var(--space-sm);grid-template-rows:auto 1fr auto;display:grid}.service-card .card-title{font-size:clamp(var(--font-size-md), 1.5vw, var(--font-size-lg));line-height:var(--line-height-heading)}.service-card-button{min-height:2.65rem;margin-top:var(--space-xs);color:var(--color-accent);background:#22d3ee0b;border-color:#22d3ee47;justify-self:start;padding:.75rem 1rem;transition:border-color .18s,background .18s,color .18s,transform .18s;box-shadow:0 10px 24px #040c182e}.service-card-button:hover,.service-card-button:focus-visible{color:var(--color-primary-text);background:var(--color-primary);border-color:#22d3ee8c;transform:translateY(-1px)}.service-detail-hero{gap:var(--space-lg-sm);display:grid}.service-detail-highlights{gap:var(--space-sm);flex-wrap:wrap;display:flex}.service-detail-highlights span{border:1px solid var(--color-border);color:var(--color-text-muted);background:var(--color-bg-soft);font-size:var(--font-size-xs);border-radius:999px;padding:.45rem .7rem;font-weight:800}.service-detail-grid{gap:var(--space-xl);grid-template-columns:minmax(0,1fr) minmax(280px,.42fr);align-items:start;display:grid}.service-detail-copy,.service-benefits{gap:var(--space-lg-sm);display:grid}.service-detail-card{gap:var(--space-md);display:grid}.service-benefit-card{gap:var(--space-sm);background:var(--color-surface-raised);display:grid}.service-benefit-card>span{color:var(--color-accent);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-wide);font-weight:900}.service-detail-cta{align-items:center;gap:var(--space-xl);background:var(--color-surface-raised);grid-template-columns:minmax(0,1fr) auto;display:grid}.service-detail-actions{gap:var(--space-sm);flex-wrap:wrap;justify-content:flex-end;display:flex}.project-categories{gap:var(--space-sm);margin-top:var(--space-lg-sm);flex-wrap:wrap;display:flex}.project-scroll-anchor{scroll-margin-top:calc(var(--fixed-header-offset) + var(--space-md))}.project-category-pill{border:1px solid var(--color-border);min-height:2.35rem;color:var(--color-text-muted);background:linear-gradient(180deg, #ffffff09, transparent), var(--color-bg-soft);font:inherit;font-size:var(--font-size-xs);letter-spacing:.02em;cursor:pointer;border-radius:999px;padding:.5rem .9rem;font-weight:800;transition:border-color .18s,color .18s,background .18s}.project-category-pill:hover,.project-category-pill:focus-visible,.project-category-pill.is-active{color:var(--color-accent);background:linear-gradient(180deg, #22d3ee14, transparent), var(--color-bg-soft);border-color:#22d3ee6b}.project-category-pill:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.projects-grid{align-items:stretch;gap:var(--space-lg);margin-top:var(--space-xl);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.project-card{--project-media-height:190px;gap:var(--space-lg-sm);height:100%;min-height:100%;padding:var(--space-md);background:var(--color-surface-raised);grid-template-rows:auto 1fr;transition:border-color .18s,box-shadow .18s,background .18s;display:grid;overflow:hidden}.project-card:hover,.project-card:focus-within{background:linear-gradient(180deg, #ffffff0b, #22d3ee05), var(--color-surface-raised);border-color:#22d3ee47;box-shadow:0 24px 54px #040c1852,inset 0 1px #ffffff0e}.project-preview{align-content:end;gap:var(--space-sm);height:var(--project-media-height);padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:linear-gradient(180deg, #22d3ee09, transparent), var(--color-bg-soft);display:grid}.project-image{height:var(--project-media-height);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-soft);transition:border-color .18s,box-shadow .18s;overflow:hidden}.project-image img{object-fit:cover;object-position:center;width:100%;height:100%;transition:filter .18s,transform .22s;display:block}.project-card:hover .project-image,.project-card:focus-within .project-image{border-color:#22d3ee3d;box-shadow:0 14px 30px #040c1833}.project-card:hover .project-image img,.project-card:focus-within .project-image img{filter:saturate(1.04)contrast(1.03);transform:scale(1.015)}.project-preview span{border-radius:var(--radius-sm);background:var(--color-border-soft);height:.7rem;display:block}.project-preview span:first-child{background:var(--color-accent-soft);width:76%}.project-preview span:nth-child(2){width:54%}.project-preview span:nth-child(3){width:34%}.project-card-content{align-content:space-between;gap:var(--space-lg-sm);padding:0 var(--space-sm) var(--space-sm);display:grid}.project-card-copy{gap:var(--space-sm);display:grid}.project-link{border-radius:var(--radius-md);min-height:2.45rem;color:var(--color-accent);font:inherit;font-size:var(--font-size-sm);text-align:left;cursor:pointer;background:linear-gradient(#22d3ee13,#22d3ee06),#22d3ee09;border:1px solid #22d3ee61;justify-content:center;justify-self:start;align-items:center;padding:.65rem .95rem;font-weight:800;line-height:1;text-decoration:none;transition:border-color .18s,color .18s,background .18s,transform .18s;display:inline-flex;box-shadow:0 8px 18px #080f1c29,inset 0 1px #ffffff0d}.project-link:hover,.project-link:focus-visible,.project-card:hover .project-link{color:var(--color-accent-hover);background:linear-gradient(#22d3ee1c,#22d3ee09),#22d3ee0d;border-color:#67e8f994;transform:translateY(-1px)}.project-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.project-pagination{justify-content:center;gap:var(--space-sm);margin-top:var(--space-xl);flex-wrap:wrap;display:flex}.project-pagination-button,.project-pagination-number{border:1px solid var(--color-border);border-radius:var(--radius-md);min-height:2.4rem;color:var(--color-text-muted);background:linear-gradient(180deg, #ffffff09, transparent), var(--color-bg-soft);font:inherit;font-size:var(--font-size-sm);cursor:pointer;font-weight:800;transition:border-color .18s,color .18s,background .18s}.project-pagination-button{padding:.55rem .9rem}.project-pagination-number{width:2.4rem;padding:0}.project-pagination-button:hover:not(:disabled),.project-pagination-button:focus-visible:not(:disabled),.project-pagination-number:hover,.project-pagination-number:focus-visible,.project-pagination-number.is-active{color:var(--color-accent);background:linear-gradient(180deg, #22d3ee14, transparent), var(--color-bg-soft);border-color:#22d3ee6b}.project-pagination-button:focus-visible,.project-pagination-number:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.project-pagination-button:disabled{cursor:not-allowed;opacity:.48}.project-empty-state{margin-top:var(--space-xl);color:var(--color-text-muted);font-size:var(--font-size-base);text-align:center}.contact-layout{gap:var(--space-xl);grid-template-columns:minmax(0,.95fr) minmax(340px,.85fr);align-items:stretch;display:grid}.contact-content{gap:2rem;display:grid}.contact-info-grid{gap:var(--space-md);display:grid}.contact-info-card{min-height:6.15rem;padding-block:var(--space-lg-sm);background:var(--color-surface-raised);gap:.35rem;display:grid}.contact-info-card span{color:var(--color-accent);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;font-weight:800}.contact-info-card p,.contact-info-card a{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:var(--line-height-body)}.contact-info-card a{text-decoration:none}.contact-image-panel{border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-bg-soft);box-shadow:var(--shadow-card);overflow:hidden}.contact-image-panel img{aspect-ratio:16/11;object-fit:cover;object-position:center;width:100%;display:block}.contact-form{padding:var(--space-lg-sm);background:var(--color-surface-raised);align-content:space-between;align-self:stretch;gap:1.15rem;display:grid}.contact-form label{color:var(--color-text);font-size:var(--font-size-sm);gap:.45rem;font-weight:700;display:grid}.contact-form label span{align-items:center;gap:.25rem;display:inline-flex}.contact-form label em{color:var(--color-accent);font-style:normal}.contact-form input,.contact-form textarea{border:1px solid var(--color-border-soft);border-radius:var(--radius-md);width:100%;color:var(--color-text);background:var(--color-bg-depth);font:inherit;font-size:var(--font-size-sm);padding:1rem var(--space-md)}.contact-form textarea{resize:vertical;min-height:4.75rem}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--color-text-muted)}.contact-form .btn-primary:disabled{opacity:.68;cursor:wait}.contact-form-status{border:1px solid var(--color-border-soft);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:700;line-height:var(--line-height-body);margin:0;padding:.85rem 1rem}.contact-form-status.is-success{color:var(--color-accent);background:#22d3ee0f;border-color:#22d3ee57}.contact-form-status.is-error{color:#fecaca;background:#f8717114;border-color:#f8717166}.privacy-page{gap:var(--space-xl);max-width:900px;display:grid}.privacy-hero .section-title{max-width:720px}.privacy-content{gap:var(--space-lg-sm);display:grid}.privacy-card{gap:var(--space-sm);display:grid}.privacy-card ul{gap:var(--space-sm);color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:var(--line-height-body);padding-left:1.15rem;display:grid}.privacy-card address{color:var(--color-text-muted);font-style:normal;font-size:var(--font-size-sm);line-height:var(--line-height-body)}.privacy-card a{color:var(--color-accent);text-decoration:none}.faq-page{gap:var(--space-xl);display:grid}.faq-hero .section-title{max-width:760px}.faq-grid{align-items:start;gap:var(--space-lg-sm);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.faq-item{gap:0;padding:0;display:grid;overflow:hidden}.faq-question{align-items:center;gap:var(--space-md);width:100%;padding:var(--space-lg-sm);color:var(--color-text-muted);font:inherit;font-size:var(--font-size-md);font-weight:700;line-height:var(--line-height-heading);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto;display:grid}.faq-question:hover,.faq-question:focus-visible,.faq-item.is-open .faq-question{color:var(--color-text)}.faq-icon{width:2rem;height:2rem;color:var(--color-accent);font-size:var(--font-size-md);border:1px solid #22d3ee57;border-radius:999px;justify-content:center;align-items:center;line-height:1;transition:transform .18s;display:inline-flex}.faq-item.is-open .faq-icon{transform:rotate(45deg)}.faq-answer{grid-template-rows:0fr;transition:grid-template-rows .22s;display:grid}.faq-item.is-open .faq-answer{grid-template-rows:1fr}.faq-answer p{padding:0 var(--space-lg-sm);color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:var(--line-height-body);overflow:hidden}.faq-item.is-open .faq-answer p{padding-bottom:var(--space-lg-sm)}.footer{background:linear-gradient(180deg, #080f1c14, transparent 28%), radial-gradient(circle at 16% 0%, #22d3ee08, transparent 22rem), linear-gradient(90deg, #b4c7e006 1px, transparent 1px), linear-gradient(180deg, #b4c7e005 1px, transparent 1px), var(--color-bg-footer);background-size:auto,56px 56px,56px 56px,auto;border-top:1px solid #5e779694;box-shadow:0 -18px 42px #080f1c2e}.footer-container{gap:var(--space-xl);padding:var(--space-xl) 0;grid-template-columns:minmax(240px,1.4fr) repeat(3,minmax(0,1fr));display:grid}.footer-brand{align-content:start;gap:var(--space-md);display:grid}.footer-logo{color:var(--color-accent);font-size:var(--font-size-md);letter-spacing:.02em;font-weight:800;text-decoration:none}.footer-brand p,.footer-column li,.footer-bottom p{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:var(--line-height-body)}.footer-brand p{max-width:28rem}.footer-client-portal{border-radius:var(--radius-md);min-height:2.5rem;color:var(--color-accent);font:inherit;font-size:var(--font-size-sm);opacity:.82;cursor:not-allowed;background:linear-gradient(#22d3ee11,#22d3ee06),#22d3ee08;border:1px solid #22d3ee4d;justify-self:start;padding:.65rem .95rem;font-weight:800;line-height:1}.footer-column{align-content:start;gap:var(--space-md);display:grid}.footer-column h2{color:var(--color-text);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;font-weight:800}.footer-column ul{gap:var(--space-sm);list-style:none;display:grid}.footer-column a{color:var(--color-text-muted);text-decoration:none;transition:color .18s,opacity .18s}.footer-column a:hover,.footer-column a:focus-visible{color:var(--color-accent);opacity:1}.footer-contact-list{gap:.85rem}.footer-contact-item{grid-template-columns:1rem 1fr;align-items:start;gap:.65rem;display:grid}.footer-contact-icon{width:1rem;height:1rem;color:var(--color-accent);opacity:.78;margin-top:.2rem;display:inline-flex}.footer-contact-icon svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%}.footer-bottom{justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-md) 0;border-top:1px solid var(--color-border);display:flex}.footer-legal{gap:var(--space-sm);flex-wrap:wrap;display:flex}.footer-legal a+a:before{content:"|";margin-right:var(--space-sm);color:var(--color-text-muted);opacity:.5}.footer-legal a{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:var(--line-height-body);opacity:.82;text-decoration:none}.footer-legal a:hover,.footer-legal a:focus-visible{color:var(--color-accent);opacity:1}@media (width<=1024px){.app{padding-top:var(--fixed-header-offset-tablet)}.section{padding:var(--space-lg) 0}.navbar{grid-template-columns:auto 1fr}.navbar-links{justify-content:flex-end}.navbar-contact{grid-column:1/-1;justify-content:center;align-items:center;gap:.35rem}.hero{min-height:auto}.hero .section-container{padding-top:var(--space-lg);padding-bottom:var(--space-xl)}.hero-layout,.service-detail-cta,.service-detail-grid,.contact-layout{gap:var(--space-xl);grid-template-columns:1fr}.hero-content{max-width:760px}.hero-content h1{max-width:18ch}.contact-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-grid,.projects-grid,.services-grid{gap:var(--space-lg-sm);grid-template-columns:repeat(2,minmax(0,1fr))}.home-preview-card{grid-template-columns:1fr}.home-preview-image{aspect-ratio:16/8.5;height:auto;min-height:auto}.home-preview-content{min-height:auto;padding:0 var(--space-sm) var(--space-sm)}.footer-container{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=800px){.app{padding-top:var(--fixed-header-offset-mobile)}.navbar{place-items:center;gap:var(--space-sm);padding:var(--space-md) 0;grid-template-columns:1fr}.navbar-brand img{max-width:270px;height:3rem}.navbar-links{justify-content:center;gap:var(--space-sm) var(--space-lg-sm);flex-wrap:wrap;width:100%}.navbar-links a{min-height:2rem}.navbar-contact{justify-content:center;align-items:center;gap:.35rem}.hero-layout{gap:var(--space-lg);grid-template-columns:1fr}.hero-content{text-align:center;justify-items:center}.hero-actions,.hero-capabilities,.service-detail-actions{justify-content:center}.hero-content h1{max-width:17ch}.hero-illustration img{width:min(100%,480px)}.about-grid,.faq-grid,.home-preview-grid,.services-grid,.projects-grid{grid-template-columns:1fr}.contact-layout{gap:var(--space-lg);grid-template-columns:1fr}.footer-container{grid-template-columns:1fr}}@media (width<=560px){.app{padding-top:var(--fixed-header-offset-small)}.section{padding:var(--space-lg) 0}.section-container{width:min(100% - var(--container-padding-sm), var(--container-max-width))}.navbar{gap:var(--space-md)}.footer-logo{font-size:var(--font-size-base)}.navbar-brand img{max-width:250px;height:2.9rem}.hero .section-container{padding-top:var(--space-md);padding-bottom:var(--space-lg)}.hero-content{gap:var(--space-sm)}.hero-content h1{max-width:16ch}.hero-copy{font-size:var(--font-size-base)}.hero-illustration img{width:min(100%,360px)}.contact-info-grid{grid-template-columns:1fr}.about-card,.home-preview-card,.project-card,.service-card{min-height:auto;padding:var(--space-sm)}.about-card-content,.home-preview-content,.project-card-content,.service-card-content{gap:var(--space-sm);padding:0}.project-preview{min-height:140px}.contact-form input,.contact-form textarea{padding:var(--space-sm) var(--space-md)}.footer-container{gap:var(--space-lg-sm);padding:var(--space-lg) 0}.faq-question{padding:var(--space-md);font-size:var(--font-size-base)}.faq-answer p{padding:0 var(--space-md)}.faq-item.is-open .faq-answer p{padding-bottom:var(--space-md)}.footer-bottom{flex-direction:column;align-items:flex-start}}
