@font-face{font-family:'DM Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url('fonts/dm-sans-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Outfit';font-style:normal;font-weight:800;font-display:swap;src:url('fonts/outfit-800-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Sora';font-style:normal;font-weight:500 800;font-display:swap;src:url('fonts/sora-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-ink:#1A1A1A;--color-accent:#2563EB;--color-accent-hover:#1d4fd8;--color-accent-soft:#60A5FA;--color-accent-bg:#EEF4FF;--color-white:#FFFFFF;--color-off-white:#FAFAF8;--color-background:#F3F2EE;--color-muted:#7C7C7C;--color-border:#E8E8E8;--primary:#2563EB;--headerColor:#1a1a1a;--bodyTextColor:#4e4b66;--bodyTextColorWhite:#fafbfc;--topperFontSize:clamp(0.8125rem,1.6vw,1rem);--headerFontSize:clamp(1.9375rem,3.9vw,3.0625rem);--bodyFontSize:1rem;--sectionPadding:clamp(3.75rem,7.82vw,6.25rem) 1rem;--font-display:'Outfit',sans-serif;--font-heading:'Sora',sans-serif;--font-body:'DM Sans',sans-serif;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:clamp(1.75rem,4vw,2rem);--text-4xl:clamp(2rem,5vw,2.5rem);--text-5xl:clamp(2.5rem,6vw,3.5rem);--text-6xl:clamp(3rem,8vw,4.5rem);--space-xs:0.25rem;--space-sm:0.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--space-4xl:6rem;--space-5xl:8rem;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:24px;--radius-full:9999px;--shadow-sm:0 1px 2px rgba(0,0,0,0.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -2px rgba(0,0,0,0.1);--shadow-lg:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -4px rgba(0,0,0,0.1);--shadow-xl:0 20px 25px -5px rgba(0,0,0,0.1),0 8px 10px -6px rgba(0,0,0,0.1);--shadow-card:0 4px 20px rgba(0,0,0,0.08);--shadow-card-hover:0 8px 30px rgba(0,0,0,0.12);--transition-fast:150ms ease;--transition-base:250ms ease;--transition-slow:400ms ease;--z-header:1000;--z-overlay:900;--z-dropdown:800;--header-height:72px}.cs-topper{font-size:var(--topperFontSize);line-height:1.2em;text-transform:uppercase;text-align:inherit;letter-spacing:.1em;font-weight:700;color:var(--primary);margin-bottom:0.25rem;display:block}.cs-title{font-size:var(--headerFontSize);font-weight:900;line-height:1.2em;text-align:inherit;max-width:43.75rem;margin:0 0 1rem 0;color:var(--headerColor);position:relative}.cs-text{font-size:var(--bodyFontSize);line-height:1.5em;text-align:inherit;width:100%;max-width:40.625rem;margin:0;color:var(--bodyTextColor)}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);font-size:var(--text-base);font-weight:400;line-height:1.6;color:var(--color-ink);background-color:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}ul,ol{list-style:none}img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.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}.hidden{display:none !important}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:1.2;color:var(--color-ink)}.text-accent{color:var(--color-accent)}.text-muted{color:var(--color-muted)}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--space-lg)}section{padding:var(--space-4xl) 0}.section-header{text-align:center;max-width:700px;margin:0 auto var(--space-3xl)}.section-tag{display:inline-block;font-family:var(--font-heading);font-size:var(--text-xs);font-weight:600;letter-spacing:0.1em;color:var(--color-accent);margin-bottom:var(--space-md)}.section-title{font-size:var(--text-4xl);margin-bottom:var(--space-md)}.section-subtitle{font-size:var(--text-lg);color:var(--color-muted);max-width:600px;margin:0 auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);font-family:var(--font-heading);font-size:var(--text-sm);font-weight:600;padding:var(--space-md) var(--space-xl);border-radius:var(--radius-md);transition:all var(--transition-base);white-space:nowrap}.btn--primary{background-color:var(--color-accent);color:var(--color-white)}.btn--primary:hover{background-color:var(--color-accent-hover);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn--secondary{background-color:var(--color-white);color:var(--color-ink);border:1px solid var(--color-border)}.btn--secondary:hover{border-color:var(--color-ink);transform:translateY(-2px)}.btn--secondary-dark{background-color:transparent;color:var(--color-white);border:1px solid rgba(255,255,255,0.3)}.btn--secondary-dark:hover{background-color:rgba(255,255,255,0.1);border-color:var(--color-white);transform:translateY(-2px)}.btn--secondary-light{background-color:transparent;color:var(--color-ink);border:1px solid var(--color-border)}.btn--secondary-light:hover{background-color:var(--color-ink);color:var(--color-white);border-color:var(--color-ink);transform:translateY(-2px)}.btn--large{padding:var(--space-lg) var(--space-2xl);font-size:var(--text-base)}.btn--full{width:100%}.btn__arrow{transition:transform var(--transition-fast)}.btn:hover .btn__arrow{transform:translateX(4px)}@media only screen and (max-width:63.9375rem){body.cs-open{overflow:hidden}body.scroll #cs-navigation{width:100%;max-width:100%;top:0}body.scroll #cs-navigation:before{border-radius:0}body.scroll #cs-navigation .cs-ul-wrapper{top:100%}#cs-navigation{width:94%;max-width:80rem;box-sizing:border-box;padding:clamp(0.75rem,2vw,1.5rem);border-radius:clamp(0.75rem,2vw,1.5rem);position:fixed;top:2rem;left:50%;z-index:10000;transform:translateX(-50%);transition:top 0.3s,border-radius 0.3s,width 0.3s,max-width 0.3s}#cs-navigation:before{content:"";width:100%;height:100%;background:#fff;box-shadow:rgba(149,157,165,0.2) 0px 8px 24px;opacity:1;border-radius:clamp(0.75rem,2vw,1.5rem);display:block;position:absolute;top:0;left:50%;transform:translateX(-50%);transition:transform 0.2s,border-radius 0.3s ease-in-out}#cs-navigation.cs-active:before{transform:translateX(-50%) scale(1.03)}#cs-navigation.cs-active .cs-toggle{transform:rotate(180deg)}#cs-navigation.cs-active .cs-ul-wrapper{transform:scaleY(1);transition-delay:0.15s}#cs-navigation.cs-active .cs-li{opacity:1;transform:translateY(0)}#cs-navigation .cs-container{width:100%;display:flex;justify-content:flex-end;align-items:center;gap:1.5rem}#cs-navigation .cs-logo{width:auto;max-width:none;height:auto;margin:0 auto 0 0;padding:0 16px 0 8px;display:flex;justify-content:flex-start;align-items:center;z-index:10;text-decoration:none}#cs-navigation .cs-logo-img{height:40px;width:auto;object-fit:contain;display:block}#cs-navigation .cs-toggle{width:3.5rem;height:3.5rem;margin:0 0 0 auto;background-color:#1a1a1a;border:none;border-radius:0.25rem;display:flex;justify-content:center;align-items:center;position:relative;z-index:10;transition:transform 0.6s}#cs-navigation .cs-nav{order:3}#cs-navigation .cs-contact-group{display:none;position:relative;z-index:10}#cs-navigation .cs-active .cs-line1{top:50%;transform:translate(-50%,-50%) rotate(225deg)}#cs-navigation .cs-active .cs-line2{top:50%;transform:translate(-50%,-50%) translateY(0) rotate(-225deg);transform-origin:center}#cs-navigation .cs-active .cs-line3{opacity:0;bottom:100%}#cs-navigation .cs-box{width:clamp(1.5rem,2vw,1.75rem);height:1rem;position:relative}#cs-navigation .cs-line{width:100%;height:2px;background-color:#fafbfc;border-radius:2px;position:absolute;left:50%;transform:translateX(-50%)}#cs-navigation .cs-line1{top:0;transition:transform 0.5s,top 0.3s,left 0.3s;animation-duration:0.7s;animation-timing-function:ease;animation-direction:normal;animation-fill-mode:forwards;transform-origin:center}#cs-navigation .cs-line2{top:50%;transform:translateX(-50%) translateY(-50%);transition:top 0.3s,left 0.3s,transform 0.5s;animation-duration:0.7s;animation-timing-function:ease;animation-direction:normal;animation-fill-mode:forwards}#cs-navigation .cs-line3{bottom:0;transition:bottom 0.3s,opacity 0.3s}#cs-navigation .cs-ul-wrapper{width:100%;height:auto;padding-bottom:2.4em;background-color:#fff;border-radius:0 0 1.5rem 1.5rem;position:absolute;top:85%;left:0;z-index:-1;overflow:hidden;transform:scaleY(0);transition:transform 0.4s;transform-origin:top}#cs-navigation .cs-ul{width:100%;height:auto;max-height:65vh;margin:0;padding:4rem 0 0 0;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;gap:1.25rem;overflow:auto}#cs-navigation .cs-li{text-align:center;list-style:none;width:100%;margin-right:0;opacity:0;transform:translateY(-4.375rem);transition:transform 0.6s,opacity 0.9s}#cs-navigation .cs-li:nth-of-type(1){transition-delay:0.05s}#cs-navigation .cs-li:nth-of-type(2){transition-delay:0.1s}#cs-navigation .cs-li:nth-of-type(3){transition-delay:0.15s}#cs-navigation .cs-li:nth-of-type(4){transition-delay:0.2s}#cs-navigation .cs-li:nth-of-type(5){transition-delay:0.25s}#cs-navigation .cs-li-link{font-size:clamp(1rem,2.5vw,1.5rem);line-height:1.2em;text-decoration:none;margin:0;color:var(--headerColor);display:inline-block;position:relative}#cs-navigation .cs-li-link.cs-active{color:var(--primary)}#cs-navigation .cs-li-link:hover{color:var(--primary)}#cs-navigation .cs-button-solid{display:none}}@media only screen and (min-width:48rem){#cs-navigation .cs-contact-group{display:block}}@media only screen and (min-width:64rem){body.scroll #cs-navigation{width:100%;max-width:100%;border-radius:0;top:0}#cs-navigation{width:94%;max-width:90rem;height:7rem;box-sizing:border-box;padding:0.5rem 0;background-color:#fff;box-shadow:rgba(149,157,165,0.2) 0px 8px 24px;border-radius:clamp(0.75rem,2vw,1.5rem);display:flex;align-items:center;position:fixed;top:2rem;left:50%;z-index:10000;transform:translateX(-50%);transition:top 0.3s,border-radius 0.3s,width 0.3s,max-width 0.3s}#cs-navigation .cs-container{width:100%;max-width:90rem;height:100%;margin:auto;box-sizing:border-box;padding:0 1.5rem;display:flex;justify-content:space-between;align-items:center;gap:1.5rem}#cs-navigation .cs-toggle{display:none}#cs-navigation .cs-logo{width:auto;max-width:none;height:auto;margin:0 auto 0 0;padding:0 24px 0 12px;display:flex;justify-content:flex-start;align-items:center;z-index:100;text-decoration:none}#cs-navigation .cs-logo-img{height:50px;width:auto;object-fit:contain;display:block}#cs-navigation .cs-contact-group{display:flex;justify-content:center;align-items:center;align-self:center;gap:1.5rem;flex-shrink:0}#cs-navigation .cs-ul-wrapper{height:100%;display:flex;align-items:center;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#cs-navigation .cs-ul{width:100%;height:100%;margin:0;padding:0;display:flex;justify-content:flex-start;align-items:center;gap:clamp(1.25rem,2.6vw,2.25rem)}#cs-navigation .cs-li{list-style:none;height:100%;padding:0;display:flex;align-items:center;flex:none}#cs-navigation .cs-li-link{font-size:1rem;line-height:1.5em;text-decoration:none;margin:0;color:var(--headerColor);display:block;position:relative;transition:color 0.3s;padding:14px 12px;min-height:48px;box-sizing:border-box}#cs-navigation .cs-li-link:hover{color:var(--primary)}#cs-navigation .cs-li-link.cs-active{color:var(--primary)}#cs-navigation .cs-button-solid{font-size:1rem;font-weight:700;line-height:clamp(2.875em,5.5vw,3.5em);text-align:center;text-decoration:none;min-width:9.375rem;margin:0;box-sizing:border-box;padding:0 2rem;color:#fff;background-color:var(--primary);border-radius:0.25rem;display:inline-block;position:relative;z-index:1;transition:color 0.3s}#cs-navigation .cs-button-solid:before{content:"";width:0%;height:100%;background:#000;opacity:1;position:absolute;top:0;left:0;z-index:-1;border-radius:0.25rem;transition:width 0.3s}#cs-navigation .cs-button-solid:hover:before{width:100%}}.logo{display:flex;align-items:baseline;gap:var(--space-sm);text-decoration:none}.logo__b{font-family:var(--font-display);font-size:1.75rem;font-weight:800;color:var(--color-ink);line-height:1}.logo__sup{font-family:var(--font-display);font-size:1rem;font-weight:800;color:var(--color-accent) !important;position:relative;top:-0.5em;margin-left:-2px}.logo__text{font-family:var(--font-heading);font-size:var(--text-base);font-weight:600;color:var(--color-ink);margin-left:var(--space-xs)}.logo--light .logo__b,.logo--light .logo__text{color:var(--color-white)}.logo--light .logo__sup{color:var(--color-accent-soft)}@media only screen and (min-width:0rem){#hero-856{text-align:center;padding:clamp(7.25rem,16.82vw,10.25rem) 1rem clamp(3.75rem,7.82vw,6.25rem);background-color:#F5F4F0;overflow:hidden;position:relative;z-index:1}#hero-856 .cs-container{width:100%;max-width:80rem;margin:auto;display:flex;justify-content:center;align-items:center;flex-direction:column;gap:3rem}#hero-856 .cs-content{max-width:39.375rem;display:flex;justify-content:center;align-items:center;flex-direction:column}#hero-856 .cs-title{font-size:clamp(2.4375rem,5vw,3.8125rem);font-weight:900;line-height:1.2em;text-align:center;max-width:23ch;margin:0 0 1rem 0;color:var(--headerColor);position:relative}#hero-856 .cs-text{font-size:clamp(1rem,1.5vw,1.25rem);line-height:1.5em;text-align:center;width:100%;max-width:33.1875rem;margin:0 0 clamp(1.75rem,3.92vw,2.5rem) 0;color:var(--bodyTextColor)}#hero-856 .cs-button-solid{font-size:1rem;line-height:clamp(2.875rem,5.5vw,3.5rem);text-decoration:none;font-weight:700;text-align:center;margin:0;color:#fff;min-width:9.375rem;padding:0 1.5rem;background-color:var(--primary);border-radius:0.25rem;display:inline-block;position:relative;z-index:1;box-sizing:border-box}#hero-856 .cs-button-solid:before{content:"";position:absolute;height:100%;width:0%;background:#000;opacity:1;top:0;left:0;z-index:-1;border-radius:0.25rem;transition:width 0.3s}#hero-856 .cs-button-solid:hover:before{width:100%}#hero-856 .cs-picture{width:100%;max-width:40rem;display:block;background:transparent}#hero-856 .cs-picture img{width:100%;height:auto;display:block;border-radius:12px;box-shadow:0px 4px 30px rgba(0,0,0,0.16)}#hero-856 .cs-wave{width:320%;height:auto;display:block;position:absolute;left:50%;bottom:-1px;transform:translateX(-50%);z-index:-1}}@media only screen and (min-width:64rem){#hero-856{text-align:left}#hero-856 .cs-container{flex-direction:row;justify-content:space-between}#hero-856 .cs-content{width:40vw;flex:none;align-items:flex-start;order:2}#hero-856 .cs-title,#hero-856 .cs-text{text-align:left}#hero-856 .cs-picture{height:auto;background:transparent}#hero-856 .cs-picture img{border-radius:12px}#hero-856 .cs-wave{width:100%;left:0;transform:scaleX(-1)}}.stats{background-color:var(--color-ink);padding:var(--space-2xl) 0;position:relative}.stats::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--color-border) 0%,var(--color-muted) 50%,var(--color-border) 100% )}.stats__container{display:flex;justify-content:center;flex-wrap:wrap;gap:var(--space-3xl)}.stats__item{text-align:center}.stats__number{display:block;font-family:var(--font-heading);font-size:var(--text-3xl);font-weight:700;color:var(--color-white);margin-bottom:var(--space-xs)}.stats__label{font-size:var(--text-sm);color:var(--color-muted)}@media only screen and (min-width:0rem){#services-1121{padding:var(--sectionPadding);background-color:#1a1a1a;position:relative;z-index:1}#services-1121 .cs-container{width:100%;max-width:80rem;margin:auto;display:flex;flex-direction:column;align-items:center;gap:clamp(3rem,6vw,4rem)}#services-1121 .cs-card-group{width:100%;padding:0;margin:0;display:flex;flex-direction:column;align-items:center;gap:2.5rem}#services-1121 .cs-item{text-align:center;list-style:none;width:100%;max-width:25.8125rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(1rem,3vw,1.5rem)}#services-1121 .cs-image-group{width:clamp(5rem,8vw,6.25rem);height:clamp(5rem,8vw,6.25rem);display:flex;justify-content:center;align-items:center;flex:none;position:relative;z-index:1}#services-1121 .cs-icon{width:clamp(2.25rem,4vw,3rem);height:auto}#services-1121 .cs-graphic{width:100%;height:auto;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:-1}#services-1121 .cs-h2{font-size:clamp(1.25rem,2.5vw,1.5625rem);line-height:1.2em;font-weight:700;text-align:inherit;margin:0 0 0.75rem;color:var(--bodyTextColorWhite)}#services-1121 .cs-item-text{font-size:1rem;line-height:1.5em;text-align:inherit;margin:0;color:var(--bodyTextColorWhite)}#services-1121 .cs-waves{width:100%;height:100%;top:0;left:0;object-fit:cover;position:absolute;z-index:-1}}@media only screen and (min-width:48rem){#services-1121 .cs-card-group{flex-direction:row;justify-content:space-between;align-items:stretch;gap:clamp(1rem,2.5vw,1.25rem)}}@media only screen and (min-width:64rem){#services-1121 .cs-item{text-align:left;flex-direction:row;align-items:center;justify-content:space-between}}.about__container{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3xl);align-items:center}.about__quote-card{background-color:var(--color-ink);padding:var(--space-2xl);border-radius:var(--radius-xl);position:relative;overflow:hidden}.about__quote-badge{position:absolute;top:var(--space-xl);right:var(--space-xl);opacity:0.1}.about__quote-badge .logo__b{font-size:3rem;color:var(--color-white)}.about__quote-badge .logo__sup{font-size:1.5rem;color:var(--color-accent-soft);top:-1em}.about__badge-logo{height:30px;width:auto;opacity:0.15;filter:brightness(0) invert(1)}.about__quote{font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:500;color:var(--color-white);line-height:1.4;margin-bottom:var(--space-xl)}.about__cite{display:flex;flex-direction:row;align-items:center;gap:var(--space-lg);font-style:normal}.about__cite-headshot{width:250px;height:250px;border-radius:50%;object-fit:cover;object-position:center;flex-shrink:0;border:3px solid #fff}.about__cite-text{display:flex;flex-direction:column}@media (max-width:900px){.about__cite-headshot{width:180px;height:180px}}@media (max-width:480px){.about__cite-headshot{width:140px;height:140px}}.about__cite strong{color:var(--color-white);font-weight:600}.about__cite span{color:var(--color-muted);font-size:var(--text-sm)}.about__title{font-size:var(--text-3xl);margin-bottom:var(--space-lg)}.about__text{color:var(--color-muted);margin-bottom:var(--space-md);line-height:1.7}.about__subtitle{font-size:var(--text-lg);color:var(--color-ink);margin-bottom:var(--space-lg);line-height:1.6}.about__heading{font-size:var(--text-xl);color:var(--color-ink);margin-top:var(--space-xl);margin-bottom:var(--space-md)}.about__list{color:var(--color-muted);margin-bottom:var(--space-md);padding-left:var(--space-xl);line-height:1.8}.about__list li{margin-bottom:var(--space-xs)}.about__checklist{margin:var(--space-xl) 0}.about__check-item{display:flex;align-items:center;gap:var(--space-md);font-weight:500;margin-bottom:var(--space-md)}.about__check-icon{flex-shrink:0;color:var(--color-ink)}.about{background-color:#FFFFFF}.portfolio{background-color:#F5F4F0}.portfolio__content{padding:var(--space-md) 0}.portfolio__title{font-size:var(--text-2xl);margin-bottom:var(--space-md)}.portfolio__description{color:var(--color-muted);line-height:1.7;margin-bottom:var(--space-lg)}.portfolio__tech{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-xl)}.portfolio__pill{display:inline-block;background-color:#F3F4F6;color:var(--color-ink);font-family:var(--font-heading);font-size:var(--text-xs);font-weight:600;padding:var(--space-xs) var(--space-md);border-radius:var(--radius-full)}.portfolio__launch-badge{display:inline-block;background-color:#FEF3C7;color:#92400E;font-family:var(--font-heading);font-size:var(--text-xs);font-weight:600;padding:var(--space-xs) var(--space-md);border-radius:var(--radius-full);margin-bottom:var(--space-md)}.portfolio__mockup-dual{position:relative;width:100%;max-width:480px}.portfolio__mockup-img{height:auto;background:none}.portfolio__mockup-img--desktop{width:100%;display:block}.portfolio__mockup-img--mobile{position:absolute;right:-20px;bottom:20px;width:130px;z-index:2}@media (max-width:900px){.portfolio__mockup-dual{padding-bottom:0;padding-right:0}.portfolio__mockup-img--mobile{display:none}}.portfolio__links{display:flex;flex-wrap:wrap;gap:var(--space-md)}.portfolio__note{text-align:center;color:var(--color-muted);font-size:var(--text-sm);font-style:italic;margin-top:var(--space-2xl)}.portfolio__card-inner--wide{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2xl);padding:var(--space-2xl);align-items:center;min-height:320px}.portfolio__mockup--wide{display:flex;justify-content:center;align-items:center;background-color:var(--color-white)}.portfolio__mockup-image{width:115%;max-width:115%;height:auto;border-radius:var(--radius-lg);margin-left:0;background-color:var(--color-white)}@media (max-width:900px){.portfolio__card-inner--wide{grid-template-columns:1fr;gap:var(--space-xl)}.portfolio__mockup--wide{order:-1}.portfolio__mockup-image{width:100%;max-width:100%;margin-left:0}}.process{background-color:#FFFFFF}.process__steps{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-xl);position:relative}.process__steps::before{content:'';position:absolute;top:28px;left:calc(12.5% + 28px);right:calc(12.5% + 28px);height:2px;background:var(--color-border);z-index:0}.process__step{text-align:center;position:relative;z-index:1}.process__number{display:flex;align-items:center;justify-content:center;width:56px;height:56px;margin:0 auto var(--space-lg);background-color:var(--color-white);border:2px solid var(--color-ink);border-radius:50%;font-family:var(--font-heading);font-size:var(--text-xl);font-weight:700;color:var(--color-ink);box-shadow:0 4px 12px rgba(0,0,0,0.1)}.process__step-title{font-size:var(--text-lg);margin-bottom:var(--space-sm)}.process__step-text{color:var(--color-muted);font-size:var(--text-sm);line-height:1.6}@media only screen and (min-width:0rem){#pricing-1087{padding:var(--sectionPadding);background-color:#F5F4F0;position:relative}#pricing-1087 .cs-container{width:100%;max-width:80em;margin:auto;display:flex;flex-direction:column;align-items:center;gap:clamp(3rem,6vw,4rem);position:relative}#pricing-1087 .cs-content{text-align:center;width:100%;display:flex;flex-direction:column;align-items:center;position:relative;z-index:10}#pricing-1087 .cs-card-group{width:100%;margin:0;padding:0;display:flex;flex-direction:column;align-items:center;gap:clamp(1rem,1.8vw,1.25rem);position:relative;z-index:10}#pricing-1087 .cs-item{text-align:left;list-style:none;width:100%;max-width:31.25rem;margin:0;padding:clamp(1.25rem,3vw,2.5rem) clamp(1rem,3vw,2rem);background-color:#fff;box-sizing:border-box;display:flex;flex-direction:column;align-items:stretch;position:relative}#pricing-1087 .cs-item.cs-popular{background-color:#1a1a1a}#pricing-1087 .cs-item.cs-popular:before{content:"Most Popular";text-transform:uppercase;font-size:0.8125rem;font-weight:700;line-height:1.2em;letter-spacing:0.01em;padding:0.5rem 1.25rem;background:var(--primary);color:#fff;opacity:1;position:absolute;display:block;top:0;right:0}#pricing-1087 .cs-item.cs-popular .cs-package{color:#888}#pricing-1087 .cs-item.cs-popular .cs-price,#pricing-1087 .cs-item.cs-popular .cs-item-p,#pricing-1087 .cs-item.cs-popular .cs-li{color:var(--bodyTextColorWhite)}#pricing-1087 .cs-item.cs-popular .cs-li.cs-disabled{filter:grayscale(1) brightness(550%)}#pricing-1087 .cs-item.cs-popular .cs-icon{filter:grayscale(1) brightness(1000%)}#pricing-1087 .cs-item.cs-popular .cs-button-solid{transition:color 0.3s}#pricing-1087 .cs-item.cs-popular .cs-button-solid:hover{color:var(--primary)}#pricing-1087 .cs-item.cs-popular .cs-button-solid:before{background-color:#fff}#pricing-1087 .cs-package{font-size:clamp(0.8125rem,1.4vw,1rem);line-height:1.2em;text-align:inherit;text-transform:uppercase;font-weight:700;margin:0 0 0.5rem 0;color:#767676;display:block}#pricing-1087 .cs-price{font-size:var(--headerFontSize);line-height:1.2em;text-align:inherit;font-weight:900;margin:0;color:var(--headerColor)}#pricing-1087 .cs-item-p{font-size:1rem;line-height:1.5em;text-align:inherit;font-weight:400;margin:0 0 clamp(1rem,2vw,1.5rem);color:var(--bodyTextColor)}#pricing-1087 .cs-ul{margin:1.5rem 0 0;padding:1.5rem 0 0 0;display:flex;flex-direction:column;align-items:flex-start;gap:0.75rem;position:relative}#pricing-1087 .cs-ul:before{content:"";width:100%;height:1px;background:linear-gradient( 90deg,rgba(232,232,232,0.2) 0%,#e8e8e8 53.78%,rgba(232,232,232,0.2) 100% );opacity:1;position:absolute;display:block;top:0;left:0}#pricing-1087 .cs-li{font-size:clamp(0.875rem,1.5vw,1rem);list-style:none;line-height:1.2em;width:100%;margin:0;padding:0;color:var(--bodyTextColor);display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}#pricing-1087 .cs-li.cs-disabled{opacity:0.5}#pricing-1087 .cs-li.cs-disabled .cs-icon{filter:grayscale(1) brightness(300%)}#pricing-1087 .cs-icon{width:1.125rem;height:auto;display:block}#pricing-1087 .cs-button-solid{font-size:1rem;line-height:clamp(2.875em,5.5vw,3.5em);text-decoration:none;font-weight:700;text-align:center;margin:0;color:#fff;min-width:9.375rem;padding:0 1.5rem;background-color:var(--primary);border-radius:0.25rem;display:inline-block;position:relative;z-index:1;box-sizing:border-box}#pricing-1087 .cs-button-solid:before{content:"";position:absolute;height:100%;width:0%;background:#000;opacity:1;top:0;left:0;z-index:-1;border-radius:0.25rem;transition:width 0.3s}#pricing-1087 .cs-button-solid:hover:before{width:100%}#pricing-1087 .cs-price-button{margin-top:auto;width:100%;border-radius:0}#pricing-1087 .cs-price-button:before{border-radius:0}}@media only screen and (min-width:48rem){#pricing-1087 .cs-card-group{flex-direction:row;justify-content:center;align-items:stretch}}@media only screen and (min-width:0rem){#cs-contact-490{padding:var(--sectionPadding)}#cs-contact-490 .cs-container{width:100%;max-width:34.375rem;margin:auto;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:3rem}#cs-contact-490 .cs-content{max-width:32.625rem;text-align:left}#cs-contact-490 .cs-text{margin:0 0 clamp(1rem,4.4vw,3rem) 0}#cs-contact-490 .cs-header{font-size:clamp(0.8125rem,1.5vw,1rem);line-height:1.2em;text-transform:uppercase;font-weight:700;letter-spacing:0.1em;margin:0 0 1rem 0;color:#b4b2c7;display:block}#cs-contact-490 .cs-link{font-size:clamp(1rem,2vw,1.25rem);text-decoration:none;line-height:1.5em;font-weight:700;margin:0 0 clamp(1rem,2.5vw,2rem);color:var(--headerColor);display:block}#cs-contact-490 .cs-link:hover{text-decoration:underline}#cs-contact-490 .cs-link:last-of-type{margin-bottom:0}#cs-contact-490 #cs-form-490{width:100%;max-width:40.625rem;margin-bottom:clamp(2rem,5.3vw,2.5rem);padding:clamp(1.25rem,4.5vw,2.5rem);box-sizing:border-box;border:1px solid #dad9e3;border-radius:1rem}#cs-contact-490 .cs-label{font-size:clamp(0.875rem,1.3vw,1rem);line-height:1.5em;font-weight:700;margin-bottom:0.5rem;color:var(--headerColor);display:flex;justify-content:center;align-items:flex-start;flex-direction:column}#cs-contact-490 .cs-label-message{margin-bottom:1.5rem}#cs-contact-490 .cs-input,#cs-contact-490 textarea{font-size:1rem;width:100%;height:4rem;margin-top:0.25rem;padding-left:1.25rem;border:1px solid transparent;border-bottom:1px solid #b4b2c7;box-sizing:border-box;transition:border 0.3s}#cs-contact-490 .cs-input:hover,#cs-contact-490 textarea:hover{border:1px solid var(--primary)}#cs-contact-490 .cs-input::placeholder,#cs-contact-490 textarea::placeholder{color:#7d799c}#cs-contact-490 textarea{font-family:inherit;margin:0;padding-top:1.25rem;min-height:7.5rem}#cs-contact-490 .cs-button-solid{font-size:1rem;line-height:clamp(2.875em,5.5vw,3.5em);text-decoration:none;font-weight:700;text-align:center;margin:auto;width:100%;color:#fff;padding:0 1.5rem;background-color:var(--primary);border:none;border-radius:0.5rem;display:inline-block;position:relative;z-index:1;box-sizing:border-box}#cs-contact-490 .cs-button-solid:before{content:"";position:absolute;height:100%;width:0%;background:#000;opacity:1;top:0;left:0;z-index:-1;border-radius:0.5rem;transition:width 0.3s}#cs-contact-490 .cs-button-solid:hover{cursor:pointer}#cs-contact-490 .cs-button-solid:hover:before{width:100%}}@media only screen and (min-width:43.75rem){#cs-contact-490 .cs-container{max-width:80rem;flex-direction:row;justify-content:space-between}#cs-contact-490 .cs-content{width:40%;order:2;flex:none}#cs-contact-490 #cs-form-490{margin:0}}.footer{background-color:var(--color-ink);padding:var(--space-3xl) 0 var(--space-xl);position:relative;overflow:hidden}.footer__watermark{position:absolute;right:5%;top:50%;transform:translateY(-50%);font-family:var(--font-display);font-size:clamp(150px,30vw,300px);font-weight:800;color:var(--color-white);opacity:0.02;user-select:none;pointer-events:none;line-height:1}.footer__watermark sup{font-size:0.4em;color:var(--color-accent-soft);opacity:0.5}.footer__container{display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;z-index:1}.footer .logo{margin-bottom:var(--space-lg)}.footer__logo-link{display:inline-block;margin-bottom:var(--space-lg)}.footer__logo-img{height:40px;width:auto}.footer__tagline{color:var(--color-muted);max-width:400px;margin-bottom:var(--space-xl);line-height:1.7}.footer__nav{display:flex;gap:var(--space-xl);margin-bottom:var(--space-xl)}.footer__link{color:var(--color-white);font-size:var(--text-sm);font-weight:500;transition:color var(--transition-fast)}.footer__link:hover{color:var(--color-accent-soft)}.footer__copyright{color:var(--color-muted);font-size:var(--text-sm)}.fade-up{opacity:0;transform:translateY(30px);transition:opacity 0.6s ease,transform 0.6s ease;transition-delay:var(--delay,0s)}.fade-up.is-visible{opacity:1;transform:translateY(0)}.fade-in{opacity:0;transition:opacity 0.6s ease;transition-delay:var(--delay,0s)}.fade-in.is-visible{opacity:1}.process__steps .process__step:nth-child(1){--delay:0s}.process__steps .process__step:nth-child(2){--delay:0.1s}.process__steps .process__step:nth-child(3){--delay:0.2s}.process__steps .process__step:nth-child(4){--delay:0.3s}@media (max-width:768px){:root{--header-height:64px}.stats__container{gap:var(--space-xl)}.stats__item{flex:1 1 100%}.about__container{grid-template-columns:1fr;gap:var(--space-xl)}.about__quote-card{padding:var(--space-xl)}.about__quote{font-size:var(--text-xl)}.portfolio__links{flex-direction:column}.portfolio__links .btn{width:100%}.process__steps{grid-template-columns:1fr 1fr;gap:var(--space-xl) var(--space-lg)}.process__steps::before{display:none}.footer__nav{flex-wrap:wrap;justify-content:center;gap:var(--space-md) var(--space-lg)}.footer__watermark{display:none}}@media (max-width:480px){.container{padding:0 var(--space-md)}section{padding:var(--space-3xl) 0}.section-header{margin-bottom:var(--space-2xl)}.process__steps{grid-template-columns:1fr}}@media (min-width:1200px){.container{padding:0 var(--space-2xl)}}body.dark-mode{--color-ink:#F5F4F0;--color-background:#1A1A1A;--color-off-white:#242424;--color-white:#2D2D2D;--color-muted:#A0A0A0;--color-border:#3D3D3D}body.dark-mode #cs-navigation{background-color:#2D2D2D}body.dark-mode #cs-navigation:before{background:#2D2D2D}body.dark-mode #cs-navigation .cs-logo{color:#F5F4F0}body.dark-mode #cs-navigation .cs-li-link{color:#F5F4F0}body.dark-mode #cs-navigation .cs-ul-wrapper{background-color:#2D2D2D}body.dark-mode #hero-856{background-color:#2D2D2D}body.dark-mode #hero-856 .cs-wave path{fill:var(--color-background)}body.dark-mode .stats{background-color:#0D0D0D}body.dark-mode .process{background-color:var(--color-off-white)}body.dark-mode .about{background-color:var(--color-off-white)}body.dark-mode .about__quote-card{background-color:#0D0D0D}body.dark-mode .process__number{background-color:var(--color-white);color:var(--color-ink)}body.dark-mode .process__steps::before{background:var(--color-border)}body.dark-mode .form-input{background-color:var(--color-off-white);border-color:var(--color-border);color:#F5F4F0}body.dark-mode .form-input:focus{background-color:var(--color-white)}body.dark-mode .form-input::placeholder{color:var(--color-muted)}body.dark-mode .footer{background-color:#0D0D0D}body.dark-mode .btn--secondary{background-color:var(--color-white);color:#F5F4F0;border-color:var(--color-border)}body.dark-mode .btn--secondary:hover{border-color:#F5F4F0}
/* ========================================
   ABOUT PAGE STYLES
   ======================================== */
.about-page{padding:var(--space-4xl) 0}.about-page--cream{background-color:#F5F4F0;padding-top:clamp(10rem,15vw,14rem);padding-bottom:0}.about-page--white{background-color:#FFFFFF;padding-top:0;padding-bottom:var(--space-2xl)}.about-page__container{max-width:800px}.about-page__content{padding:var(--space-2xl) 0}.about-page--cream .about-page__content{padding-bottom:var(--space-md)}.about-page--white .about-page__content{padding-top:var(--space-xl)}.about-page__title{font-size:var(--text-4xl);margin-bottom:var(--space-lg)}.about-page__subtitle{font-size:var(--text-xl);color:var(--color-ink);margin-bottom:var(--space-xl);line-height:1.5}.about-page__text{color:#4a4a4a;margin-bottom:var(--space-lg);line-height:1.8;font-size:var(--text-base)}.about-page__heading{font-size:var(--text-2xl);color:var(--color-ink);margin-top:var(--space-2xl);margin-bottom:var(--space-md)}.about-page__checklist{margin:var(--space-2xl) 0}.about-page__check-item{display:flex;align-items:center;gap:var(--space-md);font-weight:500;margin-bottom:var(--space-md);color:var(--color-ink)}.about-page__check-icon{flex-shrink:0;color:var(--color-accent)}

/* About section cite name styling */
.about__cite strong {
    color: #FFFFFF;
    font-weight: 700;
    font-size: var(--text-lg);
}

/* ========================================
   FAQ SECTION STYLES
   ======================================== */
.faq{background-color:var(--color-background);padding:var(--space-4xl) 0}.faq--page{padding-top:clamp(10rem,15vw,14rem)}.faq__accordion{max-width:800px;margin:0 auto}.faq__item{background-color:var(--color-white);border-radius:var(--radius-lg);margin-bottom:var(--space-md);box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow var(--transition-base)}.faq__item:hover{box-shadow:var(--shadow-md)}.faq__item.is-open{box-shadow:var(--shadow-md)}.faq__question{width:100%;display:flex;justify-content:space-between;align-items:center;gap:var(--space-lg);padding:var(--space-lg) var(--space-xl);background:none;border:none;cursor:pointer;text-align:left;font-family:var(--font-heading);font-size:var(--text-base);font-weight:600;color:var(--color-ink);transition:background-color var(--transition-fast)}.faq__question:hover{background-color:var(--color-background)}.faq__question span{flex:1}.faq__icon{flex-shrink:0;color:var(--color-accent);transition:transform var(--transition-base)}.faq__item.is-open .faq__icon{transform:rotate(45deg)}.faq__answer{max-height:0;overflow:hidden;transition:max-height var(--transition-slow)}.faq__answer-inner{padding:0 var(--space-xl) var(--space-xl);color:var(--color-muted);line-height:1.7}.faq__answer-inner p{margin-bottom:var(--space-md)}.faq__answer-inner p:last-child{margin-bottom:0}.faq__answer-inner ul{margin:var(--space-md) 0;padding-left:var(--space-lg)}.faq__answer-inner ul li{margin-bottom:var(--space-sm);list-style:disc}.faq__cta{text-align:center;margin-top:var(--space-3xl)}.faq__cta p{font-size:var(--text-lg);color:var(--color-muted);margin-bottom:var(--space-lg)}

/* FAQ Screenshots */
.faq__screenshots {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-lg);
    margin: var(--space-lg) 0;
}

.faq__screenshot {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-sm);
}

.faq__screenshot img {
    width: 100%;
    height: auto;
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-md);
}

.faq__screenshot-label {
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--color-ink);
}

@media (max-width: 600px) {
    .faq__screenshots {
        grid-template-columns: 1fr;
    }
}

/* ========================================
   NAV DROPDOWN STYLES
   ======================================== */
.cs-dropdown{position:relative;display:flex;align-items:center}.cs-dropdown-toggle{display:inline-flex;align-items:center;position:relative;top:0;padding:14px 12px;min-height:48px;box-sizing:border-box}.cs-drop-icon{vertical-align:middle;margin-left:0.25rem}.cs-drop-icon{transition:transform var(--transition-fast)}.cs-dropdown.cs-active .cs-drop-icon,.cs-dropdown:hover .cs-drop-icon{transform:rotate(180deg)}.cs-dropdown-menu{display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);min-width:140px;background-color:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--space-sm) 0;z-index:100;opacity:0;visibility:hidden;transition:opacity var(--transition-fast),visibility var(--transition-fast)}.cs-dropdown-menu li{list-style:none}.cs-dropdown-link{display:block;padding:14px var(--space-lg);font-size:0.9375rem;color:var(--headerColor);text-decoration:none;transition:background-color var(--transition-fast),color var(--transition-fast);min-height:48px;box-sizing:border-box}.cs-dropdown-link:hover{background-color:var(--color-background);color:var(--primary)}

/* Desktop dropdown hover */
@media only screen and (min-width:64rem){.cs-dropdown:hover .cs-dropdown-menu,.cs-dropdown:focus-within .cs-dropdown-menu{display:block;opacity:1;visibility:visible}#cs-navigation .cs-dropdown{height:100%}#cs-navigation .cs-dropdown-toggle{height:100%;display:flex;align-items:center}}

/* Mobile dropdown styles */
@media only screen and (max-width:63.9375rem){#cs-navigation .cs-dropdown{width:100%;flex-direction:column;align-items:center}#cs-navigation .cs-dropdown-toggle{width:auto;display:inline-flex;justify-content:center;align-items:center;gap:0.25rem}#cs-navigation .cs-dropdown-toggle .cs-drop-icon{position:relative;top:0;margin-left:0.25rem}.cs-dropdown-menu{position:static;transform:none;width:100%;box-shadow:none;background-color:transparent;padding:0;max-height:0;overflow:hidden;transition:max-height var(--transition-base),opacity var(--transition-base)}.cs-dropdown.cs-active .cs-dropdown-menu{display:block;opacity:1;visibility:visible;max-height:200px;padding:var(--space-sm) 0}.cs-dropdown-link{text-align:center;padding:var(--space-sm) var(--space-lg);font-size:clamp(0.875rem,2vw,1rem);color:var(--bodyTextColor)}.cs-dropdown-link:hover{background-color:transparent;color:var(--primary)}/* Mobile touch target fix - minimum 48x48px */
#cs-navigation .cs-li-link{min-height:48px;min-width:48px;padding:14px 16px;display:inline-flex;align-items:center;justify-content:center}
#cs-navigation .cs-dropdown-toggle{min-height:48px;min-width:48px;padding:14px 16px}
.cs-dropdown-link{min-height:48px;min-width:48px;padding:14px 24px;display:flex;align-items:center;justify-content:center}
#cs-navigation .cs-ul{gap:0.5rem}}

/* Dark mode for new sections */
body.dark-mode .about-page{background-color:var(--color-off-white)}body.dark-mode .faq{background-color:var(--color-background)}body.dark-mode .faq__item{background-color:var(--color-white)}body.dark-mode .faq__question{color:var(--color-ink)}body.dark-mode .faq__question:hover{background-color:var(--color-background)}body.dark-mode .faq__answer-inner{color:var(--color-muted)}body.dark-mode .cs-dropdown-menu{background-color:#2D2D2D}body.dark-mode .cs-dropdown-link{color:#F5F4F0}body.dark-mode .cs-dropdown-link:hover{background-color:#3D3D3D}

/* ========================================
   PRICING PAGE STYLES
   ======================================== */
.pricing-page{background-color:var(--color-background);padding-top:clamp(10rem,15vw,14rem);padding-bottom:var(--space-4xl)}.pricing-page__cards{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-lg);max-width:90%;margin:0 auto;align-items:stretch}.pricing-page__card{background-color:#fff;border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:0 4px 20px rgba(0,0,0,0.06);border:1px solid rgba(37,99,235,0.15);display:flex;flex-direction:column;justify-content:flex-start;position:relative;transition:transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base);height:100%}.pricing-page__card:hover{transform:translateY(-4px);box-shadow:0 8px 30px rgba(0,0,0,0.1);border-color:rgba(37,99,235,0.3)}.pricing-page__card--featured{background-color:var(--color-ink);color:var(--color-white);border:none;box-shadow:0 8px 30px rgba(0,0,0,0.2)}.pricing-page__card--featured:hover{box-shadow:0 12px 40px rgba(0,0,0,0.25)}.pricing-page__card--featured .pricing-page__card-title,.pricing-page__card--featured .pricing-page__amount{color:var(--color-white)}.pricing-page__card--featured .pricing-page__period{color:var(--color-muted)}.pricing-page__card--featured .pricing-page__features li{color:rgba(255,255,255,0.9)}.pricing-page__card--featured .pricing-page__check{color:var(--color-accent-soft)}.pricing-page__badge{position:absolute;top:0;right:var(--space-md);background-color:var(--color-accent);color:var(--color-white);font-family:var(--font-heading);font-size:0.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;padding:0.375rem 0.625rem;border-radius:0 0 var(--radius-sm) var(--radius-sm)}.pricing-page__card-title{font-size:var(--text-lg);font-weight:700;margin-bottom:var(--space-md);color:var(--color-ink)}.pricing-page__features{list-style:none;flex:1;margin-bottom:0}.pricing-page__features li{display:flex;align-items:flex-start;gap:0.5rem;margin-bottom:0.5rem;font-size:0.8125rem;line-height:1.4;color:var(--color-ink)}.pricing-page__features li:last-child{margin-bottom:0}.pricing-page__check{flex-shrink:0;color:var(--color-accent);margin-top:1px}.pricing-page__card-footer{margin-top:auto;padding-top:var(--space-lg);border-top:1px solid rgba(0,0,0,0.08);display:flex;flex-direction:column}.pricing-page__card--featured .pricing-page__card-footer{border-top-color:rgba(255,255,255,0.1)}.pricing-page__price{text-align:center;margin-bottom:var(--space-md)}.pricing-page__amount{font-family:var(--font-heading);font-size:var(--text-3xl);font-weight:800;color:var(--color-ink)}.pricing-page__period{font-size:var(--text-base);color:var(--color-muted);font-weight:400}.pricing-page__card .btn--secondary{background-color:#fff;color:var(--color-accent);border:2px solid var(--color-accent);font-weight:600}.pricing-page__card .btn--secondary:hover{background-color:var(--color-accent);color:#fff;border-color:var(--color-accent)}.pricing-page__addons{max-width:600px;margin:var(--space-3xl) auto 0;text-align:center}.pricing-page__addons-title{font-size:var(--text-2xl);margin-bottom:var(--space-lg)}.pricing-page__table{width:100%;border-collapse:collapse;background-color:var(--color-white);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.pricing-page__table td{padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border);text-align:left}.pricing-page__table tr:last-child td{border-bottom:none}.pricing-page__table td:first-child{color:var(--color-ink);font-weight:500}.pricing-page__table td:last-child{color:var(--color-muted);text-align:right;white-space:nowrap}.pricing-page__note{max-width:600px;margin:var(--space-xl) auto 0;text-align:center;font-size:var(--text-sm);color:var(--color-muted);line-height:1.6}.pricing-page__note strong{color:var(--color-ink)}.pricing-page__cta{text-align:center;margin-top:var(--space-3xl)}.pricing-page__cta p{font-size:var(--text-lg);color:var(--color-muted);margin-bottom:var(--space-lg)}

/* Pricing page responsive */
@media (max-width:900px){.pricing-page__cards{grid-template-columns:1fr;max-width:400px}.pricing-page__card--featured{order:-1;padding-top:calc(var(--space-lg) + 1rem)}.pricing-page__card--featured .pricing-page__card-title{white-space:nowrap}.pricing-page__badge{font-size:0.65rem;padding:0.35rem 0.75rem;top:var(--space-sm);right:var(--space-md);border-radius:var(--radius-sm)}}

/* Dark mode pricing page */
body.dark-mode .pricing-page{background-color:var(--color-background)}body.dark-mode .pricing-page__card{background-color:var(--color-white)}body.dark-mode .pricing-page__card--featured{background-color:#0D0D0D}body.dark-mode .pricing-page__table{background-color:var(--color-white)}body.dark-mode .pricing-page__table td{border-color:var(--color-border)}

/* ========================================
   CONTACT PAGE STYLES
   ======================================== */
.contact-page{background-color:var(--color-background);padding-top:clamp(10rem,15vw,14rem);padding-bottom:var(--space-4xl)}.contact-page__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3xl);align-items:start;max-width:1000px;margin:0 auto}.contact-page__info{padding-right:var(--space-xl)}.contact-page__title{font-size:var(--text-3xl);margin-bottom:var(--space-md);color:var(--color-ink)}.contact-page__intro{font-size:var(--text-base);color:var(--color-muted);line-height:1.6;margin-bottom:var(--space-2xl)}.contact-page__details{display:flex;flex-direction:column;gap:var(--space-lg)}.contact-page__item{display:flex;align-items:flex-start;gap:var(--space-md)}.contact-page__icon-wrap{width:44px;height:44px;background-color:var(--color-accent-bg);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.contact-page__icon{color:var(--color-accent);width:20px;height:20px}.contact-page__item-content{display:flex;flex-direction:column;gap:2px}.contact-page__label{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:0.05em;color:var(--color-muted)}.contact-page__link{font-size:var(--text-base);font-weight:600;color:var(--color-ink);text-decoration:none;transition:color var(--transition-fast)}.contact-page__link:hover{color:var(--color-accent)}.contact-page__text{font-size:var(--text-base);color:var(--color-ink)}.contact-page__form-wrap{background-color:#fff;border-radius:var(--radius-xl);padding:var(--space-2xl);box-shadow:0 4px 20px rgba(0,0,0,0.06)}.contact-page__form{display:flex;flex-direction:column;gap:var(--space-lg)}.contact-page__form-group{display:flex;flex-direction:column;gap:var(--space-xs)}.contact-page__form-label{font-size:var(--text-sm);font-weight:600;color:var(--color-ink)}.contact-page__form-input{font-family:var(--font-body);font-size:var(--text-base);padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:#fff;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.contact-page__form-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px rgba(37,99,235,0.1)}.contact-page__form-input::placeholder{color:var(--color-muted)}.contact-page__form-textarea{min-height:140px;resize:vertical}

/* Contact page responsive */
@media (max-width:768px){.contact-page__grid{grid-template-columns:1fr;gap:var(--space-2xl)}.contact-page__info{padding-right:0}}

/* Dark mode contact page */
body.dark-mode .contact-page{background-color:var(--color-background)}body.dark-mode .contact-page__form-wrap{background-color:var(--color-white)}body.dark-mode .contact-page__form-input{background-color:var(--color-off-white);border-color:var(--color-border);color:var(--color-ink)}body.dark-mode .contact-page__icon-wrap{background-color:rgba(37,99,235,0.15)}

/* ========================================
   LEGAL PAGES STYLES (Privacy & Terms)
   ======================================== */
.legal-page{background-color:var(--color-off-white);padding-top:clamp(10rem,15vw,14rem);padding-bottom:var(--space-4xl)}
.legal-page__container{max-width:800px}
.legal-page__content{padding:var(--space-2xl) 0}
.legal-page__title{font-size:var(--text-4xl);margin-bottom:var(--space-sm);color:var(--color-ink)}
.legal-page__effective-date{font-size:var(--text-sm);color:var(--color-muted);margin-bottom:var(--space-2xl)}
.legal-page__heading{font-size:var(--text-xl);color:var(--color-ink);margin-top:var(--space-2xl);margin-bottom:var(--space-md)}
.legal-page__text{color:var(--color-muted);margin-bottom:var(--space-md);line-height:1.8;font-size:var(--text-base)}
.legal-page__text a{color:var(--color-accent);text-decoration:none;transition:color var(--transition-fast)}
.legal-page__text a:hover{text-decoration:underline}
.legal-page__contact-box{background-color:var(--color-background);border-radius:var(--radius-lg);padding:var(--space-xl) var(--space-2xl);margin-top:var(--space-lg)}
.legal-page__contact-box p{margin-bottom:var(--space-xs);color:var(--color-ink)}
.legal-page__contact-box p:last-child{margin-bottom:0}
.legal-page__contact-box a{color:var(--color-accent);text-decoration:none}
.legal-page__contact-box a:hover{text-decoration:underline}
.legal-page__list{margin:var(--space-md) 0;padding-left:var(--space-xl)}
.legal-page__list li{margin-bottom:var(--space-sm);color:var(--color-muted);line-height:1.7;list-style:disc}

/* Dark mode legal pages */
body.dark-mode .legal-page{background-color:var(--color-off-white)}
body.dark-mode .legal-page__contact-box{background-color:var(--color-background)}

/* Footer legal links */
.footer__legal{margin-top:var(--space-md);font-size:var(--text-xs);color:var(--color-muted)}
.footer__legal-link{color:var(--color-muted);text-decoration:none;transition:color var(--transition-fast)}
.footer__legal-link:hover{color:var(--color-accent-soft)}
.footer__legal-separator{margin:0 var(--space-sm);color:var(--color-muted)}

/* ========================================
   SERVICES PAGE STYLES
   ======================================== */
.services-hero {
    background-color: #F5F4F0;
    padding-top: calc(var(--header-height) + var(--space-4xl));
    padding-bottom: var(--space-md);
}

.services-hero .section-header {
    margin-bottom: 0;
}

.services-hero .section-title {
    color: var(--headerColor);
}

.services-hero .section-subtitle {
    color: var(--bodyTextColor);
}

.services-section {
    padding: var(--space-3xl) 0;
}

.services-hero + .services-section {
    padding-top: var(--space-2xl);
}

.services-section--white,
.services-section--cream {
    background-color: #F5F4F0;
}

.services-section--dark {
    background-color: #1a2b4a;
}

.services-section__header {
    max-width: 800px;
    margin: 0 auto var(--space-3xl);
    text-align: center;
}

.services-section__title {
    font-size: var(--text-3xl);
    margin-bottom: var(--space-lg);
    color: var(--headerColor);
}

.services-section--dark .services-section__title {
    color: var(--bodyTextColorWhite);
}

.services-section__body {
    font-size: var(--text-base);
    line-height: 1.8;
    color: var(--bodyTextColor);
}

.services-section--dark .services-section__body {
    color: var(--bodyTextColorWhite);
    opacity: 0.85;
}

.services-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-lg);
    max-width: 800px;
    margin: 0 auto;
}

.services-grid--5 {
    max-width: 900px;
}

.services-grid__item {
    display: flex;
    align-items: flex-start;
    gap: var(--space-md);
    padding: var(--space-lg);
    background-color: #FFFFFF;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
}


.services-grid__item--dark {
    background-color: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.15);
}

.services-grid__item.services-grid__item--dark span {
    color: #FFFFFF !important;
}

.services-grid__item--dark .services-grid__icon {
    color: var(--color-accent-soft);
}

.services-grid__icon {
    flex-shrink: 0;
    color: var(--color-accent);
}

.services-grid__item span {
    font-weight: 500;
    color: var(--headerColor);
    line-height: 1.5;
}

.services-cards {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--space-lg);
    max-width: 1100px;
    margin: 0 auto;
}

.services-card {
    background-color: rgba(255, 255, 255, 0.08);
    border-radius: var(--radius-lg);
    padding: var(--space-xl);
    text-align: center;
}

.services-card__icon-wrap {
    width: 64px;
    height: 64px;
    margin: 0 auto var(--space-lg);
    background-color: #2563eb;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.services-card__icon-wrap svg {
    color: #ffffff;
}

.services-card__title {
    font-size: var(--text-lg);
    font-weight: 700;
    color: var(--bodyTextColorWhite);
    margin-bottom: var(--space-sm);
}

.services-card__desc {
    font-size: var(--text-sm);
    color: var(--bodyTextColorWhite);
    opacity: 0.8;
    line-height: 1.6;
}

/* PageSpeed Scores Section */
.pagespeed-scores {
    text-align: center;
    margin-top: var(--space-3xl);
}

.pagespeed-scores__heading {
    font-size: var(--text-sm);
    color: var(--bodyTextColorWhite);
    opacity: 0.85;
    margin-bottom: var(--space-xl);
    font-weight: 500;
}

.pagespeed-scores__badges {
    display: flex;
    justify-content: center;
    gap: var(--space-xl);
    margin-bottom: var(--space-lg);
}

.pagespeed-scores__badge {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-sm);
}

.pagespeed-scores__circle {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background-color: #e8fdf0;
    border: 5px solid #0cce6b;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-heading);
    font-size: 2rem;
    font-weight: 700;
    color: #0a7a3e;
}

.pagespeed-scores__label {
    font-size: var(--text-sm);
    color: var(--bodyTextColorWhite);
    font-weight: 500;
}

.pagespeed-verify-link {
    font-size: 1.1rem;
    color: #ffffff;
    text-decoration: none;
    cursor: pointer;
    transition: text-decoration var(--transition-fast);
}

.pagespeed-verify-link:hover {
    text-decoration: underline;
}

/* Dark text variant for light backgrounds (FAQ) */
.pagespeed-verify-link--dark {
    color: var(--color-ink);
}

/* PageSpeed Scores Responsive - 2x2 grid on mobile */
@media (max-width: 600px) {
    .pagespeed-scores__badges {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: var(--space-lg);
        max-width: 280px;
        margin: 0 auto var(--space-lg);
    }

    .pagespeed-scores__circle {
        width: 80px;
        height: 80px;
        font-size: 1.5rem;
    }
}

.services-checklist {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-md);
    max-width: 800px;
    margin: 0 auto;
}

.services-checklist__item {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    padding: var(--space-md) var(--space-lg);
    background-color: #FFFFFF;
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
}

.services-checklist__icon {
    flex-shrink: 0;
    color: var(--color-accent);
}

.services-checklist__item span {
    font-weight: 500;
    color: var(--headerColor);
}

.services-cta {
    background-color: #F5F4F0;
    padding: var(--space-3xl) 0;
}

.services-cta__content {
    text-align: center;
    max-width: 700px;
    margin: 0 auto;
    background-color: #2563eb;
    padding: var(--space-2xl) var(--space-2xl);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-lg);
}

.services-cta__title {
    font-size: var(--text-3xl);
    color: #FFFFFF;
    margin-bottom: var(--space-md);
}

.services-cta__body {
    font-size: var(--text-lg);
    color: #FFFFFF;
    opacity: 0.9;
    margin-bottom: var(--space-xl);
    line-height: 1.6;
}

.services-cta .btn--primary {
    background-color: #FFFFFF;
    color: #2563eb;
}

.services-cta .btn--primary:hover {
    background-color: #F5F4F0;
    color: #1d4fd8;
}

/* Services page responsive */
@media (max-width: 900px) {
    .services-cards {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .services-grid,
    .services-checklist {
        grid-template-columns: 1fr;
    }

    .services-cards {
        grid-template-columns: 1fr;
        max-width: 400px;
    }

    .services-cta__content {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .services-cta .btn--primary {
        align-self: center;
    }
}

/* Dark mode services page */
body.dark-mode .services-hero {
    background-color: #2D2D2D;
}

body.dark-mode .services-section--light {
    background-color: var(--color-off-white);
}

body.dark-mode .services-grid__item {
    background-color: var(--color-background);
}

body.dark-mode .services-checklist__item {
    background-color: var(--color-background);
}

/* ========================================
   HERO SECTION FIXES
   ======================================== */

/* Fix mobile nav overlap - add padding for fixed nav */
@media only screen and (max-width:63.9375rem){
    #hero-856{
        padding-top:clamp(10rem,22vw,13rem);
    }
}

/* Make hero image larger on desktop */
@media only screen and (min-width:64rem){
    #hero-856 .cs-picture{
        max-width:48rem;
        height:auto;
        margin-left:1.5rem;
        background:transparent;
    }
    #hero-856 .cs-picture img{
        width:100%;
        height:auto;
        object-fit:cover;
        border-radius:12px;
    }
}

/* Responsive scaling on large screens (1400px+) */
@media only screen and (min-width:87.5rem){
    #hero-856 .cs-container{
        max-width:90rem;
    }
    #hero-856 .cs-content{
        width:42%;
        max-width:42rem;
    }
    #hero-856 .cs-picture{
        max-width:54rem;
        height:auto;
        flex:1;
        background:transparent;
    }
    #hero-856 .cs-picture img{
        width:100%;
        height:auto;
        object-fit:cover;
        border-radius:12px;
    }
    #hero-856 .cs-title{
        font-size:clamp(3rem,4vw,4rem);
    }
    #hero-856 .cs-text{
        font-size:1.1875rem;
        max-width:36rem;
    }
}

/* ========================================
   NAV RIGHT-ALIGNMENT FIX (Desktop)
   ======================================== */
@media only screen and (min-width:64rem){
    #cs-navigation .cs-ul-wrapper{
        position:static;
        transform:none;
        margin-left:auto;
        margin-right:1.5rem;
    }
}

/* ========================================
   SERVICES ICON BACKGROUND FIX
   ======================================== */
#services-1121 .cs-image-group::before{
    display: none;
}

#services-1121 .cs-graphic{
    display:none !important;
}

#services-1121 .cs-waves{
    display:none !important;
}

/* ========================================
   HERO HEADLINE CLIPPING FIX (1400px+)
   ======================================== */
@media only screen and (min-width:87.5rem){
    #hero-856 .cs-container{
        gap:3rem;
        padding-left:2rem;
        padding-right:2rem;
    }
    #hero-856 .cs-content{
        width:auto;
        max-width:38rem;
        min-width:0;
        flex-shrink:0;
    }
    #hero-856 .cs-title{
        max-width:none;
    }
    #hero-856 .cs-picture{
        flex:1;
        min-width:0;
        max-width:50rem;
        height:auto;
        background:transparent;
    }
    #hero-856 .cs-picture img{
        width:100%;
        height:auto;
        object-fit:cover;
        border-radius:12px;
    }
}

/* ========================================
   ACCESSIBILITY CONTRAST FIXES
   ======================================== */

/* Contact page labels - darken for WCAG AA compliance */
#cs-contact-490 .cs-header{
    color:#5C5A6F;
}

/* Footer text - lighten for WCAG AA compliance on dark background */
.footer__tagline,
.footer__copyright{
    color: rgba(255, 255, 255, 0.85);
}

/* Contact page form title and subtext */
.contact-page__form-title{
    font-family:var(--font-heading);
    font-size:var(--text-2xl);
    font-weight:700;
    color:var(--color-ink);
    margin-bottom:var(--space-lg);
    white-space:nowrap;
}

.contact-page__form-subtext{
    font-size:var(--text-sm);
    color:var(--color-muted);
    text-align:center;
    margin-top:var(--space-lg);
    line-height:1.6;
}

/* ========================================
   CONTACT SECTION (CodeStitch 1105)
   ======================================== */
#contact-1105 {
    padding: var(--sectionPadding);
    padding-top: clamp(10rem, 15vw, 14rem);
    background-color: var(--color-background);
    position: relative;
    z-index: 1;
}

#contact-1105 .cs-container {
    width: 100%;
    max-width: 36.5rem;
    margin: auto;
    display: flex;
    justify-content: center;
    align-items: stretch;
    flex-direction: column;
    gap: clamp(3rem, 6vw, 5rem);
}

#contact-1105 .cs-content {
    text-align: left;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

#contact-1105 .cs-title {
    margin: 0 0 2rem 0;
}

#contact-1105 .cs-form {
    width: 100%;
    padding: clamp(1.5rem, 5.18vw, 3rem) clamp(1.25rem, 5.18vw, 2rem);
    box-sizing: border-box;
    background-color: var(--color-white);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-card);
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
}

#contact-1105 .cs-label {
    font-size: clamp(0.875rem, 1.5vw, 1rem);
    font-weight: 600;
    width: 100%;
    color: var(--headerColor);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 0.5rem;
}

#contact-1105 .cs-input {
    font-size: 1rem;
    font-family: inherit;
    width: 100%;
    height: 3.5rem;
    padding: 0 1.5rem;
    color: var(--headerColor);
    background-color: var(--color-background);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    box-sizing: border-box;
    transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

#contact-1105 .cs-input:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

#contact-1105 .cs-input::placeholder {
    color: var(--color-muted);
    opacity: 0.8;
}

#contact-1105 .cs-textarea {
    min-height: 7.5rem;
    padding-top: 1rem;
    margin-bottom: 0.75rem;
    font-family: inherit;
    resize: vertical;
}

#contact-1105 .cs-button-solid {
    font-size: 1rem;
    font-family: var(--font-heading);
    line-height: clamp(2.875em, 5.5vw, 3.5em);
    text-decoration: none;
    font-weight: 700;
    text-align: center;
    margin: 0;
    color: #fff;
    border: none;
    min-width: 9.375rem;
    padding: 0 1.5rem;
    background-color: var(--primary);
    border-radius: var(--radius-md);
    display: inline-block;
    position: relative;
    z-index: 1;
    box-sizing: border-box;
    transition: color 0.3s;
    cursor: pointer;
}

#contact-1105 .cs-button-solid:before {
    content: "";
    position: absolute;
    height: 100%;
    width: 0%;
    background: #000;
    opacity: 1;
    top: 0;
    left: 0;
    z-index: -1;
    border-radius: var(--radius-md);
    transition: width 0.3s;
}

#contact-1105 .cs-button-solid:hover {
    color: #fff;
}

#contact-1105 .cs-button-solid:hover:before {
    width: 100%;
}

#contact-1105 .cs-submit {
    width: 100%;
}

#contact-1105 .cs-info-wrapper {
    display: flex;
    flex-direction: column;
}

#contact-1105 .contact-page__title {
    font-size: var(--text-3xl);
    margin-bottom: var(--space-md);
    color: var(--color-ink);
}

#contact-1105 .cs-content .contact-page__title {
    text-align: center;
    width: 100%;
}

#contact-1105 .cs-info-wrapper .contact-page__intro {
    font-size: var(--text-base);
    color: var(--color-muted);
    line-height: 1.6;
    margin-bottom: var(--space-2xl);
}

#contact-1105 .cs-info-wrapper .contact-page__details {
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
}

#contact-1105 .cs-info-wrapper .contact-page__item {
    display: flex;
    align-items: flex-start;
    gap: var(--space-md);
}

#contact-1105 .cs-info-wrapper .contact-page__icon-wrap {
    width: 44px;
    height: 44px;
    background-color: var(--color-accent-bg);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

#contact-1105 .cs-info-wrapper .contact-page__icon {
    color: var(--color-accent);
    width: 20px;
    height: 20px;
}

#contact-1105 .cs-info-wrapper .contact-page__item-content {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

#contact-1105 .cs-info-wrapper .contact-page__label {
    font-size: var(--text-xs);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--color-muted);
}

#contact-1105 .cs-info-wrapper .contact-page__link {
    font-size: var(--text-base);
    font-weight: 600;
    color: var(--color-ink);
    text-decoration: none;
    transition: color var(--transition-fast);
}

#contact-1105 .cs-info-wrapper .contact-page__link:hover {
    color: var(--color-accent);
}

#contact-1105 .cs-info-wrapper .contact-page__text {
    font-size: var(--text-base);
    color: var(--color-ink);
}

#contact-1105 .cs-ul {
    width: auto;
    margin: 0;
    padding: clamp(2.5rem, 9.18vw, 4rem) clamp(1.5rem, 6vw, 3rem);
    box-sizing: border-box;
    background-color: var(--color-white);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-card);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: clamp(1.5rem, 6vw, 2.5rem);
    position: relative;
}

#contact-1105 .cs-li {
    list-style: none;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: clamp(0.75rem, 2vw, 1.25rem);
}

#contact-1105 .cs-li:hover .cs-icon-wrapper {
    transform: scale(1.1);
}

#contact-1105 .cs-header {
    font-size: clamp(1.125rem, 2vw, 1.25rem);
    font-weight: 700;
    line-height: 1.2em;
    margin-bottom: 0.25rem;
    color: var(--headerColor);
    display: block;
}

#contact-1105 .cs-link {
    font-size: clamp(0.875rem, 2vw, 1rem);
    line-height: 1.5em;
    text-decoration: none;
    color: var(--color-muted);
    display: block;
    position: relative;
}

#contact-1105 a.cs-link:hover {
    text-decoration: underline;
    color: var(--primary);
}

#contact-1105 .cs-icon-wrapper {
    width: clamp(2.75rem, 6vw, 3.5rem);
    height: clamp(2.75rem, 6vw, 3.5rem);
    margin: 0;
    border-radius: 50%;
    border: 1px solid var(--color-border);
    background-color: var(--color-background);
    display: flex;
    justify-content: center;
    align-items: center;
    flex: none;
    transition: transform 0.3s;
}

#contact-1105 .cs-icon-wrapper svg {
    width: clamp(1.25rem, 2.5vw, 1.5rem);
    height: auto;
}

/* Desktop - 1024px */
@media only screen and (min-width: 64rem) {
    #contact-1105 .cs-container {
        max-width: 80rem;
        flex-direction: row;
        justify-content: center;
        align-items: flex-start;
    }

    #contact-1105 .cs-content {
        max-width: 33.875rem;
        order: 2;
    }

    #contact-1105 .cs-info-wrapper {
        max-width: 28rem;
        padding-right: var(--space-xl);
    }

    #contact-1105 .cs-label.cs-email,
    #contact-1105 .cs-label.cs-phone {
        width: calc(50% - 0.375rem);
    }
}

/* ========================================
   FOOTER WAVE TRANSITION
   ======================================== */
.footer-wave{
    width:100%;
    max-width:none;
    line-height:0;
    margin:0;
    padding:0;
    background-color:#FFFFFF;
    overflow:hidden;
}

.footer-wave svg{
    display:block;
    width:100%;
    height:80px;
    margin-bottom:-2px;
}

/* Consistent wave height for all footer wave SVGs */
.wave-divider {
    display: block;
    width: 100%;
    height: 80px;
    margin-bottom: -2px;
}

.footer{
    background-color:#1a2b4a;
    padding-top: var(--space-2xl);
    margin-top: 0;
}

/* New 3-column footer layout */
.footer__grid {
    display: flex;
    justify-content: space-between;
    align-items: center;
    align-self: stretch;
    width: 100%;
    gap: var(--space-2xl);
    margin-bottom: var(--space-2xl);
}

.footer__column {
    display: flex;
    flex-direction: column;
    flex: 1;
    align-items: center;
}

.footer__column-title {
    font-family: var(--font-heading);
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--color-white);
    margin-bottom: var(--space-lg);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.footer__brand {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.footer__brand .footer__logo-link {
    margin-bottom: var(--space-md);
}

.footer__brand .footer__tagline {
    margin-bottom: 0;
    max-width: 280px;
}

.footer__links {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.footer__links .footer__link {
    color: rgba(255, 255, 255, 0.8);
    font-size: var(--text-sm);
    transition: color var(--transition-fast);
}

.footer__links .footer__link:hover {
    color: var(--color-accent-soft);
}

.footer__contact-list {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
}

.footer__contact-item {
    display: flex;
    align-items: flex-start;
    gap: var(--space-sm);
    color: rgba(255, 255, 255, 0.8);
    font-size: var(--text-sm);
    line-height: 1.5;
}

.footer__contact-item svg {
    flex-shrink: 0;
    margin-top: 2px;
    color: var(--color-accent-soft);
}

.footer__contact-item a {
    color: rgba(255, 255, 255, 0.8);
    text-decoration: none;
    transition: color var(--transition-fast);
}

.footer__contact-item a:hover {
    color: var(--color-accent-soft);
}

.footer__bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    align-self: stretch;
    padding-top: var(--space-xl);
    margin-top: var(--space-lg);
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.footer__bottom-left {
    color: var(--color-muted);
    font-size: var(--text-sm);
    margin: 0;
    flex-shrink: 0;
}

.footer__bottom-right {
    display: flex;
    align-items: center;
    gap: var(--space-lg);
    font-size: var(--text-sm);
    flex-shrink: 0;
    margin-left: auto;
}

.footer__bottom-right a {
    color: var(--color-muted);
    text-decoration: none;
    transition: color var(--transition-fast);
}

.footer__bottom-right a:hover {
    color: var(--color-accent-soft);
}

.footer__bottom-right .footer__legal-separator {
    color: rgba(255, 255, 255, 0.4);
    margin: 0 var(--space-xs);
}

@media (max-width: 768px) {
    .footer__grid {
        flex-direction: column;
        gap: var(--space-xl);
        text-align: center;
    }

    .footer__brand {
        align-items: center;
    }

    .footer__brand .footer__tagline {
        max-width: 100%;
    }

    .footer__links {
        align-items: center;
    }

    .footer__contact-list {
        align-items: center;
    }

    .footer__contact-item {
        justify-content: center;
    }

    .footer__bottom {
        flex-direction: column;
        gap: var(--space-md);
        text-align: center;
    }

    .footer__bottom-right {
        margin-left: 0;
    }
}

/* ========================================
   PORTFOLIO SECTION SPACING
   ======================================== */
.portfolio{
    padding-top:var(--space-2xl);
    padding-bottom:var(--space-2xl);
}

.portfolio .section-header{
    margin-bottom:var(--space-2xl);
}

/* ========================================
   PORTFOLIO GRID LAYOUT
   ======================================== */
.portfolio__grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:var(--space-xl);
    width:100%;
    max-width:100%;
    margin:0 auto;
    padding:0;
}

.portfolio__grid-card{
    background-color:var(--color-white);
    border-radius:var(--radius-xl);
    box-shadow:var(--shadow-card);
    overflow:hidden;
    display:flex;
    flex-direction:column;
    transition:transform var(--transition-base),box-shadow var(--transition-base);
}

.portfolio__grid-card:hover{
    transform:translateY(-6px);
    box-shadow:var(--shadow-card-hover);
}

.portfolio__grid-image{
    width:100%;
    height:260px;
    overflow:hidden;
    position:relative;
    background-color:#f5f5f5;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:var(--space-sm);
}

.portfolio__grid-image img{
    max-width:100%;
    max-height:100%;
    width:auto;
    height:auto;
    object-fit:contain;
    border-radius:var(--radius-md);
    box-shadow:var(--shadow-md);
    transition:transform var(--transition-base);
}

.portfolio__grid-card:hover .portfolio__grid-image img{
    transform:scale(1.02);
}

/* Dual mockup layout (desktop + mobile side by side) */
.portfolio__grid-image--dual{
    padding:var(--space-xs);
}

.portfolio__grid-image--dual .portfolio__grid-img--desktop{
    max-width:88%;
    max-height:95%;
    width:auto;
    height:auto;
    object-fit:contain;
    border-radius:0;
    box-shadow:none;
    aspect-ratio: 960 / 540;
}

.portfolio__grid-image--dual .portfolio__grid-img--mobile{
    position:absolute;
    right:6%;
    bottom:10%;
    width:22%;
    height:auto;
    max-height:70%;
    object-fit:contain;
    border-radius:0;
    box-shadow:none;
    z-index:2;
}

/* Single image layout */
.portfolio__grid-image--single{
    padding:var(--space-xs);
}

.portfolio__grid-image--single img{
    max-width:95%;
    max-height:95%;
    width:auto;
    height:auto;
    object-fit:contain;
    border-radius:0;
    box-shadow:none;
    aspect-ratio: attr(width) / attr(height);
}

/* Explicit aspect ratios for portfolio images to prevent layout shift */
.portfolio__grid-image--single img[width="1104"][height="622"] {
    aspect-ratio: 1104 / 622;
}

.portfolio__grid-image--dual .portfolio__grid-img--desktop[width="960"][height="540"] {
    aspect-ratio: 960 / 540;
}

.portfolio__grid-content{
    padding:var(--space-md) var(--space-xl) var(--space-xl);
    display:flex;
    flex-direction:column;
    flex:1;
}

.portfolio__grid-title{
    font-size:var(--text-2xl);
    font-weight:700;
    margin-bottom:var(--space-md);
    color:var(--color-ink);
}

.portfolio__grid-title--long{
    font-size:var(--text-xl);
}

.portfolio__grid-description{
    font-size:var(--text-sm);
    color:var(--color-muted);
    line-height:1.6;
    margin-bottom:var(--space-lg);
    flex:1;
}

.portfolio__grid-content .btn{
    align-self:flex-start;
    margin-top:auto;
}

.portfolio__title-row{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:var(--space-sm);
    margin-bottom:var(--space-sm);
}

.portfolio__title-row .portfolio__grid-title{
    margin-bottom:0;
}

.portfolio__title-row .portfolio__launch-badge{
    margin-bottom:0;
}

.btn--disabled{
    background-color:var(--color-border);
    color:var(--color-muted);
    cursor:not-allowed;
    pointer-events:none;
    opacity:0.7;
}

.btn--disabled:hover{
    transform:none;
    box-shadow:none;
}

/* Portfolio grid responsive - tablet */
@media (max-width:900px){
    .portfolio__grid{
        grid-template-columns:repeat(2,1fr);
        gap:var(--space-lg);
    }
    .portfolio__grid-image{
        height:220px;
        padding:var(--space-xs);
    }
    .portfolio__grid-image--dual .portfolio__grid-img--desktop,
    .portfolio__grid-image--single img{
        max-width:95%;
        max-height:95%;
    }
}

/* Portfolio grid responsive - mobile */
@media (max-width:600px){
    .portfolio__grid{
        grid-template-columns:1fr;
        max-width:100%;
        padding:0;
    }
    .portfolio__grid-image{
        height:220px;
        padding:var(--space-xs);
    }
    .portfolio__grid-image--dual .portfolio__grid-img--mobile{
        display:none;
    }
    .portfolio__grid-image--dual .portfolio__grid-img--desktop,
    .portfolio__grid-image--single img{
        width:98%;
        max-width:98%;
        height:auto;
        max-height:98%;
    }
}

/* Dark mode portfolio grid */
body.dark-mode .portfolio__grid-card{
    background-color:var(--color-white);
}

body.dark-mode .portfolio__grid-title{
    color:var(--color-ink);
}

/* ========================================
   LARGE SCREEN SCALING (1200px+)
   ======================================== */

/* Large screens - 1200px+ */
@media (min-width: 1200px) {
    /* Section headers */
    .section-header {
        max-width: 800px;
    }

    .section-title {
        font-size: var(--text-5xl);
    }

    .section-subtitle {
        font-size: var(--text-xl);
        max-width: 700px;
    }

    .portfolio__grid {
        gap: var(--space-2xl);
        max-width: 100%;
    }

    .portfolio__grid-image {
        height: 300px;
    }

    .pricing-page__cards {
        max-width: 1100px;
        gap: var(--space-xl);
    }

    /* Contact page */
    .contact-page__grid {
        max-width: 1100px;
        gap: var(--space-4xl);
    }

    .contact-page__title {
        font-size: var(--text-4xl);
    }

    .contact-page__intro {
        font-size: var(--text-lg);
    }

    .contact-page__icon-wrap {
        width: 52px;
        height: 52px;
    }

    .contact-page__icon {
        width: 24px;
        height: 24px;
    }

    .contact-page__label {
        font-size: var(--text-sm);
    }

    .contact-page__link,
    .contact-page__text {
        font-size: var(--text-lg);
    }

    .contact-page__form-wrap {
        padding: var(--space-3xl);
    }

    /* About page */
    .about-page__container {
        max-width: 900px;
    }

    /* FAQ page */
    .faq__accordion {
        max-width: 900px;
    }
}

/* Extra large screens - 1400px+ */
@media (min-width: 1400px) {
    .container {
        max-width: 1400px;
    }

    /* Section headers */
    .section-header {
        max-width: 900px;
        margin-bottom: var(--space-4xl);
    }

    .section-title {
        font-size: var(--text-5xl);
    }

    .portfolio__grid {
        gap: var(--space-2xl);
    }

    .portfolio__grid-image {
        height: 340px;
    }

    .portfolio__grid-title {
        font-size: var(--text-3xl);
    }

    .portfolio__grid-description {
        font-size: var(--text-base);
    }

    .pricing-page__cards {
        max-width: 1300px;
        gap: var(--space-2xl);
    }

    .pricing-page__card {
        padding: var(--space-xl);
    }

    .pricing-page__card-title {
        font-size: var(--text-xl);
    }


    .pricing-page__amount {
        font-size: var(--text-4xl);
    }

    /* Contact page */
    .contact-page__grid {
        max-width: 1200px;
        gap: var(--space-4xl);
    }

    .contact-page__title {
        font-size: var(--text-5xl);
        margin-bottom: var(--space-lg);
    }

    .contact-page__intro {
        font-size: var(--text-xl);
        margin-bottom: var(--space-3xl);
    }

    .contact-page__details {
        gap: var(--space-xl);
    }

    .contact-page__icon-wrap {
        width: 56px;
        height: 56px;
    }

    .contact-page__icon {
        width: 26px;
        height: 26px;
    }

    .contact-page__label {
        font-size: var(--text-sm);
    }

    .contact-page__link,
    .contact-page__text {
        font-size: var(--text-xl);
    }

    .contact-page__form-wrap {
        padding: var(--space-3xl);
    }

    .contact-page__form-title {
        font-size: var(--text-3xl);
    }

    .contact-page__form-input {
        padding: var(--space-lg);
        font-size: var(--text-lg);
    }

    .contact-page__form-textarea {
        min-height: 180px;
    }

    /* About page */
    .about-page__container {
        max-width: 1000px;
    }

    .about-page__title {
        font-size: var(--text-5xl);
    }

    .about-page__subtitle {
        font-size: var(--text-2xl);
    }

    .about-page__text {
        font-size: var(--text-lg);
    }

    /* FAQ page */
    .faq__accordion {
        max-width: 1000px;
    }

    .faq__question {
        font-size: var(--text-lg);
        padding: var(--space-xl) var(--space-2xl);
    }

    .faq__answer-inner {
        padding: 0 var(--space-2xl) var(--space-2xl);
        font-size: var(--text-base);
    }
}

/* Ultra-wide screens - 1600px+ */
@media (min-width: 1600px) {
    .container {
        max-width: 1600px;
    }

    /* Section headers */
    .section-header {
        max-width: 1000px;
    }

    .section-title {
        font-size: var(--text-6xl);
    }

    .section-subtitle {
        font-size: var(--text-2xl);
    }

    .portfolio__grid {
        gap: var(--space-3xl);
    }

    .portfolio__grid-image {
        height: 380px;
    }

    .portfolio__grid-content {
        padding: var(--space-xl) var(--space-2xl) var(--space-2xl);
    }

    .pricing-page__cards {
        max-width: 1500px;
    }

    .pricing-page__card {
        padding: var(--space-2xl);
    }

    .pricing-page__features li {
        font-size: var(--text-base);
    }

    /* Contact page */
    .contact-page__grid {
        max-width: 1400px;
        gap: var(--space-5xl);
    }

    .contact-page__title {
        font-size: var(--text-6xl);
    }

    .contact-page__intro {
        font-size: var(--text-2xl);
    }

    .contact-page__details {
        gap: var(--space-2xl);
    }

    .contact-page__icon-wrap {
        width: 64px;
        height: 64px;
    }

    .contact-page__icon {
        width: 30px;
        height: 30px;
    }

    .contact-page__label {
        font-size: var(--text-base);
    }

    .contact-page__link,
    .contact-page__text {
        font-size: var(--text-2xl);
    }

    .contact-page__form-wrap {
        padding: var(--space-4xl);
    }

    .contact-page__form-title {
        font-size: var(--text-4xl);
    }

    .contact-page__form-label {
        font-size: var(--text-base);
    }

    .contact-page__form-input {
        padding: var(--space-xl);
        font-size: var(--text-xl);
    }

    .contact-page__form-textarea {
        min-height: 220px;
    }

    /* About page */
    .about-page__container {
        max-width: 1100px;
    }

    .about-page__content {
        padding: var(--space-3xl) 0;
    }

    /* FAQ page */
    .faq__accordion {
        max-width: 1100px;
    }

    .faq__question {
        font-size: var(--text-xl);
    }

    .faq__answer-inner {
        font-size: var(--text-lg);
    }
}

/* ========================================
   MOBILE LAYOUT FIXES (390px & 768px)
   ======================================== */

/* Prevent horizontal overflow on mobile */
html, body {
    overflow-x: hidden;
}

@media (max-width: 768px) {
    /* ---- WAVE SVG FULL WIDTH FIX ---- */
    /* Hero wave - ensure full width on mobile */
    #hero-856 .cs-wave {
        width: 100%;
        min-width: 100vw;
        left: 0;
        transform: none;
    }

    /* Footer wave wrapper - full viewport width */
    .footer-wave {
        width: 100vw;
        max-width: 100vw;
        margin-left: calc(-50vw + 50%);
        overflow: visible;
    }

    .footer-wave svg {
        width: 100%;
        min-width: 100%;
    }

    /* Index page inline footer wave SVG */
    main + svg {
        width: 100vw;
        max-width: 100vw;
        margin-left: calc(-50vw + 50%);
    }

    /* Footer - ensure full width */
    .footer {
        width: 100vw;
        max-width: 100vw;
        margin-left: calc(-50vw + 50%);
    }

    .footer__container {
        padding-left: var(--space-lg);
        padding-right: var(--space-lg);
    }

    /* ---- HERO BUTTON CENTERED FIX ---- */
    #hero-856 .cs-content {
        align-items: center;
        text-align: center;
    }

    #hero-856 .cs-button-solid {
        margin-left: auto;
        margin-right: auto;
    }

    /* ---- HERO IMAGE FULLY VISIBLE FIX ---- */
    #hero-856 .cs-picture {
        width: 100%;
        max-width: 100%;
        padding: 0 var(--space-md);
        box-sizing: border-box;
        overflow: visible;
    }

    #hero-856 .cs-picture img {
        width: 100%;
        height: auto;
        max-width: 100%;
        object-fit: contain;
    }

    /* Ensure container doesn't clip */
    #hero-856 .cs-container {
        overflow: visible;
        max-width: 100%;
        padding-left: var(--space-md);
        padding-right: var(--space-md);
    }

    /* ---- PRICING CARDS MOBILE FIX ---- */
    .pricing-page__cards {
        grid-template-columns: 1fr !important;
        max-width: 100%;
        padding: 0 var(--space-md);
    }
}

/* Additional fixes for 390px viewport */
@media (max-width: 390px) {
    #hero-856 .cs-picture {
        padding: 0 var(--space-sm);
    }

    #hero-856 .cs-container {
        padding-left: var(--space-sm);
        padding-right: var(--space-sm);
    }

    .footer__container {
        padding-left: var(--space-md);
        padding-right: var(--space-md);
    }

    .pricing-page__cards {
        padding: 0 var(--space-sm);
    }
}

/* ========================================
   SERVICES SECTION CONTRAST FIX
   ======================================== */
#services-1121 .cs-item {
    background-color: rgba(255, 255, 255, 0.08);
    border-radius: var(--radius-lg);
    padding: var(--space-xl);
    text-align: center;
}

#services-1121 .cs-image-group {
    width: 64px;
    height: 64px;
    margin: 0 auto var(--space-lg);
    background-color: #2563eb;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

#services-1121 .cs-icon {
    width: 32px;
    height: 32px;
    stroke: #ffffff;
}

#services-1121 .cs-h2 {
    font-size: var(--text-lg);
    font-weight: 700;
    color: var(--bodyTextColorWhite) !important;
    margin-bottom: var(--space-sm);
}

#services-1121 .cs-item-text {
    font-size: var(--text-sm);
    color: rgba(255, 255, 255, 0.8) !important;
    line-height: 1.6;
}

/* ========================================
   HERO WAVE HEIGHT REDUCTION
   ======================================== */
#hero-856 .cs-wave {
    height: 80px;
}

/* ========================================
   STATS SECTION - REMOVE TOP BORDER
   ======================================== */
.stats::before {
    display: none;
}

/* ========================================
   DARK NAVY BACKGROUND CONSISTENCY
   ======================================== */
.stats {
    background-color: #1a2b4a;
    padding-bottom: var(--space-xl);
}

#services-1121 {
    background-color: #1a2b4a;
    padding-top: var(--space-xl);
}

.about__quote-card {
    background-color: #1a2b4a;
}

#pricing-1087 .cs-item.cs-popular {
    background-color: #1a2b4a;
    padding-top: calc(clamp(1.25rem, 3vw, 2.5rem) + 1rem);
}

.pricing-page__card--featured {
    background-color: #1a2b4a;
}

/* ========================================
   ACCESSIBILITY CONTRAST FIXES (WCAG AA)
   ======================================== */

/* Stats section labels - lighten for dark navy background (#1a2b4a) */
/* Contrast: ~10:1 with rgba(255,255,255,0.9) on #1a2b4a */
.stats__label {
    color: rgba(255, 255, 255, 0.9);
}

/* Pricing page subtitle - darken for light background (#F3F2EE) */
/* Contrast: ~7:1 with #4B5563 on light background */
.pricing-page .section-subtitle {
    color: #4B5563;
}

/* Footer text - lighten for dark navy background (#1a2b4a) */
/* Contrast: ~10:1 with rgba(255,255,255,0.85) on #1a2b4a */
.footer__tagline {
    color: rgba(255, 255, 255, 0.85);
}

.footer__bottom-left {
    color: rgba(255, 255, 255, 0.85);
}

.footer__bottom-right a {
    color: rgba(255, 255, 255, 0.85);
}

.footer__bottom-right a:hover {
    color: #FFFFFF;
}

