:root{--navy:#092f4d;--deep:#061c2b;--ink:#071721;--aqua:#17b8c3;--cream:#f5f2eb;--paper:#fbfaf7;--gray:#65707e;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"DM Sans",sans-serif;color:var(--ink);background:var(--deep)}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:12px;top:12px;background:#fff;padding:10px;z-index:100}.site-header{height:94px;padding:0 clamp(28px,5vw,90px);display:grid;grid-template-columns:minmax(300px,1fr) auto minmax(190px,1fr);align-items:center;gap:38px;background:#071b2a;color:#fff;border-bottom:1px solid rgba(255,255,255,.25);position:relative;z-index:20}.brand{display:flex;align-items:center;gap:13px}.brand img{width:48px;height:48px;object-fit:contain}.brand b,.footer-brand b{font-family:"League Spartan",sans-serif;text-transform:uppercase;font-size:20px;letter-spacing:.07em}.brand em,.footer-brand em{color:var(--aqua);font-style:normal}.brand small,.footer-brand small{display:block;text-transform:uppercase;font-size:9px;font-weight:700;letter-spacing:.12em;margin-top:2px}.site-header nav{display:flex;gap:42px}.site-header nav a{font-family:"League Spartan",sans-serif;text-transform:uppercase;font-size:12px;letter-spacing:.08em}.site-header nav a:hover{color:var(--aqua)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 27px;background:var(--aqua);border:1px solid var(--aqua);font-family:"League Spartan",sans-serif;text-transform:uppercase;font-size:12px;font-weight:800;letter-spacing:.08em;color:var(--ink);transition:.2s}.button:hover{transform:translateY(-2px);background:#2bd0da}.button-outline{background:transparent;color:#fff;border-color:#fff}.header-cta{justify-self:end}.menu-toggle{display:none}.hero{min-height:690px;position:relative;display:flex;align-items:center;padding:70px clamp(30px,7vw,120px);color:#fff;background:url("/assets/permian-hero.webp") center/cover no-repeat;overflow:hidden}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,23,36,.95) 0%,rgba(3,23,36,.78) 42%,rgba(3,23,36,.16) 74%,rgba(3,23,36,.3) 100%)}.hero-copy{position:relative;z-index:2;max-width:650px}.eyebrow{text-transform:uppercase;font-size:11px;font-weight:800;letter-spacing:.17em;color:var(--aqua);margin:0 0 18px}.hero .eyebrow{color:#fff}.hero h1,.section-head h2,.approach h2,.about h2,.contact h2{font-family:"League Spartan",sans-serif;text-transform:uppercase;letter-spacing:-.045em;line-height:.91;margin:0}.hero h1{font-size:clamp(62px,6.3vw,104px)}h1 em,h2 em{font-style:normal;color:var(--aqua)}.hero-lead{max-width:520px;font-size:17px;line-height:1.55;margin:30px 0}.hero-actions{display:flex;gap:14px}.serving{font-size:12px;font-weight:600;margin-top:28px}.serving span{display:inline-block;width:6px;height:6px;background:var(--aqua);border-radius:50%;margin-right:10px}.hero-mark{position:absolute;z-index:2;width:270px;right:12%;top:42%;transform:translateY(-50%);filter:drop-shadow(0 18px 30px rgba(2,18,27,.35))}.light-section{background:var(--cream)}.services{padding:110px clamp(28px,5vw,90px)}.section-head{text-align:center;max-width:860px;margin:0 auto 60px}.section-head h2{font-size:clamp(46px,5vw,76px)}.section-head h2 em{color:var(--ink)}.section-head>p:last-child{color:var(--gray);font-size:16px;line-height:1.6}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.service-grid article{background:rgba(255,255,255,.55);border:1px solid rgba(9,47,77,.09);padding:36px 27px;min-height:330px;text-align:center}.service-grid article>span{display:grid;place-items:center;width:60px;height:60px;margin:0 auto 24px;border:1px solid var(--aqua);color:#08778a;font-weight:800}.service-grid .kicker{text-transform:uppercase;letter-spacing:.15em;font-size:10px}.service-grid h3{text-transform:uppercase;font-size:18px}.service-grid article>p:last-child{color:var(--gray);line-height:1.6;font-size:14px}.dark-section{background:linear-gradient(135deg,#061c2b,#092f4d);color:#fff}.approach{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;padding:115px clamp(28px,8vw,145px)}.approach h2{font-size:clamp(48px,5vw,78px)}.approach-title>p:last-child{color:#c0ccd2;max-width:500px;line-height:1.6}.steps article{display:grid;grid-template-columns:50px 1fr;gap:22px;border-top:1px solid rgba(255,255,255,.35);padding:25px 0}.steps article:last-child{border-bottom:1px solid rgba(255,255,255,.35)}.steps b{color:var(--aqua)}.steps h3{text-transform:uppercase;font-size:16px;margin:0 0 8px}.steps p{color:#c0ccd2;margin:0;line-height:1.55;font-size:14px}.principles{display:grid;grid-template-columns:repeat(4,1fr);padding:56px clamp(28px,5vw,90px);background:#fff}.principles article{display:grid;grid-template-columns:62px 1fr;gap:20px;padding:0 34px;border-right:1px solid #ccd1d3}.principles article:last-child{border:0}.principles b{display:grid;place-items:center;width:52px;height:52px;border:1px solid var(--aqua);color:#08778a}.principles h3{text-transform:uppercase;font-size:14px;margin:3px 0 8px}.principles p{color:var(--gray);margin:0;line-height:1.5;font-size:13px}.about{display:grid;grid-template-columns:1fr 1.18fr;gap:9%;align-items:center;padding:110px clamp(28px,5vw,100px)}.about-art{height:600px;background:var(--navy);position:relative;display:grid;place-items:center;overflow:hidden}.grid-lines{position:absolute;inset:0;background-image:linear-gradient(rgba(23,184,195,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(23,184,195,.14) 1px,transparent 1px);background-size:64px 64px}.about-art>img{width:310px;position:relative;z-index:1}.owner-card{position:absolute;z-index:2;right:0;bottom:0;width:72%;padding:30px 34px;background:#061925;color:#fff}.owner-card small,.owner-card span{display:block;text-transform:uppercase;color:var(--aqua);letter-spacing:.12em;font-weight:700;font-size:11px}.owner-card strong{display:block;font-family:"League Spartan",sans-serif;text-transform:uppercase;font-size:26px;margin:12px 0}.about h2{font-size:clamp(48px,5vw,78px)}.about-copy .large{font-size:24px;font-weight:600;color:#5d6672;line-height:1.6}.about-copy>p:not(.eyebrow):not(.large){color:var(--gray);font-size:17px;line-height:1.65}.text-link{display:inline-flex;gap:28px;align-items:center;text-transform:uppercase;font-family:"League Spartan",sans-serif;font-size:13px;font-weight:800;border-bottom:2px solid var(--aqua);padding:17px 0;margin-top:20px}.text-link span{color:#08778a}.service-area{text-align:center;background:#063453;color:#fff;padding:48px 24px}.service-area div{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.service-area span{border:1px solid rgba(255,255,255,.75);padding:9px 17px;text-transform:uppercase;font-size:11px;font-weight:800}.contact{position:relative;display:grid;grid-template-columns:170px 1fr 390px;align-items:center;gap:60px;padding:95px clamp(28px,8vw,145px);color:#fff;background:linear-gradient(rgba(7,80,122,.84),rgba(7,80,122,.84)),url("/assets/permian-hero.webp") center 62%/cover}.contact>img{width:140px}.contact h2{font-size:clamp(48px,5vw,78px);max-width:590px}.contact>div>p:last-child{font-size:16px;line-height:1.55;max-width:620px}.contact aside{border:2px solid var(--aqua);padding:28px;display:flex;flex-direction:column;gap:10px;background:rgba(4,29,44,.45)}.contact aside small{text-transform:uppercase;color:var(--aqua);font-weight:800;letter-spacing:.12em}.contact aside a{font-family:"League Spartan",sans-serif;font-size:18px;font-weight:700}.contact aside a:hover{color:var(--aqua)}footer{background:#071b2a;color:#fff;padding:70px clamp(28px,5vw,90px) 28px;display:grid;grid-template-columns:1fr 1fr;gap:25px 80px}.footer-brand{display:flex;align-items:center;gap:15px}.footer-brand img{width:58px}.footer-brand+ p{color:#b8c3c9}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:50px;grid-column:2;grid-row:1/3}.footer-links>div{display:flex;flex-direction:column;gap:9px}.footer-links b{text-transform:uppercase;color:var(--aqua);font-size:11px;letter-spacing:.12em;margin-bottom:8px}.footer-links a,.footer-links span{font-size:13px;color:#d1d9dd}.footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.5);padding-top:22px;margin-top:25px;font-size:12px}.menu-toggle{background:transparent;border:0}
@media(max-width:980px){.site-header{grid-template-columns:1fr auto auto}.site-header nav{display:none}.menu-toggle{display:block;width:42px;height:42px}.menu-toggle span{display:block;width:25px;height:1px;background:#fff;margin:7px auto}.site-header nav.open{display:flex;position:absolute;top:94px;left:0;right:0;flex-direction:column;gap:22px;background:#061925;padding:28px}.hero-mark{right:4%;width:220px}.service-grid{grid-template-columns:repeat(2,1fr)}.approach{gap:45px}.principles{grid-template-columns:repeat(2,1fr);gap:40px}.principles article:nth-child(2){border:0}.contact{grid-template-columns:110px 1fr}.contact aside{grid-column:2}.about{gap:5%}.about-art{height:520px}.owner-card{width:85%}}
@media(max-width:680px){.site-header{height:82px;padding:0 17px;grid-template-columns:1fr auto}.brand img{width:38px;height:38px}.brand b{font-size:16px}.brand small{font-size:7px}.header-cta{display:none}.menu-toggle{grid-column:2}.site-header nav.open{top:82px}.hero{min-height:720px;padding:80px 22px 45px;align-items:flex-end;background-position:58% center}.hero-overlay{background:linear-gradient(180deg,rgba(3,23,36,.2),rgba(3,23,36,.78) 40%,rgba(3,23,36,.97) 100%)}.hero-copy{max-width:none}.hero h1{font-size:55px}.hero-lead{font-size:16px;margin:24px 0}.hero-actions{flex-direction:column}.hero-mark{width:145px;right:12px;top:19%;opacity:.95}.services{padding:78px 20px}.section-head{text-align:left;margin-bottom:35px}.section-head h2{font-size:44px}.service-grid{grid-template-columns:1fr}.service-grid article{min-height:0;text-align:left;padding:28px}.service-grid article>span{margin:0 0 20px}.approach{grid-template-columns:1fr;padding:78px 22px;gap:40px}.approach h2{font-size:47px}.principles{grid-template-columns:1fr;padding:52px 22px;gap:0}.principles article,.principles article:nth-child(2){border-right:0;border-bottom:1px solid #d4d8da;padding:24px 0}.principles article:last-child{border-bottom:0}.about{grid-template-columns:1fr;padding:70px 20px;gap:55px}.about-art{height:430px}.about-art>img{width:210px}.owner-card{width:90%;padding:22px}.about h2{font-size:45px}.about-copy .large{font-size:20px}.service-area{padding:42px 16px}.contact{grid-template-columns:1fr;padding:75px 22px;gap:30px}.contact>img{width:100px}.contact aside{grid-column:1}.contact h2{font-size:52px}footer{grid-template-columns:1fr;padding:55px 22px 25px}.footer-links{grid-column:1;grid-row:auto}.footer-bottom{gap:20px;flex-direction:column}.footer-brand b{font-size:18px}}
@media(max-width:380px){.hero h1{font-size:48px}.contact h2{font-size:46px}.brand small{display:none}}

/* Premium services treatment */
.services{font-family:"Sora",sans-serif}
.services .section-head{max-width:900px}
.services .section-head h2{font-family:"Sora",sans-serif;font-weight:800;letter-spacing:-.055em;line-height:1}
.services .section-head h2 em{font-style:normal;color:var(--navy)}
.services .section-head .eyebrow{font-family:"Sora",sans-serif}
.service-grid article{position:relative;display:flex;flex-direction:column;align-items:center;background:rgba(255,255,255,.72);border:1.5px solid var(--navy);border-top:4px solid var(--aqua);padding:38px 25px 30px;min-height:390px;text-align:center}
.service-grid article>img{width:auto;height:92px;max-width:145px;object-fit:contain;margin:0 auto 28px}
.service-grid h3{font-family:"Sora",sans-serif;text-transform:uppercase;font-size:17px;line-height:1.25;margin:0 0 18px;color:var(--navy)}
.service-grid article>p{color:var(--gray);line-height:1.65;font-size:14px;margin:0 0 24px}
.service-grid article>a{margin-top:auto;color:var(--aqua);font-family:"Sora",sans-serif;text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:.12em}
.service-grid article>a span{margin-left:8px}
.service-grid article>a:hover{color:var(--navy)}
@media(max-width:680px){.services .section-head h2{font-size:42px}.service-grid article{min-height:350px;padding:32px 24px 28px}.service-grid article>img{height:82px;max-width:132px;margin-bottom:25px}.service-grid h3{font-size:18px}}

/* Services proportion and brand-color refinement */
.services .section-head h2{color:#092F4D;font-size:clamp(42px,4vw,68px)}
.services .section-head>p:last-child{color:rgba(9,47,77,.7)}
.service-grid article{min-height:340px;padding:30px 24px 26px}
.service-grid article>img{width:auto;height:82px;max-width:132px;margin:0 auto 22px}
.service-grid h3{margin-bottom:14px;color:#092F4D}
.service-grid article>p{color:rgba(9,47,77,.7);line-height:1.55;margin-bottom:18px}
.service-grid article>a{margin-top:8px}
@media(max-width:680px){.services .section-head h2{font-size:40px}.service-grid article{min-height:315px;padding:28px 22px 24px}.service-grid article>img{height:76px;max-width:122px;margin-bottom:20px}}

/* Refined service-card motion */
.service-grid article{transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease}
.service-grid article>img{height:75px;max-width:121px;transition:transform .28s ease}
.service-grid article:hover{transform:translateY(-6px);box-shadow:0 14px 28px rgba(9,47,77,.09)}
.service-grid article:hover>img{transform:translateY(-3px)}
@media(max-width:680px){.service-grid article>img{height:70px;max-width:112px}}
@media(prefers-reduced-motion:reduce){.service-grid article,.service-grid article>img{transition:none}.service-grid article:hover,.service-grid article:hover>img{transform:none}}

/* Premium process treatment */
.approach{font-family:"Sora",sans-serif;grid-template-columns:.9fr 1.1fr;gap:clamp(50px,6vw,100px);padding-top:96px;padding-bottom:96px}
.approach .eyebrow{font-family:"Sora",sans-serif;margin-bottom:24px}
.approach h2{font-family:"Sora",sans-serif;font-size:clamp(46px,4.3vw,69px);font-weight:800;letter-spacing:-.06em;line-height:.98}
.approach h2 span,.approach h2 em{display:block}
.approach h2 span{white-space:nowrap}
.approach-title>p:last-child{border-left:3px solid var(--aqua);padding-left:20px;margin-top:34px;color:#c7d1d6;font-size:16px;line-height:1.7}
.steps{align-self:center}
.steps article{grid-template-columns:58px 1fr;gap:24px;padding:25px 0;border-color:rgba(255,255,255,.28)}
.steps b{font-family:"Sora",sans-serif;font-size:17px;font-weight:800;line-height:1.2;color:var(--aqua)}
.steps h3{font-family:"Sora",sans-serif;font-size:18px;letter-spacing:-.02em;margin-bottom:10px}
.steps p{font-family:"Sora",sans-serif;color:#c7d1d6;font-size:15px;line-height:1.65;max-width:680px}
@media(max-width:680px){.approach{padding-top:66px;padding-bottom:66px;gap:42px}.approach h2{font-size:40px}.approach h2 span{white-space:normal}.approach-title>p:last-child{font-size:15px;margin-top:26px}.steps article{grid-template-columns:42px 1fr;gap:15px;padding:22px 0}.steps b{font-size:15px}.steps h3{font-size:16px}.steps p{font-size:14px}}

/* Refined founder/about section */
.about{font-family:"Sora",sans-serif;background:var(--cream)}
.about-art{height:545px;border-radius:4px;background:var(--navy)}
.about-art>img{width:350px;margin-bottom:105px}
.about .grid-lines{opacity:.62;background-image:url("/assets/topographic-lines.webp");background-size:cover;background-position:center}
.owner-card{left:0;right:0;bottom:0;width:100%;padding:30px 42px 32px;background:#061c2b}
.owner-card::before{content:"";display:block;width:70px;height:3px;background:var(--aqua);margin-bottom:20px}
.owner-card strong{font-family:"Sora",sans-serif;font-size:24px;letter-spacing:.04em;margin:0 0 10px}
.owner-card span{font-family:"Sora",sans-serif;font-size:13px;letter-spacing:.06em;text-transform:none}
.owner-card .location{display:block;color:#fff;font-family:"Sora",sans-serif;font-size:13px;font-weight:400;letter-spacing:.04em;text-transform:none;margin-top:10px}
.about-copy .eyebrow{font-family:"Sora",sans-serif}
.about h2{font-family:"Sora",sans-serif;color:var(--navy);font-size:clamp(46px,4.4vw,70px);font-weight:800;letter-spacing:-.06em;line-height:1}
.about h2 em{color:var(--aqua)}
.about-copy .large{font-size:18px;font-weight:400;color:rgba(9,47,77,.72);line-height:1.65;margin-top:30px}
.about-copy>p:not(.eyebrow):not(.large){color:rgba(9,47,77,.72);font-size:16px;line-height:1.7;border-top:1px solid rgba(9,47,77,.2);padding-top:28px;margin-top:28px}
.about .text-link{font-family:"Sora",sans-serif;color:var(--navy);border:1.5px solid var(--aqua);padding:17px 25px;margin-top:14px;transition:background .2s ease,color .2s ease,transform .2s ease}
.about .text-link:hover{background:var(--aqua);color:var(--navy);transform:translateY(-2px)}
@media(max-width:680px){.about-art{height:430px}.about-art>img{width:240px;margin-bottom:112px}.owner-card{padding:25px 27px 27px}.owner-card::before{width:54px;margin-bottom:16px}.owner-card strong{font-size:21px}.about h2{font-size:42px}.about-copy .large{font-size:17px}}

/* Final contact section */
.contact{position:relative;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);align-items:center;gap:clamp(70px,9vw,165px);padding:94px clamp(28px,8vw,145px);color:var(--white);font-family:"Sora",sans-serif;background:linear-gradient(90deg,rgba(9,47,77,.88) 0%,rgba(9,47,77,.78) 52%,rgba(9,47,77,.54) 100%),url("/assets/permian-hero.webp") center 62%/cover no-repeat}
.contact-copy{max-width:760px}
.contact .eyebrow{margin-bottom:18px}
.contact h2{font-family:"Sora",sans-serif;font-size:clamp(48px,5vw,78px);font-weight:800;line-height:1.04;letter-spacing:-.05em;max-width:760px}
.contact-copy>p:not(.eyebrow){font-size:16px;line-height:1.65;max-width:700px;margin:28px 0}
.contact-button{gap:28px;min-width:280px;font-family:"Sora",sans-serif;font-size:12px}
.contact-button span{font-size:18px;line-height:1}
.contact aside{border:2.5px solid var(--aqua);padding:34px 38px;display:flex;flex-direction:column;gap:9px;background:rgba(9,47,77,.16)}
.contact aside small{text-transform:uppercase;color:var(--aqua);font-weight:800;letter-spacing:.14em;margin-bottom:7px}
.contact aside a{font-family:"Sora",sans-serif;font-size:16px;font-weight:700}
.contact aside a:hover{color:var(--aqua)}
.contact aside>span{font-size:14px}
.contact aside p{border-top:1px solid rgba(255,255,255,.55);margin:16px 0 0;padding-top:20px;font-size:13px;color:rgba(255,255,255,.82)}
@media(max-width:980px){.contact{grid-template-columns:1fr 340px;gap:45px}.contact aside{grid-column:auto}}
@media(max-width:680px){.contact{grid-template-columns:1fr;padding:72px 22px;gap:38px;background:linear-gradient(rgba(9,47,77,.84),rgba(9,47,77,.84)),url("/assets/permian-hero.webp") 56% center/cover no-repeat}.contact h2{font-size:47px}.contact-copy>p:not(.eyebrow){font-size:15px;margin:22px 0 25px}.contact-button{width:100%;min-width:0}.contact aside{grid-column:1;padding:28px 25px}.contact aside a{font-size:15px;overflow-wrap:anywhere}}

/* Refined hero and header */
.site-header{height:84px;font-family:"Sora",sans-serif}.brand{gap:15px}.brand img{width:58px;height:58px}.brand b,.footer-brand b{font-family:"Sora",sans-serif}.brand b{font-size:22px}.brand small{font-size:9px}.site-header nav a,.header-cta{font-family:"Sora",sans-serif}.header-cta{min-height:46px;padding:0 23px}
.hero{min-height:calc(100vh - 84px);padding:64px clamp(30px,6vw,110px);font-family:"Sora",sans-serif}.hero-overlay{background:linear-gradient(90deg,rgba(3,23,36,.95) 0%,rgba(3,23,36,.78) 39%,rgba(3,23,36,.28) 66%,rgba(3,23,36,.12) 100%)}.hero-copy{max-width:710px}.hero .eyebrow{font-family:"Sora",sans-serif;font-size:11px;margin-bottom:17px}.hero h1{font-family:"Sora",sans-serif;font-size:clamp(58px,5.55vw,92px);font-weight:800;line-height:.96;letter-spacing:-.055em}.hero h1 em{color:var(--aqua)}.hero-lead{max-width:590px;font-size:16px;line-height:1.58;margin:27px 0 32px}.hero-actions{align-items:center;gap:34px}.hero-actions .button{font-family:"Sora",sans-serif}.hero-services-link{display:inline-flex;align-items:center;gap:11px;color:var(--white);font-family:"Sora",sans-serif;text-transform:uppercase;font-size:12px;font-weight:800;letter-spacing:.08em}.hero-services-link span{color:var(--aqua);font-size:18px;transition:transform .2s ease}.hero-services-link:hover span{transform:translateX(4px)}.serving{color:rgba(255,255,255,.78);margin-top:24px}.hero-mark{width:clamp(430px,35vw,560px);right:-7%;top:47%;opacity:.085;filter:none}
.contact{background:linear-gradient(90deg,rgba(9,47,77,.86) 0%,rgba(9,47,77,.76) 52%,rgba(9,47,77,.58) 100%),url("/assets/contact-mountains.webp") center 56%/cover no-repeat}
@media(max-width:680px){.site-header{height:78px}.brand img{width:46px;height:46px}.brand b{font-size:18px}.brand small{font-size:7px}.site-header nav.open{top:78px}.hero{min-height:720px;padding:80px 22px 45px}.hero h1{font-size:50px}.hero .eyebrow{font-size:9px;line-height:1.5}.hero-lead{font-size:15px;margin:24px 0 27px}.hero-actions{align-items:stretch;gap:22px;flex-direction:column}.hero-services-link{justify-content:center;min-height:42px}.hero-mark{width:260px;right:-26%;top:20%;opacity:.055}.serving{margin-top:20px}.contact{background:linear-gradient(rgba(9,47,77,.82),rgba(9,47,77,.82)),url("/assets/contact-mountains.webp") center/cover no-repeat}}

/* Larger header brand mark */
.site-header .brand img{width:70px;height:70px}
@media(max-width:680px){.site-header .brand img{width:56px;height:56px}}

/* Tightly framed header and footer logo */
.site-header .brand img{width:100px;height:auto}
.footer-brand img{width:100px;height:auto}
@media(max-width:680px){.site-header .brand img{width:78px;height:auto}.footer-brand img{width:86px;height:auto}}

/* Refined open hero */
.site-header{border-bottom:0}
.hero-overlay{background:linear-gradient(90deg,rgba(3,23,36,.96) 0%,rgba(3,23,36,.79) 38%,rgba(3,23,36,.23) 65%,rgba(3,23,36,.04) 100%)}
.hero-copy{max-width:670px;transform:translateY(-24px)}
.hero .eyebrow{display:flex;align-items:center;gap:14px}
.hero .eyebrow::before{content:"";display:block;width:42px;height:2px;background:var(--aqua);flex:0 0 auto}
.hero h1{font-size:clamp(56px,5.1vw,84px);line-height:.98}
.hero-lead{max-width:650px;margin:30px 0 34px;line-height:1.65}
.hero-actions{gap:38px}
@media(max-width:680px){.hero-copy{transform:none}.hero .eyebrow{gap:10px}.hero .eyebrow::before{width:26px}.hero h1{font-size:48px}.hero-lead{margin:25px 0 29px}}

/* Southeast New Mexico service area */
.service-area{position:relative;overflow:hidden;padding:36px 24px;background:#063453 url("/assets/topographic-service-area.svg") center/100% 100% no-repeat}
.service-area .eyebrow{position:relative;margin-bottom:20px}
.service-area div{position:relative;gap:13px}
.service-area span{min-width:100px;padding:12px 20px;border-color:rgba(255,255,255,.78);transition:background-color .2s ease,border-color .2s ease,color .2s ease}
.service-area span:hover{background:var(--aqua);border-color:var(--aqua);color:var(--ink)}
@media(max-width:680px){.service-area{padding:34px 16px}.service-area span{min-width:92px;padding:11px 16px}}

/* Stable, intentionally wrapped hero headline */
.hero{padding-top:40px;padding-bottom:88px}
.hero-copy{transform:none}
.hero h1 em{white-space:nowrap}
@media(max-width:680px){.hero{padding:80px 22px 45px}.hero h1 em{white-space:normal}}

/* Refined services hierarchy */
.services .section-head .eyebrow{font-size:14px;font-weight:800;margin-bottom:24px}
.service-grid article>img{height:62px;max-width:104px}
@media(max-width:680px){.services .section-head .eyebrow{font-size:13px;margin-bottom:20px}.service-grid article>img{height:58px;max-width:96px}}

/* Selected work preview */
.work-preview{padding:100px clamp(28px,5vw,90px);background:var(--cream);font-family:"Sora",sans-serif}
.work-heading{display:flex;align-items:end;justify-content:space-between;gap:60px;margin-bottom:48px}
.work-heading h2{margin:0;color:var(--navy);font-family:"Sora",sans-serif;font-size:clamp(44px,4vw,66px);font-weight:800;line-height:1;letter-spacing:-.055em;text-transform:uppercase}
.work-heading>p{max-width:520px;margin:0 0 4px;color:rgba(9,47,77,.7);font-size:16px;line-height:1.65}
.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.work-grid article{min-width:0}
.work-image{height:300px;overflow:hidden;background:var(--navy);border-top:4px solid var(--aqua)}
.work-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.work-grid article:hover .work-image img{transform:scale(1.025)}
.work-image-bunny{background:#10090e}.work-image-bunny img{object-fit:contain;padding:20px}
.work-grid article>p{margin:20px 0 8px;color:var(--aqua);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.work-grid h3{margin:0;color:var(--navy);font-size:22px;text-transform:uppercase}

/* Crisp founder panel */
.about{gap:7%;padding-top:82px;padding-bottom:82px}
.about-art{height:470px;background:linear-gradient(rgba(6,28,43,.72),rgba(6,28,43,.78)),url("/assets/carlsbad-region-map.webp") center/cover no-repeat}
.about .grid-lines{display:none}
.about-art>img{width:380px;max-width:72%;margin-bottom:98px;transform:translate(-14px,-28px);image-rendering:auto}
.about .owner-card{padding:22px 32px 24px}
.about .owner-card::before{width:60px;margin-bottom:14px}
.about .owner-card strong{font-size:22px;margin-bottom:6px}
.about .owner-card span{font-size:12px;line-height:1.45}
.about .owner-card .location{font-size:12px;margin-top:7px}
.about h2{font-size:clamp(44px,4vw,64px)}
.about .text-link{background:var(--navy);border-color:var(--navy);color:#fff}
.about .text-link span{color:var(--aqua)}
.about .text-link:hover{background:var(--aqua);border-color:var(--aqua);color:var(--navy)}

/* About page */
.subpage-hero{padding:110px clamp(28px,8vw,145px);color:#fff;background:linear-gradient(120deg,#061c2b,#092f4d);font-family:"Sora",sans-serif}
.subpage-hero h1{max-width:900px;margin:0;font-size:clamp(58px,6vw,94px);font-weight:800;line-height:.96;letter-spacing:-.06em;text-transform:uppercase}
.subpage-hero h1 em{color:var(--aqua);font-style:normal}
.about-page{display:grid;grid-template-columns:.8fr 1.2fr;gap:8%;padding:100px clamp(28px,8vw,145px);background:var(--cream);font-family:"Sora",sans-serif}
.about-page h2{margin:0;color:var(--navy);font-size:clamp(38px,4vw,60px);line-height:1;text-transform:uppercase}
.about-page-copy p{margin:0 0 24px;color:rgba(9,47,77,.74);font-size:17px;line-height:1.75}
.about-values{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:0 clamp(28px,8vw,145px) 100px;background:var(--cream)}
.about-values article{border-top:3px solid var(--aqua);padding:26px 24px;background:#fff}
.about-values h3{margin:0 0 12px;color:var(--navy);text-transform:uppercase}.about-values p{margin:0;color:rgba(9,47,77,.7);line-height:1.6}
@media(max-width:980px){.work-heading{align-items:start;flex-direction:column;gap:24px}.work-grid{grid-template-columns:1fr 1fr}.work-grid article:last-child{grid-column:1/-1}.about-page{grid-template-columns:1fr;gap:35px}}
@media(max-width:680px){.work-preview{padding:72px 20px}.work-grid{grid-template-columns:1fr}.work-grid article:last-child{grid-column:auto}.work-image{height:245px}.about{padding-top:64px;padding-bottom:64px}.about-art{height:410px}.about-art>img{width:292px;max-width:76%;margin-bottom:105px;transform:translate(-8px,-20px)}.about .owner-card{padding:19px 25px 21px}.about .owner-card::before{margin-bottom:12px}.subpage-hero{padding:82px 22px}.subpage-hero h1{font-size:52px}.about-page{padding:72px 22px}.about-values{grid-template-columns:1fr;padding:0 22px 72px}}

/* Shared service-page system */
.service-page{font-family:"Sora",sans-serif;background:var(--cream)}
.service-hero{position:relative;min-height:620px;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);align-items:center;gap:7%;padding:78px clamp(28px,7vw,120px);color:#fff;background-position:center;background-size:cover;overflow:hidden}
.service-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,23,36,.96),rgba(3,23,36,.77) 50%,rgba(3,23,36,.34))}
.service-hero>*{position:relative}.service-hero-copy{max-width:720px}.service-hero h1{font-size:clamp(52px,5.2vw,82px);line-height:.96;letter-spacing:-.06em;text-transform:uppercase;margin:0}.service-hero h1 em{color:var(--aqua);font-style:normal}.service-hero-lead{max-width:640px;font-size:17px;line-height:1.65;margin:28px 0 32px;color:#e8eef1}.service-hero-note{display:block;margin-top:20px;color:#c9d5da;font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.service-hero-visual{justify-self:end;width:min(100%,480px)}.service-device{position:relative;width:100%;padding:11px 11px 25px;border-radius:10px;background:#d8dde0;box-shadow:0 24px 45px rgba(0,0,0,.28);transform:rotate(-1deg)}.service-device img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top;border-radius:3px}.service-phone{position:absolute;right:-5%;bottom:-8%;width:25%;padding:7px 5px 12px;border-radius:18px;background:#111b22;border:2px solid #b8c0c5;box-shadow:0 14px 25px rgba(0,0,0,.3)}.service-phone img{aspect-ratio:9/16;object-fit:cover}.service-visual-frame{position:relative;aspect-ratio:16/10;border:1px solid rgba(255,255,255,.45);padding:8px;background:rgba(3,23,36,.42);box-shadow:0 24px 50px rgba(0,0,0,.25)}.service-visual-frame img{width:100%;height:100%;object-fit:cover}.play-mark{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:68px;height:68px;border-radius:50%;background:var(--aqua);color:var(--navy);font-size:25px}.photo-stack{display:grid;grid-template-columns:1.2fr .8fr;gap:10px}.photo-stack img{width:100%;height:330px;object-fit:cover}.photo-stack img+img{height:265px;margin-top:55px}.marketing-panel{padding:28px;background:rgba(4,28,43,.82);border:1px solid rgba(255,255,255,.4);box-shadow:0 24px 50px rgba(0,0,0,.25)}.marketing-panel small{color:var(--aqua);text-transform:uppercase;letter-spacing:.12em}.marketing-panel strong{display:block;margin:14px 0 25px;font-size:46px}.marketing-bars{display:flex;align-items:end;gap:12px;height:130px}.marketing-bars span{flex:1;background:var(--aqua);opacity:.8}.marketing-bars span:nth-child(1){height:28%}.marketing-bars span:nth-child(2){height:47%}.marketing-bars span:nth-child(3){height:68%}.marketing-bars span:nth-child(4){height:87%}.marketing-bars span:nth-child(5){height:100%}
.web-design-page .service-hero-visual{width:min(100%,510px);padding-right:22px}.web-design-page .service-device{padding:10px 10px 22px;border-radius:11px;background:#d9dee1;box-shadow:0 25px 50px rgba(0,0,0,.34);transform:none}.web-design-page .service-device>img{display:block;width:100%;aspect-ratio:1400/789;object-fit:cover;object-position:top;border-radius:4px}.web-design-page .service-phone{right:-1%;bottom:-6%;width:22.5%;padding:6px 5px 10px;border-radius:17px;background:#101b22;border:2px solid #bac3c8;box-shadow:0 16px 28px rgba(0,0,0,.38)}.web-design-page .service-phone img{display:block;width:100%;aspect-ratio:520/961;object-fit:cover;object-position:top;border-radius:11px}
.service-benefits{display:grid;grid-template-columns:repeat(3,1fr);padding:0 clamp(28px,7vw,120px);background:var(--cream)}.service-benefits article{padding:48px 34px;border-right:1px solid rgba(9,47,77,.2)}.service-benefits article:first-child{padding-left:0}.service-benefits article:last-child{border:0}.service-benefits h2{margin:0 0 13px;color:var(--navy);font-size:22px;text-transform:uppercase}.service-benefits p{margin:0;color:rgba(9,47,77,.72);line-height:1.65}
.service-included{padding:68px clamp(28px,7vw,120px) 78px;background:var(--cream)}.service-included .service-section-title{max-width:900px;margin:0 auto 38px;text-align:center}.service-section-title h2{margin:0;color:var(--navy);font-size:clamp(42px,4.2vw,65px);line-height:1;text-transform:uppercase}.service-section-title>p:last-child{color:rgba(9,47,77,.7);font-size:16px;line-height:1.7}.service-included .service-section-title>p:last-child{max-width:760px;margin:18px auto 0}.included-list{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.included-list article{min-height:150px;padding:22px 24px;border:1px solid rgba(9,47,77,.16);background:rgba(255,255,255,.58)}.included-icon{display:block;width:29px;height:29px;margin-bottom:15px;color:var(--aqua)}.included-icon svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.included-list h3{margin:0 0 8px;color:var(--navy);font-size:16px;text-transform:uppercase}.included-list p{margin:0;color:rgba(9,47,77,.7);line-height:1.55;font-size:14px}
.service-feature{display:grid;grid-template-columns:.68fr 1.32fr;align-items:center;gap:7%;padding:90px clamp(28px,7vw,120px);color:#fff;background:linear-gradient(135deg,#061c2b,#092f4d)}.service-feature h2{margin:0 0 18px;font-size:clamp(42px,4.3vw,67px);line-height:.98;text-transform:uppercase}.service-feature p{color:#cbd6db;line-height:1.7}.feature-browser{border-radius:7px;overflow:hidden;background:#dfe3e5;box-shadow:0 24px 45px rgba(0,0,0,.22)}.feature-browser::before{content:"●  ●  ●";display:block;height:28px;padding:5px 12px;color:#87939a;font-size:10px;letter-spacing:4px}.feature-browser img{width:100%;aspect-ratio:16/9;object-fit:cover;object-position:top}.feature-browser.video img{object-position:center}.feature-gallery{display:grid;grid-template-columns:1.2fr .8fr;gap:8px}.feature-gallery img{width:100%;height:330px;object-fit:cover}.feature-gallery img+img{height:160px}.feature-gallery div{display:grid;gap:8px}.feature-gallery div img{height:161px}.feature-metric{padding:40px;background:#fff;color:var(--navy)}.feature-metric b{display:block;font-size:clamp(58px,7vw,95px);color:var(--aqua);line-height:1}.feature-metric span{text-transform:uppercase;font-weight:800;letter-spacing:.08em}
.website-case-study{grid-template-columns:minmax(310px,.72fr) minmax(0,1.28fr);gap:6%;padding-top:72px;padding-bottom:72px;background:linear-gradient(135deg,#061c2b,#092f4d)}
.website-case-study .case-study-copy{max-width:520px}
.website-case-study h2{font-size:clamp(39px,3.7vw,59px);line-height:.98;margin-bottom:22px}
.website-case-study .case-study-copy>p:not(.eyebrow){max-width:500px;margin:0;color:#d2dde2;font-size:16px;line-height:1.68}
.case-study-outcomes{display:grid;gap:12px;margin:24px 0 28px;padding:0;list-style:none}
.case-study-outcomes li{display:flex;align-items:center;gap:12px;color:#fff;font-size:15px}
.case-study-outcomes li::before{content:"✓";display:grid;place-items:center;flex:0 0 25px;width:25px;height:25px;border-radius:50%;background:var(--aqua);color:var(--navy);font-size:15px;font-weight:900}
.website-case-study .button{min-height:50px;gap:20px;padding-inline:24px}
.website-case-study .button span{color:var(--aqua);font-size:18px;line-height:1}
.website-case-study .feature-browser{width:92%;justify-self:end;border-radius:9px;box-shadow:0 25px 50px rgba(0,0,0,.3)}
.website-case-study .feature-browser::before{content:none}
.browser-toolbar{display:flex;align-items:center;gap:7px;height:34px;padding:0 14px;background:#e1e6e9}
.browser-toolbar i{width:9px;height:9px;border-radius:50%;background:#ff5f57}
.browser-toolbar i:nth-child(2){background:#febc2e}.browser-toolbar i:nth-child(3){background:#28c840}
.website-case-study .feature-browser img{aspect-ratio:16/8.7}
@media(max-width:980px){.website-case-study{grid-template-columns:1fr;gap:44px}.website-case-study .feature-browser{width:100%;justify-self:stretch}}
@media(max-width:680px){.website-case-study{padding-top:58px;padding-bottom:58px}.website-case-study h2{font-size:40px}.case-study-outcomes li{font-size:14px}}
.service-quote{padding:42px clamp(28px,16vw,260px);text-align:center;background:var(--cream);color:var(--navy)}.service-quote blockquote{margin:0 auto 12px;max-width:820px;font-size:21px;line-height:1.55;font-style:italic}.service-quote cite{font-size:11px;font-style:normal;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#467086}
.service-process{display:grid;grid-template-columns:.82fr 1.18fr;align-items:center;gap:5%;padding:44px clamp(28px,7vw,120px);color:#fff;background:var(--navy)}.service-process .service-section-title h2{max-width:620px;color:#fff;font-size:clamp(31px,3vw,47px);line-height:1.02}.service-process .service-section-title>p:last-child{margin:14px 0 0;color:rgba(255,255,255,.72);font-size:14px}.process-grid{display:grid;grid-template-columns:repeat(4,1fr)}.process-grid article{min-height:135px;padding:4px 20px;border-left:1px solid rgba(255,255,255,.25)}.process-grid b{color:var(--aqua);font-size:27px}.process-grid h3{margin:12px 0 8px;color:#fff;font-size:13px;text-transform:uppercase}.process-grid p{margin:0;font-size:12px;line-height:1.55;color:rgba(255,255,255,.72)}
.service-faq{display:grid;grid-template-columns:.7fr 1.3fr;gap:9%;padding:80px clamp(28px,8vw,145px);background:var(--cream)}.service-faq h2{margin:0;color:var(--navy);font-size:clamp(38px,4vw,58px);line-height:1;text-transform:uppercase}.service-faq details{border-top:1px solid rgba(9,47,77,.25);padding:17px 0;color:var(--navy)}.service-faq details:last-child{border-bottom:1px solid rgba(9,47,77,.25)}.service-faq summary{cursor:pointer;font-weight:700;list-style:none}.service-faq summary::after{content:"+";float:right;color:var(--aqua);font-size:20px}.service-faq details[open] summary::after{content:"–"}.service-faq details p{color:rgba(9,47,77,.72);line-height:1.65;margin:14px 32px 0 0}
.other-services{display:grid;grid-template-columns:1fr 1.4fr;align-items:center;gap:7%;padding:50px clamp(28px,7vw,120px);background:#fff}.other-services h2{margin:0;color:var(--navy);font-size:30px;line-height:1.05;text-transform:uppercase}.other-service-links{display:grid;grid-template-columns:repeat(3,1fr)}.other-service-links a{padding:20px;border-left:1px solid rgba(9,47,77,.2);color:var(--navy);font-weight:800;font-size:12px;text-transform:uppercase}.other-service-links a:hover{color:var(--aqua)}
.service-cta{text-align:center;padding:75px 24px;color:#fff;background:linear-gradient(rgba(9,47,77,.86),rgba(9,47,77,.9)),url('/assets/contact-mountains.webp') center/cover}.service-cta h2{max-width:760px;margin:0 auto 28px;font-size:clamp(40px,4.5vw,66px);line-height:1;text-transform:uppercase}.service-cta .button{min-width:240px}
@media(max-width:980px){.service-hero{grid-template-columns:1fr .7fr;gap:4%}.service-process,.service-faq{grid-template-columns:1fr;gap:32px}.included-list{grid-template-columns:1fr 1fr}.service-feature{grid-template-columns:1fr;gap:45px}.other-services{grid-template-columns:1fr;gap:30px}}
@media(max-width:680px){.service-hero{min-height:0;grid-template-columns:1fr;padding:65px 22px 75px;gap:48px}.service-hero h1{font-size:48px}.service-hero-lead{font-size:15px}.service-hero-visual{width:88%;justify-self:center}.web-design-page .service-hero-visual{width:91%;padding-right:12px}.web-design-page .service-phone{right:-2%;bottom:-9%;width:24%}.service-benefits{grid-template-columns:1fr;padding:25px 22px}.service-benefits article,.service-benefits article:first-child{padding:26px 0;border-right:0;border-bottom:1px solid rgba(9,47,77,.2)}.service-benefits article:last-child{border-bottom:0}.service-included,.service-feature,.service-faq{padding:64px 22px}.service-process{padding:48px 22px}.included-list{grid-template-columns:1fr;gap:12px}.included-list article{min-height:0}.process-grid{grid-template-columns:1fr 1fr;gap:24px 0}.process-grid article{min-height:0}.process-grid article:nth-child(odd){border-left:0;padding-left:0}.photo-stack img{height:240px}.photo-stack img+img{height:190px;margin-top:50px}.other-services{padding:45px 22px}.other-service-links{grid-template-columns:1fr}.other-service-links a{border-left:0;border-top:1px solid rgba(9,47,77,.2);padding-left:0}.service-quote{padding:38px 24px}.service-quote blockquote{font-size:18px}}

/* Extra breathing room for the shared navigation */
.site-header{height:96px;padding-top:6px;padding-bottom:6px}
@media(max-width:980px){.site-header nav.open{top:96px}}
@media(max-width:680px){.site-header{height:86px;padding-top:5px;padding-bottom:5px}.site-header nav.open{top:86px}}

/* Website inclusions: protected spacing and balanced cards */
.web-design-page .service-included .included-list article{
  box-sizing:border-box;
  min-height:154px;
  padding:26px 28px 25px !important;
}
.web-design-page .service-included .included-icon{
  width:30px;
  height:30px;
  margin:0 0 16px;
}
.web-design-page .service-included .included-list h3{margin:0 0 8px}
@media(max-width:680px){
  .web-design-page .service-included .included-list article{
    min-height:0;
    padding:24px 24px 25px !important;
  }
}

/* Final service-page refinements */
@media(min-width:981px){
  .web-design-page .service-included .service-section-title{max-width:1350px;margin-bottom:32px}
  .web-design-page .service-included .service-section-title h2{font-size:clamp(44px,3.6vw,58px);white-space:nowrap}
}
.web-design-page .service-device{padding:0 10px 22px;overflow:visible}
.web-design-page .service-device>.browser-toolbar{height:30px;margin:0 -10px 10px;border-radius:11px 11px 0 0}
.web-design-page .service-phone{right:-1%;bottom:-7%;width:21.5%;padding:9px 5px 8px;border-radius:25px;border:2px solid #bac3c8;background:#0a1116}
.web-design-page .service-phone img{border-radius:19px;aspect-ratio:9/19.5}
.dynamic-island{position:absolute;z-index:2;top:14px;left:50%;width:34%;height:9px;transform:translateX(-50%);border-radius:999px;background:#05080a;box-shadow:0 1px 2px rgba(255,255,255,.12)}
.web-design-page .service-phone::before,.web-design-page .service-phone::after{content:"";position:absolute;left:-4px;width:2px;border-radius:2px;background:#869198}
.web-design-page .service-phone::before{top:25%;height:18%}.web-design-page .service-phone::after{top:47%;height:11%}
.other-services{position:relative;grid-template-columns:.95fr 1.55fr;gap:5%;padding-top:46px;padding-bottom:46px;background:#fff;border-top:2px solid var(--aqua)}
.other-services h2{max-width:520px;font-size:32px}
.other-service-links a{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:74px;padding:20px 24px;transition:background .2s,color .2s}
.other-service-links a span{color:var(--aqua);font-size:18px}
.other-service-links a:hover{background:rgba(23,184,195,.08)}
.service-cta{display:grid;grid-template-columns:minmax(0,1.25fr) auto;align-items:center;gap:8%;padding:58px clamp(28px,8vw,145px);text-align:left;min-height:280px}
.service-cta>div{max-width:760px}
.service-cta h2{max-width:700px;margin:0 0 14px;font-size:clamp(38px,4vw,58px)}
.service-cta p{max-width:680px;margin:0;color:#d6e0e4;font-size:16px;line-height:1.65}
.service-cta .button{min-width:245px}
@media(max-width:980px){.service-cta{grid-template-columns:1fr;gap:28px}.service-cta .button{justify-self:start}}
@media(max-width:680px){
  .web-design-page .service-included .service-section-title h2{font-size:42px}
  .web-design-page .service-phone{width:23%;border-radius:20px}
  .other-services{padding-top:42px;padding-bottom:42px}
  .other-service-links a{min-height:58px;padding:16px 0}
  .service-cta{min-height:0;padding:52px 22px;text-align:center}
  .service-cta h2{font-size:40px}.service-cta .button{width:100%;justify-self:stretch}
}

/* Premium responsive-device showcase */
.web-design-page .service-hero-visual{
  width:min(100%,620px);
  padding:0 20px 18px 0;
}
.hero-device-stage{
  position:relative;
  width:100%;
  padding:10px 5% 4% 0;
  filter:drop-shadow(0 24px 22px rgba(0,0,0,.24));
}
.web-design-page .hero-device-stage .service-device{
  position:relative;
  width:94%;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  transform:perspective(1100px) rotateX(1deg) rotateY(-3deg);
  transform-origin:center bottom;
}
.laptop-screen{
  position:relative;
  overflow:hidden;
  padding:9px 9px 10px;
  border:2px solid #aeb7bd;
  border-bottom-color:#828c93;
  border-radius:15px 15px 7px 7px;
  background:linear-gradient(145deg,#e9eef0,#c5cdd2);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.7),0 18px 34px rgba(0,0,0,.3);
}
.laptop-screen::before{
  content:"";
  position:absolute;
  z-index:3;
  top:4px;
  left:50%;
  width:4px;
  height:4px;
  transform:translateX(-50%);
  border-radius:50%;
  background:#59636a;
  box-shadow:0 0 0 1px rgba(255,255,255,.3);
}
.web-design-page .laptop-screen>.browser-toolbar{
  height:28px;
  margin:0;
  padding:0 10px;
  border-radius:6px 6px 0 0;
  background:linear-gradient(#f1f4f5,#dce2e5);
}
.web-design-page .laptop-screen>.browser-toolbar i{
  width:8px;
  height:8px;
}
.web-design-page .laptop-screen>img{
  display:block;
  width:100%;
  aspect-ratio:1400/789;
  object-fit:cover;
  object-position:top;
  border-radius:0 0 4px 4px;
}
.laptop-base{
  position:relative;
  z-index:-1;
  width:108%;
  height:20px;
  margin:-2px 0 0 -4%;
  border-radius:2px 2px 14px 14px;
  background:linear-gradient(180deg,#dfe5e8 0%,#aeb7bd 56%,#7d878e 100%);
  box-shadow:inset 0 1px rgba(255,255,255,.85),0 8px 10px rgba(0,0,0,.2);
  transform:perspective(320px) rotateX(55deg);
  transform-origin:top;
}
.laptop-base span{
  position:absolute;
  top:1px;
  left:43%;
  width:14%;
  height:4px;
  border-radius:0 0 5px 5px;
  background:#98a2a8;
}
.web-design-page .hero-device-stage .service-phone{
  position:absolute;
  z-index:5;
  right:0;
  bottom:1%;
  width:20%;
  box-sizing:border-box;
  padding:9px 5px 8px;
  border:2px solid #abb4ba;
  border-radius:27px;
  background:linear-gradient(145deg,#222b31,#070b0e 60%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.13),0 18px 28px rgba(0,0,0,.42);
}
.web-design-page .hero-device-stage .service-phone img{
  display:block;
  width:100%;
  aspect-ratio:9/19.5;
  object-fit:cover;
  object-position:top;
  border-radius:20px;
}
.web-design-page .hero-device-stage .dynamic-island{
  top:14px;
  width:35%;
  height:10px;
  border:1px solid rgba(255,255,255,.08);
}
.phone-speaker{display:none}
.web-design-page .hero-device-stage .service-phone::before,
.web-design-page .hero-device-stage .service-phone::after{
  left:-4px;
  width:2px;
  background:#717d84;
}
@media(max-width:980px){
  .web-design-page .service-hero-visual{width:min(100%,490px);padding-right:14px}
  .web-design-page .hero-device-stage .service-phone{width:21.5%}
}
@media(max-width:680px){
  .web-design-page .service-hero-visual{width:96%;padding:0 8px 14px 0}
  .hero-device-stage{padding-top:4px}
  .web-design-page .hero-device-stage .service-device{width:93%;transform:none}
  .laptop-screen{padding:6px 6px 7px;border-radius:10px 10px 5px 5px}
  .web-design-page .laptop-screen>.browser-toolbar{height:20px;padding-left:7px}
  .web-design-page .laptop-screen>.browser-toolbar i{width:6px;height:6px}
  .laptop-base{height:14px}
  .web-design-page .hero-device-stage .service-phone{width:22%;padding:7px 4px 6px;border-radius:20px}
  .web-design-page .hero-device-stage .service-phone img{border-radius:14px}
  .web-design-page .hero-device-stage .dynamic-island{top:11px;height:7px}
}

/* Tightened homepage services preview */
.services{padding-top:88px;padding-bottom:88px}
.services .section-head{margin-bottom:42px}
.services .section-head>p:last-of-type{margin-bottom:22px}
.services-overview-button{min-height:46px;padding:0 23px;background:var(--navy);border-color:var(--navy);color:#fff}
.services-overview-button span{margin-left:14px;color:var(--aqua)}
.services-overview-button:hover{background:var(--aqua);border-color:var(--aqua);color:var(--navy)}
.services-overview-button:hover span{color:var(--navy)}
.service-grid article{min-height:295px;padding:25px 22px 22px}
.service-grid article>img{height:62px;max-width:104px;margin-bottom:18px}
.service-grid h3{margin:0 0 11px;font-size:16px}
.service-grid article>p{margin-bottom:14px;line-height:1.5}
.service-grid article>a{margin-top:auto}
@media(max-width:680px){.services{padding-top:68px;padding-bottom:68px}.services .section-head{margin-bottom:32px}.services-overview-button{width:100%}.service-grid article{min-height:0;padding:26px 22px}.service-grid article>img{height:60px;max-width:100px}}

/* All services overview */
.services-index{background:var(--cream);font-family:"Sora",sans-serif}
.services-index-hero{padding:90px clamp(28px,8vw,145px);text-align:center;color:#fff;background:linear-gradient(120deg,#061c2b,#092f4d)}
.services-index-hero h1{max-width:980px;margin:0 auto;font-size:clamp(54px,6vw,90px);line-height:.95;letter-spacing:-.06em;text-transform:uppercase}
.services-index-hero h1 em{color:var(--aqua);font-style:normal}
.services-index-hero>p:last-of-type{max-width:720px;margin:26px auto 0;color:#d3dee2;font-size:17px;line-height:1.65}
.services-index-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;padding:80px clamp(28px,8vw,145px)}
.services-index-card{display:grid;grid-template-columns:90px 1fr;gap:25px;align-items:start;padding:38px;background:#fff;border-top:4px solid var(--aqua)}
.services-index-card img{width:76px;height:76px;object-fit:contain}
.services-index-card h2{margin:0 0 12px;color:var(--navy);font-size:24px;text-transform:uppercase}
.services-index-card p{margin:0 0 20px;color:rgba(9,47,77,.72);line-height:1.65}
.services-index-card a{color:var(--aqua);font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.services-index-card a:hover{color:var(--navy)}
@media(max-width:780px){.services-index-hero{padding:72px 22px}.services-index-hero h1{font-size:50px}.services-index-grid{grid-template-columns:1fr;padding:55px 22px}.services-index-card{grid-template-columns:65px 1fr;padding:28px 22px}.services-index-card img{width:56px;height:56px}}

/* Final website hero device artwork */
.web-design-page .service-hero-visual{
  width:100%;
  max-width:none;
  padding:0;
}
.hero-device-composite{
  display:block;
  width:114%;
  max-width:none;
  height:auto;
  margin-left:-8%;
  filter:drop-shadow(0 24px 26px rgba(0,0,0,.26));
}
@media(min-width:981px){
  .web-design-page .service-hero{
    grid-template-columns:minmax(0,1.06fr) minmax(430px,.94fr);
    gap:4%;
  }
}
@media(max-width:980px){
  .hero-device-composite{width:108%;margin-left:-2%}
}
@media(max-width:680px){
  .web-design-page .service-hero-visual{width:100%;padding:0}
  .hero-device-composite{width:106%;margin-left:-3%}
}

/* Mobile-only homepage hero tightening */
@media(max-width:680px){
  html,body{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
  }
  body > main > .hero#top{
    min-height:560px;
    padding:28px 22px 72px;
    align-items:flex-end;
  }
  body > main > .hero#top .hero-overlay{
    background:
      linear-gradient(90deg,rgba(3,23,36,.78) 0%,rgba(3,23,36,.66) 46%,rgba(3,23,36,.18) 76%,rgba(3,23,36,.08) 100%),
      linear-gradient(180deg,rgba(3,23,36,.1) 0%,rgba(3,23,36,.18) 48%,rgba(3,23,36,.82) 100%);
  }
  .hero .eyebrow{margin-bottom:14px}
  .hero-lead{margin:22px 0}
  .hero-actions{
    align-items:flex-start;
    gap:16px;
  }
  .hero-actions .button{
    width:auto;
    min-height:48px;
    padding-inline:24px;
  }
  .hero-services-link{
    min-height:36px;
    margin-left:24px;
  }
  body > main > .services{padding-top:48px}

  /* Keep the homepage process section inside the mobile viewport. */
  .approach{
    grid-template-columns:minmax(0,1fr);
    width:100%;
    max-width:100%;
    padding-left:22px;
    padding-right:22px;
  }
  .approach-title,
  .steps,
  .steps article{
    width:100%;
    min-width:0;
  }
}


/* Mobile-only compact services grid */
.mobile-card-copy,.mobile-link-copy,.mobile-services-overview{display:none}
.service-grid article>img.mobile-service-icon{display:none}
.service-grid article>a .desktop-link-copy,
.service-grid article>a .mobile-link-copy{margin-left:0}
.service-grid article>a .link-arrow{margin-left:8px}
@media(max-width:680px){
  body > main > .services{
    padding:48px 20px 34px;
  }
  body > main > .services .section-head{
    margin-bottom:20px;
  }
  body > main > .services .section-head h2{
    font-size:34px;
    line-height:.98;
  }
  body > main > .services .section-head>p:last-of-type{
    margin:18px 0 20px;
    color:var(--navy);
    font-size:15px;
    line-height:1.5;
  }
  body > main > .services .desktop-services-overview{
    display:none;
  }
  body > main > .services .mobile-services-overview{
    display:flex;
    width:max-content;
    min-height:44px;
    margin:30px auto 0;
    padding-inline:22px;
  }
  body > main > .services .service-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
  }
  body > main > .services .service-grid article{
    min-width:0;
    min-height:0;
    padding:16px 12px;
    text-align:center;
  }
  body > main > .services .service-grid article>img{
    display:block;
    width:56px;
    height:52px;
    max-width:56px;
    margin-bottom:10px;
    object-fit:contain;
  }
  body > main > .services .service-grid article:nth-child(1)>img{
    width:56px;
    max-width:56px;
  }
  body > main > .services .service-grid article:nth-child(3)>img{
    width:52px;
    max-width:52px;
  }
  body > main > .services .service-grid article:nth-child(4)>img{
    width:56px;
    max-width:56px;
  }
  body > main > .services .service-grid article>img.desktop-service-icon{
    display:none;
  }
  body > main > .services .service-grid article>img.mobile-service-icon{
    display:block;
    width:60px;
    height:52px;
    max-width:60px;
    object-fit:contain;
  }
  body > main > .services .service-grid h3{
    margin:0 0 10px;
    font-size:13px;
    line-height:1.2;
    white-space:nowrap;
  }
  body > main > .services .service-grid article>p{
    min-height:60px;
    margin:0 0 10px;
    font-size:11.5px;
    line-height:1.45;
  }
  body > main > .services .service-grid article>a{
    margin-top:0;
    font-size:9.5px;
    letter-spacing:.08em;
    white-space:nowrap;
  }
  body > main > .services .desktop-card-copy,
  body > main > .services .desktop-link-copy{
    display:none;
  }
  body > main > .services .mobile-card-copy,
  body > main > .services .mobile-link-copy{
    display:inline;
  }
}


/* Compact mobile service-area divider */
@media(max-width:680px){
  .service-area{
    padding:28px 16px;
  }
  .service-area .eyebrow{
    margin:0 0 14px;
    font-size:12px;
    line-height:1.25;
  }
  .service-area div{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
    width:100%;
  }
  .service-area span{
    min-width:0;
    padding:9px 4px;
    font-size:10px;
    line-height:1.2;
  }
}


/* Premium mobile featured-work showcase */
.mobile-work-copy,
.mobile-work-link,
.mobile-work-card,
.mobile-work-overview{
  display:none;
}
@media(max-width:680px){
  .work-preview{
    padding:64px 20px;
  }
  .work-heading{
    display:block;
    margin-bottom:34px;
  }
  .work-heading .eyebrow{
    margin-bottom:18px;
  }
  .work-heading h2{
    font-size:42px;
    line-height:.94;
  }
  .work-heading>p{
    margin-top:22px;
    font-size:16px;
    line-height:1.55;
  }
  .desktop-work-copy{
    display:none;
  }
  .mobile-work-copy{
    display:inline;
  }
  .work-grid{
    gap:34px;
  }
  .work-grid article{
    display:block;
  }
  .work-image{
    height:230px;
    border-top-width:4px;
  }
  .work-image-bunny img{
    object-fit:cover;
    padding:0;
  }
  .work-grid article>p{
    margin:14px 0 7px;
    line-height:1.4;
  }
  .work-grid h3{
    font-size:22px;
    line-height:1.08;
  }
  .mobile-work-link{
       display:inline-block;
    margin-top:11px;
    color:var(--aqua);
    font-size:11px;
    font-weight:800;
    letter-spacing:.12em;
    line-height:1;
    text-transform:uppercase;
    border-bottom:1px solid var(--aqua);
    padding-bottom:3px;
  }
  .mobile-work-card{
    display:block;
  }
  .mobile-work-overview{
    width:max-content;
    min-width:190px;
    max-width:100%;
    min-height:50px;
    margin:38px auto 0;
    padding:0 28px;
    background:var(--navy);
    border-color:var(--navy);
    color:#fff;
  }
}


/* Square mobile service cards */
@media(max-width:680px){
  body > main > .services .service-grid article{
    aspect-ratio:1/1;
    min-height:0;
    padding:10px 7px;
    overflow:hidden;
  }
  body > main > .services .service-grid article>img{
    width:48px;
    height:40px;
    max-width:48px;
    margin-bottom:6px;
  }
  body > main > .services .service-grid article:nth-child(1)>img,
  body > main > .services .service-grid article:nth-child(4)>img{
    width:48px;
    max-width:48px;
  }
  body > main > .services .service-grid article:nth-child(3)>img{
    width:45px;
    max-width:45px;
  }
  body > main > .services .service-grid article>img.mobile-service-icon{
    width:50px;
    height:40px;
    max-width:50px;
  }
  body > main > .services .service-grid h3{
    margin:0 0 5px;
    font-size:11.5px;
    line-height:1.2;
  }
  body > main > .services .service-grid article>p{
    min-height:42px;
    margin:0 0 5px;
    font-size:10px;
    line-height:1.35;
  }
  body > main > .services .service-grid article>a{
    margin-top:auto;
    font-size:9.5px;
    font-weight:800;
    letter-spacing:.08em;
    line-height:1.1;
  }
}


/* Match approved mobile service-card reference */
@media(max-width:680px){
  body > main > .services .service-grid article{
    aspect-ratio:309/334;
    justify-content:center;
    padding:10px 8px;
  }
  body > main > .services .service-grid article>img{
    width:52px;
    height:48px;
    max-width:52px;
    margin-bottom:10px;
  }
  body > main > .services .service-grid article:nth-child(1)>img,
  body > main > .services .service-grid article:nth-child(4)>img{
    width:50px;
    max-width:50px;
  }
  body > main > .services .service-grid article:nth-child(3)>img{
    width:50px;
    max-width:50px;
  }
  body > main > .services .service-grid article>img.mobile-service-icon{
    width:52px;
    height:48px;
    max-width:52px;
  }
  body > main > .services .service-grid h3{
    margin:0 0 9px;
    font-size:13.5px;
    line-height:1.2;
  }
  body > main > .services .service-grid article>p{
    height:52px;
    min-height:52px;
    margin:0;
    font-size:12px;
    line-height:1.42;
  }
  body > main > .services .service-grid article>a{
    margin:10px 0 0;
    font-size:11px;
    font-weight:800;
    letter-spacing:.08em;
    line-height:1.1;
  }
}


/* Compact premium mobile Our Story */
.mobile-story-copy,
.mobile-story-card,
.mobile-story-button{
  display:none;
}
@media(max-width:680px){
  .about{
    display:block;
    padding:62px 20px 64px;
  }
  .desktop-about-art{
    display:none;
  }
  .about-copy .eyebrow{
    margin-bottom:18px;
  }
  .about-copy h2{
    max-width:350px;
    font-size:44px;
    line-height:.95;
  }
  .desktop-story-copy,
  .desktop-story-link{
    display:none;
  }
  .mobile-story-copy{
    display:block;
    margin:25px 0 28px;
    color:rgba(9,47,77,.72);
    font-size:16px;
    line-height:1.58;
  }
  .mobile-story-card{
    display:grid;
    grid-template-columns:38% 62%;
    align-items:center;
    min-height:174px;
    padding:18px;
    overflow:hidden;
    color:#fff;
    background:linear-gradient(rgba(4,32,49,.88),rgba(4,32,49,.92)),url("/assets/carlsbad-region-map.webp") center/cover no-repeat;
    border-radius:4px;
  }
  .mobile-story-card>img{
    width:118px;
    max-width:100%;
    margin:auto;
    object-fit:contain;
  }
  .mobile-story-card>div{
    min-width:0;
    padding-left:16px;
    border-left:1px solid rgba(23,184,195,.45);
  }
  .mobile-story-card strong{
    display:block;
    font-family:"League Spartan",sans-serif;
    font-size:19px;
    line-height:1;
    letter-spacing:.04em;
    text-transform:uppercase;
    white-space:nowrap;
  }
  .mobile-story-card span{
    display:block;
    margin-top:9px;
    color:var(--aqua);
    font-size:9px;
    font-weight:700;
    line-height:1.4;
  }
  .mobile-story-card small{
    display:block;
    margin-top:8px;
    color:#fff;
    font-size:11px;
    line-height:1.3;
  }
  .mobile-story-button{
    width:max-content;
    min-width:190px;
    max-width:100%;
    min-height:50px;
    margin:26px auto 0;
    padding:0 28px;
    background:var(--navy);
    border-color:var(--navy);
    color:#fff;
  }
}


/* Final mobile Our Story refinements */
.mobile-story-heading{
  display:none;
}
@media(max-width:680px){
  .about{
    padding:52px 20px 54px;
  }
  .about-copy .eyebrow{
    display:table;
    width:max-content;
    margin:0 0 16px;
  }
  .about-copy .eyebrow::after{
    content:"";
    display:block;
    width:100%;
    height:2px;
    margin-top:7px;
    background:var(--navy);
  }
  .desktop-story-heading{
    display:none;
  }
  .mobile-story-heading{
    display:inline;
  }
  .about-copy h2{
    max-width:none;
    font-size:40px;
    line-height:.94;
  }
  .mobile-story-copy{
    margin:20px 0 22px;
    padding:0;
    border:0;
    font-size:16px;
    line-height:1.48;
  }
  .mobile-story-card{
    min-height:160px;
    padding:16px;
    background:linear-gradient(rgba(4,32,49,.76),rgba(4,32,49,.82)),url("/assets/carlsbad-region-map.webp") center/cover no-repeat;
  }
  .mobile-story-card>img{
    width:112px;
  }
  .mobile-story-card>div{
    padding-left:14px;
  }
  .mobile-story-card strong{
    font-size:18px;
  }
  .mobile-story-card span{
    margin-top:8px;
    font-size:7.5px;
    white-space:nowrap;
  }
  .mobile-story-card small{
    margin-top:7px;
    font-size:10.5px;
  }
  .mobile-story-button{
    display:flex;
    width:max-content;
    min-width:190px;
    max-width:100%;
    margin:22px auto 0;
  }
}


/* Correct mobile Our Story spacing and remove legacy divider */
@media(max-width:680px){
  .about .about-copy .eyebrow{
    margin-bottom:11px;
  }
  .about .about-copy .eyebrow::after{
    margin-top:3px;
  }
  body > main > .about .about-copy>p.mobile-story-copy{
    margin:18px 0 22px;
    padding:0;
    border:0;
    font-size:16px;
    line-height:1.55;
  }
}


/* Balance final mobile Our Story accents and spacing */
@media(max-width:680px){
  .about{
    padding-bottom:22px;
  }
  .about .about-copy .eyebrow{
    color:var(--navy);
  }
  .about .about-copy .eyebrow::after{
    background:var(--aqua);
  }
  .about .mobile-story-button{
    margin-top:22px;
  }
}


/* Final mobile Our Story optical alignment */
@media(max-width:680px){
  .about{
    padding-bottom:54px;
  }
  .about .about-copy .eyebrow::after{
    width:calc(100% - .17em);
  }
}


/* Mobile contact conversion panel */
.mobile-contact-copy,
.mobile-contact-button,
.mobile-contact-note{
  display:none;
}

@media(max-width:680px){
  .contact{
    grid-template-columns:1fr;
    padding:58px 20px 52px;
    gap:28px;
    background:
      linear-gradient(rgba(9,47,77,.76),rgba(9,47,77,.80)),
      url("/assets/contact-mountains.webp") center 40%/cover no-repeat;
  }
  .contact .eyebrow{
    margin-bottom:14px;
  }
  .contact h2{
    font-size:44px;
    line-height:1;
  }
  .desktop-contact-copy,
  .desktop-contact-button,
  .desktop-contact-region{
    display:none;
  }
  .mobile-contact-copy{
    display:inline;
  }
  .contact-copy>p:not(.eyebrow){
    font-size:16px;
    line-height:1.55;
    margin:20px 0;
  }
  .mobile-contact-button{
    display:flex;
    width:max-content;
    min-width:240px;
    max-width:100%;
    min-height:52px;
    padding:0 24px;
    margin:0;
  }
  body>main>.contact .contact-copy>p.mobile-contact-note{
    display:block;
    margin:10px 0 0;
    font-size:12px;
    line-height:1.4;
    color:rgba(255,255,255,.85);
  }
  .contact aside{
    grid-column:1;
    padding:24px 22px;
    gap:7px;
    border:0;
    border-top:2px solid var(--aqua);
    background:rgba(3,28,43,.72);
  }
  .contact aside small{
    margin-bottom:8px;
  }
  .contact aside a{
    font-size:15.5px;
    overflow-wrap:anywhere;
  }
  .contact aside>span{
    font-size:14px;
  }
  .contact aside p{
    display:none;
  }
}


/* Final mobile services CTA treatment */
@media(max-width:680px){
  body>main>.services{
    padding-bottom:42px;
  }
  body>main>.services .section-head .eyebrow{
    display:table;
    width:max-content;
    margin-bottom:20px;
    color:var(--navy);
  }
  body>main>.services .section-head .eyebrow::after{
    content:"";
    display:block;
    width:calc(100% - .17em);
    height:2px;
    margin-top:3px;
    background:var(--aqua);
  }
  body>main>.services .service-grid article>a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:auto;
    min-height:32px;
    margin:10px auto 0;
    padding:0 11px;
    color:#fff;
    background:var(--navy);
    border:1px solid var(--navy);
    font-size:9.25px;
    font-weight:800;
    line-height:1;
    letter-spacing:.08em;
  }
  body>main>.services .service-grid article>a:hover{
    color:#fff;
    background:var(--ink);
    border-color:var(--ink);
  }
  body>main>.services .service-grid article>a .link-arrow{
    display:none;
  }
  body>main>.services .mobile-services-overview{
    display:none;
  }
}


/* Streamlined mobile service area */
.service-area .eyebrow .desktop-service-area-title,
.service-area .eyebrow .mobile-service-area-title{
  border:0;
  padding:0;
  color:inherit;
  font:inherit;
  letter-spacing:inherit;
}
.service-area .eyebrow .mobile-service-area-title{
  display:none;
}

@media(max-width:680px){
  .service-area{
    padding:27px 18px 29px;
  }
  .service-area .eyebrow{
    margin:0 0 18px;
    font-size:12px;
    line-height:1.25;
  }
  .service-area .eyebrow .desktop-service-area-title{
    display:none;
  }
  .service-area .eyebrow .mobile-service-area-title{
    display:inline;
  }
  .service-area>div{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    column-gap:8px;
    row-gap:12px;
    width:100%;
  }
  .service-area>div>span{
    min-width:0;
    padding:0;
    border:0;
    background:transparent;
    color:#fff;
    font-size:10.5px;
    line-height:1.2;
    text-align:center;
  }
}


/* Mobile website service hero composition */
.mobile-service-capabilities{
  display:none;
}

@media(max-width:680px){
  .web-design-page .service-hero{
    min-height:0;
    display:grid;
    grid-template-columns:minmax(0,44%) minmax(0,56%);
    grid-template-areas:
      "hero-eyebrow hero-eyebrow"
      "hero-title hero-title"
      "hero-lead hero-lead"
      "hero-note hero-visual"
      "hero-cta hero-cta";
    column-gap:12px;
    row-gap:0;
    align-items:center;
    padding:54px 20px 50px;
    background-position:58% center;
  }
  .web-design-page .service-hero-copy{
    display:contents;
  }
  .web-design-page .service-hero-copy>*{
    position:relative;
  }
  .web-design-page .service-hero-copy>.eyebrow{
    grid-area:hero-eyebrow;
    margin:0 0 18px;
  }
  .web-design-page .service-hero-copy>h1{
    grid-area:hero-title;
    margin:0 0 24px;
  }
  .web-design-page .service-hero-lead{
    grid-area:hero-lead;
    margin:0 0 22px;
    font-size:15px;
    line-height:1.58;
  }
  .web-design-page .service-hero-note{
    grid-area:hero-note;
    align-self:center;
    margin:0;
  }
  .web-design-page .desktop-service-hero-note{
    display:none;
  }
  .web-design-page .mobile-service-capabilities{
    display:flex;
    flex-direction:column;
    gap:14px;
  }
  .web-design-page .mobile-service-capabilities b{
    display:flex;
    align-items:center;
    gap:9px;
    color:#fff;
    font-size:10.5px;
    font-weight:700;
    line-height:1.15;
    letter-spacing:.1em;
    white-space:nowrap;
  }
  .web-design-page .mobile-service-capabilities b::before{
    content:"";
    flex:0 0 18px;
    width:18px;
    height:2px;
    background:var(--aqua);
  }
  .web-design-page .service-hero-visual{
    grid-area:hero-visual;
    align-self:center;
    justify-self:end;
    width:100%;
    padding:0;
  }
  .web-design-page .hero-device-composite{
    width:100%;
    max-width:none;
    margin:0;
    filter:drop-shadow(0 14px 16px rgba(0,0,0,.25));
  }
  .web-design-page .service-hero-cta{
    grid-area:hero-cta;
    justify-self:start;
    width:max-content;
    min-width:0;
    min-height:52px;
    margin-top:24px;
    padding:0 22px;
  }
}


/* Mobile services navigation accordion */
.mobile-nav-services{
  display:none;
}

@media(max-width:980px){
  .site-header nav .desktop-nav-services{
    display:none;
  }
  .site-header nav.open{
    gap:18px;
  }
  .mobile-nav-services{
    display:block;
    width:100%;
  }
  .mobile-services-toggle{
    display:flex;
    width:100%;
    align-items:center;
    justify-content:space-between;
    padding:0;
    border:0;
    background:transparent;
    color:#fff;
    font-family:"Sora",sans-serif;
    font-size:12px;
    font-weight:400;
    letter-spacing:.08em;
    line-height:1.2;
    text-transform:uppercase;
    cursor:pointer;
  }
  .mobile-services-toggle:hover,
  .mobile-services-toggle:focus-visible{
    color:var(--aqua);
  }
  .mobile-services-toggle i{
    width:9px;
    height:9px;
    margin-right:3px;
    border-right:1.5px solid currentColor;
    border-bottom:1.5px solid currentColor;
    transform:rotate(45deg) translateY(-2px);
    transform-origin:center;
    transition:transform .2s ease;
  }
  .mobile-services-toggle[aria-expanded="true"] i{
    transform:rotate(225deg) translate(-2px,-1px);
  }
  .mobile-services-submenu{
    max-height:0;
    margin-top:0;
    padding-left:16px;
    overflow:hidden;
    border-left:1px solid transparent;
    opacity:0;
    visibility:hidden;
    transition:max-height .25s ease,margin-top .25s ease,opacity .2s ease,border-color .2s ease;
  }
  .mobile-services-toggle[aria-expanded="true"] + .mobile-services-submenu{
    max-height:190px;
    margin-top:17px;
    border-left-color:rgba(23,184,195,.55);
    opacity:1;
    visibility:visible;
  }
  .site-header nav .mobile-services-submenu a{
    display:block;
    padding:8px 0 8px 13px;
    color:rgba(255,255,255,.82);
    font-size:11px;
    letter-spacing:.06em;
  }
  .site-header nav .mobile-services-submenu a:hover,
  .site-header nav .mobile-services-submenu a:focus-visible{
    color:var(--aqua);
  }
}

@media(prefers-reduced-motion:reduce){
  .mobile-services-toggle i,
  .mobile-services-submenu{
    transition:none;
  }
}


/* Premium mobile website benefits */
.mobile-website-benefits{
  display:none;
}

@media(max-width:680px){
  .web-design-page .desktop-service-benefits{
    display:none;
  }
  .web-design-page .mobile-website-benefits{
    display:block;
    padding:54px 22px 56px;
    background:var(--cream);
    color:var(--navy);
  }
  .web-design-page .mobile-benefits-eyebrow{
    display:table;
    width:max-content;
    margin:0 0 24px;
    color:var(--navy);
    font-family:"Sora",sans-serif;
    font-size:13px;
    font-weight:800;
    line-height:1.2;
    letter-spacing:.17em;
    text-transform:uppercase;
  }
  .web-design-page .mobile-benefits-eyebrow::after{
    content:"";
    display:block;
    width:calc(100% - .17em);
    height:2px;
    margin-top:3px;
    background:var(--aqua);
  }
  .web-design-page .mobile-website-benefits>h2{
    max-width:330px;
    margin:0;
    color:var(--navy);
    font-family:"League Spartan",sans-serif;
    font-size:43px;
    font-weight:800;
    line-height:.94;
    letter-spacing:-.04em;
    text-transform:uppercase;
  }
  .web-design-page .mobile-benefits-intro{
    max-width:330px;
    margin:22px 0 29px;
    color:rgba(9,47,77,.72);
    font-size:15.5px;
    line-height:1.55;
  }
  .web-design-page .mobile-benefits-list article{
    display:grid;
    grid-template-columns:50px minmax(0,1fr);
    gap:14px;
    align-items:start;
    padding:20px 0;
  }
  .web-design-page .mobile-benefits-list article:first-child{
    padding-top:0;
  }
  .web-design-page .mobile-benefits-list article:last-child{
    padding-bottom:0;
  }
  .web-design-page .mobile-benefits-list article>svg{
    width:42px;
    height:42px;
    margin-top:1px;
    color:var(--aqua);
    fill:none;
    stroke:currentColor;
    stroke-width:1.15;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .web-design-page .mobile-benefits-list .benefit-polish-icon{
    width:46px;
    height:46px;
  }
  .web-design-page .mobile-benefits-list .benefit-handshake-icon{
    display:block;
    width:50px;
    height:auto;
    margin-top:4px;
    object-fit:contain;
  }
  .web-design-page .mobile-benefits-list .benefit-cursor-icon{
    width:42px;
    height:42px;
  }
  .web-design-page .mobile-benefits-list article>div{
    min-width:0;
    padding-bottom:20px;
    border-bottom:1px solid rgba(9,47,77,.24);
  }
  .web-design-page .mobile-benefits-list article:last-child>div{
    padding-bottom:0;
    border-bottom:0;
  }
  .web-design-page .mobile-benefits-list h3{
    margin:0 0 7px;
    color:var(--navy);
    font-family:"Sora",sans-serif;
    font-size:15px;
    font-weight:800;
    line-height:1.2;
    letter-spacing:-.02em;
    text-transform:uppercase;
  }
  .web-design-page .mobile-benefits-list article:last-child h3{
    font-size:13.75px;
    letter-spacing:-.035em;
  }
  .web-design-page .mobile-benefits-list p{
    margin:0;
    color:rgba(9,47,77,.72);
    font-size:14px;
    line-height:1.5;
  }
}


/* Website service: clear mobile-only process timeline */
.mobile-web-process{display:none}
@media(max-width:680px){
  .web-design-page .desktop-web-process{display:none}
  .web-design-page .mobile-web-process{
    display:block;
    padding:48px 20px 46px;
    color:#fff;
    background:var(--navy);
  }
  .web-design-page .mobile-process-heading{
    max-width:560px;
  }
  .web-design-page .mobile-process-eyebrow{
    display:inline-block;
    margin:0;
    color:var(--aqua);
    font-family:"Sora",sans-serif;
    font-size:12px;
    font-weight:800;
    line-height:1.2;
    letter-spacing:.18em;
    text-transform:uppercase;
  }
  .web-design-page .mobile-process-eyebrow::after{
    content:"";
    display:block;
    width:48px;
    height:2px;
    margin-top:7px;
    background:var(--aqua);
  }
  .web-design-page .mobile-process-heading h2{
    max-width:360px;
    margin:27px 0 18px;
    color:#fff;
    font-family:"League Spartan",sans-serif;
    font-size:36px;
    font-weight:800;
    line-height:.96;
    letter-spacing:-.025em;
    text-transform:uppercase;
  }
  .web-design-page .mobile-process-heading>p:last-child{
    max-width:350px;
    margin:0;
    color:rgba(255,255,255,.72);
    font-size:15.5px;
    line-height:1.55;
  }
  .web-design-page .mobile-process-timeline{
    position:relative;
    display:grid;
    gap:27px;
    margin:31px 0 0;
    padding:0;
    list-style:none;
  }
  .web-design-page .mobile-process-timeline::before{
    content:"";
    position:absolute;
    top:20px;
    bottom:20px;
    left:21px;
    width:2px;
    background:var(--aqua);
  }
  .web-design-page .mobile-process-timeline li{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:44px minmax(0,1fr);
    gap:17px;
    align-items:start;
  }
  .web-design-page .mobile-process-timeline li>span{
    display:grid;
    width:44px;
    height:44px;
    place-items:center;
    border-radius:50%;
    color:var(--navy);
    background:var(--aqua);
    font-family:"League Spartan",sans-serif;
    font-size:20px;
    font-weight:800;
    line-height:1;
  }
  .web-design-page .mobile-process-timeline h3{
    margin:2px 0 6px;
    color:#fff;
    font-family:"Sora",sans-serif;
    font-size:14px;
    font-weight:800;
    line-height:1.25;
    text-transform:uppercase;
  }
  .web-design-page .mobile-process-timeline p{
    max-width:300px;
    margin:0;
    color:rgba(255,255,255,.72);
    font-size:14px;
    line-height:1.48;
  }
  .web-design-page .mobile-process-reassurance{
    max-width:350px;
    margin:31px 0 0;
    color:rgba(255,255,255,.72);
    font-size:14px;
    line-height:1.5;
  }
}
@media(max-width:380px){
  .web-design-page .mobile-process-heading h2{font-size:33px}
  .web-design-page .mobile-process-timeline{
    gap:24px;
  }
  .web-design-page .mobile-process-timeline li{
    grid-template-columns:40px minmax(0,1fr);
    gap:14px;
  }
  .web-design-page .mobile-process-timeline::before{left:19px}
  .web-design-page .mobile-process-timeline li>span{
    width:40px;
    height:40px;
    font-size:18px;
  }
  .web-design-page .mobile-process-timeline h3{font-size:13px}
  .web-design-page .mobile-process-timeline p,
  .web-design-page .mobile-process-reassurance{font-size:13.5px}
}


/* Website service: compact mobile-only inclusions grid */
.mobile-web-included{display:none}
@media(max-width:680px){
  .web-design-page .desktop-web-included{display:none}
  .web-design-page .mobile-web-included{
    display:block;
    padding:48px 20px 50px;
    color:var(--navy);
    background:var(--cream);
  }
  .web-design-page .mobile-included-heading{
    max-width:560px;
  }
  .web-design-page .mobile-included-eyebrow{
    display:inline-block;
    margin:0;
    color:var(--navy);
    font-family:"Sora",sans-serif;
    font-size:12px;
    font-weight:800;
    line-height:1.2;
    letter-spacing:.18em;
    text-transform:uppercase;
  }
  .web-design-page .mobile-included-eyebrow::after{
    content:"";
    display:block;
    width:52px;
    height:2px;
    margin-top:7px;
    background:var(--aqua);
  }
  .web-design-page .mobile-included-heading h2{
    max-width:360px;
    margin:27px 0 17px;
    color:var(--navy);
    font-family:"League Spartan",sans-serif;
    font-size:36px;
    font-weight:800;
    line-height:.96;
    letter-spacing:-.025em;
    text-transform:uppercase;
  }
  .web-design-page .mobile-included-heading>p:last-child{
    max-width:355px;
    margin:0;
    color:rgba(9,47,77,.72);
    font-size:15.5px;
    line-height:1.52;
  }
  .web-design-page .mobile-included-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:repeat(3,1fr);
    gap:10px;
    margin-top:30px;
  }
  .web-design-page .mobile-included-grid article{
    display:flex;
    min-width:0;
    min-height:158px;
    flex-direction:column;
    align-items:flex-start;
    padding:16px 14px 15px;
    border:1px solid var(--navy);
    border-top:3px solid var(--aqua);
    border-radius:0;
    background:var(--paper);
  }
  .web-design-page .mobile-included-grid svg{
    display:block;
    width:27px;
    height:27px;
    flex:0 0 auto;
    color:var(--aqua);
    fill:none;
    stroke:currentColor;
    stroke-width:1.45;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .web-design-page .mobile-included-grid h3{
    margin:14px 0 6px;
    color:var(--navy);
    font-family:"Sora",sans-serif;
    font-size:11.5px;
    font-weight:800;
    line-height:1.25;
    letter-spacing:-.02em;
    text-transform:uppercase;
  }
  .web-design-page .mobile-included-grid p{
    margin:0;
    color:rgba(9,47,77,.72);
    font-size:11.75px;
    line-height:1.42;
  }
}
@media(max-width:380px){
  .web-design-page .mobile-included-heading h2{font-size:33px}
  .web-design-page .mobile-included-grid{
    gap:8px;
  }
  .web-design-page .mobile-included-grid article{
    min-height:154px;
    padding:14px 12px;
  }
  .web-design-page .mobile-included-grid svg{
    width:25px;
    height:25px;
  }
  .web-design-page .mobile-included-grid h3{
    margin-top:12px;
    font-size:10.5px;
  }
  .web-design-page .mobile-included-grid p{
    font-size:11.25px;
  }
}


/* Website service: premium mobile-only featured client case study */
.mobile-web-case-study{display:none}
@media(max-width:680px){
  .web-design-page .desktop-web-case-study{display:none}
  .web-design-page .mobile-web-case-study{
    display:block;
    padding:40px 20px 38px;
    color:#fff;
    background:var(--navy);
  }
  .web-design-page .mobile-case-study-heading{
    max-width:560px;
  }
  .web-design-page .mobile-case-study-eyebrow{
    display:inline-block;
    margin:0;
    color:var(--aqua);
    font-family:"Sora",sans-serif;
    font-size:12px;
    font-weight:800;
    line-height:1.2;
    letter-spacing:.18em;
    text-transform:uppercase;
  }
  .web-design-page .mobile-case-study-eyebrow::after{
    content:"";
    display:block;
    width:52px;
    height:2px;
    margin-top:7px;
    background:var(--aqua);
  }
  .web-design-page .mobile-case-study-client{
    margin:18px 0 0;
    color:#fff;
    font-family:"Sora",sans-serif;
    font-size:11px;
    font-weight:800;
    line-height:1.3;
    letter-spacing:.13em;
    text-transform:uppercase;
  }
  .web-design-page .mobile-web-case-study h2{
    max-width:none;
    margin:16px 0 15px;
    color:#fff;
    font-family:"League Spartan",sans-serif;
    font-size:30px;
    font-weight:800;
    line-height:.98;
    letter-spacing:-.025em;
    text-transform:uppercase;
  }
  .web-design-page .mobile-case-study-intro{
    max-width:355px;
    margin:0;
    color:rgba(255,255,255,.76);
    font-size:15px;
    line-height:1.48;
  }
  .web-design-page .mobile-case-study-browser{
    width:100%;
    margin-top:28px;
    overflow:hidden;
    border-radius:6px;
    background:#dfe3e5;
    box-shadow:0 18px 34px rgba(0,0,0,.2);
  }
  .web-design-page .mobile-case-browser-toolbar{
    display:flex;
    height:24px;
    align-items:center;
    gap:5px;
    padding:0 10px;
    background:#e1e6e9;
  }
  .web-design-page .mobile-case-browser-toolbar i{
    width:7px;
    height:7px;
    border-radius:50%;
    background:#ff5f57;
  }
  .web-design-page .mobile-case-browser-toolbar i:nth-child(2){background:#febc2e}
  .web-design-page .mobile-case-browser-toolbar i:nth-child(3){background:#28c840}
  .web-design-page .mobile-case-study-browser img{
    display:block;
    width:100%;
    aspect-ratio:16/8.7;
    object-fit:cover;
    object-position:top;
  }
  .web-design-page .mobile-case-study-outcomes{
    display:grid;
    gap:11px;
    margin:21px 0 0;
    padding:0;
    list-style:none;
  }
  .web-design-page .mobile-case-study-outcomes li{
    display:grid;
    grid-template-columns:26px minmax(0,1fr);
    gap:11px;
    align-items:center;
    color:#fff;
    font-family:"Sora",sans-serif;
    font-size:11.5px;
    font-weight:800;
    line-height:1.3;
    letter-spacing:.04em;
    text-transform:uppercase;
  }
  .web-design-page .mobile-case-study-outcomes li::before{
    content:"✓";
    display:grid;
    width:26px;
    height:26px;
    place-items:center;
    border-radius:50%;
    color:var(--navy);
    background:var(--aqua);
    font-size:14px;
    font-weight:900;
    line-height:1;
  }
  .web-design-page .mobile-case-study-actions{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:9px;
    margin-top:22px;
  }
  .web-design-page .mobile-case-study-actions a{
    display:flex;
    min-width:0;
    min-height:49px;
    align-items:center;
    justify-content:center;
    gap:7px;
    padding:10px 9px;
    border:1px solid #fff;
    color:#fff;
    font-family:"Sora",sans-serif;
    font-size:11.5px;
    font-weight:800;
    line-height:1.15;
    letter-spacing:.04em;
    text-align:center;
    text-transform:uppercase;
    white-space:nowrap;
  }
  .web-design-page .mobile-case-study-actions .mobile-case-primary{
    border-color:var(--aqua);
    color:var(--navy);
    background:var(--aqua);
    font-size:11.5px;
    letter-spacing:.04em;
  }
  .web-design-page .mobile-case-study-actions span{
    flex:0 0 auto;
    font-size:15px;
    font-weight:500;
    line-height:1;
  }
}
@media(max-width:380px){
  .web-design-page .mobile-web-case-study h2{font-size:28px}
  .web-design-page .mobile-case-study-intro{font-size:14.5px}
  .web-design-page .mobile-case-study-outcomes li{font-size:10.75px}
  .web-design-page .mobile-case-study-actions{
    gap:8px;
  }
  .web-design-page .mobile-case-study-actions a{
    padding-inline:5px;
    font-size:9.5px;
    letter-spacing:.025em;
  }
}


/* Keep the iPhone Safari safe-area aligned with the navy header on every page */
@media (max-width:680px){
  html,
  body.service-page{background:#071b2a}
}


/* Website Design mobile hero proof refinement */
.mobile-service-hero-lead,
.mobile-client-proof{display:none}

@media (max-width:680px){
  .web-design-page .desktop-service-hero-lead{display:none}
  .web-design-page .mobile-service-hero-lead{display:inline}

  .web-design-page .service-hero{
    padding-bottom:42px;
    background-position:58% center;
  }

  .web-design-page .service-hero-lead{
    margin-bottom:18px;
    line-height:1.5;
  }

  .web-design-page .service-hero-visual{
    overflow:visible;
  }

  .web-design-page .mobile-client-proof{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:3px;
    width:100%;
    margin:0 0 7px 0;
    text-align:left;
  }

  .web-design-page .mobile-client-proof b{
    display:flex;
    align-items:center;
    gap:6px;
    color:var(--aqua);
    font-size:8px;
    font-weight:700;
    line-height:1.2;
    letter-spacing:.1em;
    text-transform:uppercase;
    white-space:nowrap;
  }

  .web-design-page .mobile-client-proof b::before{
    content:"";
    width:5px;
    height:5px;
    flex:0 0 5px;
    border-radius:50%;
    background:var(--aqua);
  }

  .web-design-page .mobile-client-proof span{
    color:#fff;
    font-size:9px;
    line-height:1.25;
    white-space:nowrap;
  }

  .web-design-page .hero-device-composite{
    width:112%;
    max-width:none;
    margin-left:-12%;
  }

  .web-design-page .service-hero-cta{
    min-height:44px;
    margin-top:18px;
    padding:0 14px;
    font-size:12px;
  }
}


/* Website Design: simplified mobile hero and featured-client device proof */
@media (max-width:680px){
  .web-design-page .service-hero{
    grid-template-columns:minmax(0,1fr);
    grid-template-areas:
      "hero-eyebrow"
      "hero-title"
      "hero-lead"
      "hero-cta";
    padding:46px 20px 42px;
    background-position:58% center;
  }

  .web-design-page .service-hero-copy>.eyebrow{
    margin-bottom:16px;
  }

  .web-design-page .service-hero-copy>h1{
    margin-bottom:22px;
  }

  .web-design-page .service-hero-lead{
    margin-bottom:0;
  }

  .web-design-page .service-hero-note,
  .web-design-page .service-hero-visual{
    display:none;
  }

  .web-design-page .service-hero-cta{
    margin-top:22px;
  }

  .web-design-page .mobile-case-study-devices{
    display:flex;
    width:96%;
    max-width:560px;
    justify-content:center;
    margin:18px auto 0;
  }

  .web-design-page .mobile-case-study-devices img{
    display:block;
    width:100%;
    height:auto;
    filter:drop-shadow(0 18px 24px rgba(0,0,0,.28));
  }
}


/* Website Design: integrated mobile featured-client composition */
@media(max-width:680px){
  .web-design-page .mobile-web-case-study{
    padding:40px 20px 42px;
  }

  .web-design-page .mobile-web-case-study h2{
    max-width:360px;
    margin:17px 0 16px;
    font-size:34px;
    line-height:.95;
  }

  .web-design-page .mobile-web-case-study h2 em{
    color:var(--aqua);
    font-style:normal;
  }

  .web-design-page .mobile-case-study-intro{
    max-width:365px;
  }

  .web-design-page .mobile-case-study-devices{
    position:relative;
    isolation:isolate;
    width:98%;
    max-width:560px;
    margin:14px auto 0;
  }

  .web-design-page .mobile-case-study-devices::before{
    content:"";
    position:absolute;
    z-index:0;
    left:50%;
    top:53%;
    width:160%;
    height:170%;
    border-radius:50%;
    transform:translate(-50%,-50%);
    background:radial-gradient(ellipse at center,rgba(23,184,195,.58) 0%,rgba(23,184,195,.36) 30%,rgba(23,184,195,.18) 42%,rgba(23,184,195,.03) 53%,rgba(23,184,195,0) 62%);
    filter:blur(12px);
    pointer-events:none;
  }

  .web-design-page .mobile-case-study-devices img{
    position:relative;
    z-index:1;
  }

  .web-design-page .mobile-case-study-results-label{
    margin:17px 0 0;
    color:var(--aqua);
    font-family:"Sora",sans-serif;
    font-size:11px;
    font-weight:800;
    line-height:1.2;
    letter-spacing:.18em;
    text-transform:uppercase;
  }

  .web-design-page .mobile-case-study-outcomes{
    gap:0;
    margin:8px 0 0;
    border-top:1px solid rgba(255,255,255,.13);
  }

  .web-design-page .mobile-case-study-outcomes li{
    min-height:49px;
    padding:11px 0;
    border-bottom:1px solid rgba(255,255,255,.13);
  }

  .web-design-page .mobile-case-study-outcomes li::before{
    width:24px;
    height:24px;
    font-size:13px;
  }

  .web-design-page .mobile-case-study-actions{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin-top:20px;
  }

  .web-design-page .mobile-case-study-actions a,
  .web-design-page .mobile-case-study-actions .mobile-case-primary{
    min-height:49px;
    padding:9px 7px;
    font-size:10.5px;
    letter-spacing:.025em;
  }
}

@media(max-width:380px){
  .web-design-page .mobile-web-case-study h2{
    font-size:31px;
  }

  .web-design-page .mobile-case-study-actions a,
  .web-design-page .mobile-case-study-actions .mobile-case-primary{
    padding-inline:4px;
    font-size:9.25px;
    letter-spacing:.01em;
  }
}


/* Exact mobile featured-client reference proportions */
@media(max-width:680px){
  .web-design-page .mobile-case-study-devices{
    width:104%;
    margin-left:-2%;
    margin-right:-2%;
  }

  .web-design-page .mobile-case-study-results-label{
    margin-top:15px;
  }

  .web-design-page .mobile-case-study-actions{
    margin-top:18px;
  }
}


/* Optically balance the primary featured-client CTA label */
@media(max-width:680px){
  .web-design-page .mobile-case-study-actions .mobile-case-primary{
    font-size:11.5px;
  }
}
@media(max-width:380px){
  .web-design-page .mobile-case-study-actions .mobile-case-primary{
    font-size:10.25px;
  }
}


/* Compact mobile explore-services navigation */
@media(max-width:680px){
  .other-services{
    display:block;
    padding:38px 22px 24px;
    background:var(--cream);
  }

  .other-services h2{
    display:none;
  }

  .other-services .eyebrow{
    margin:0 0 16px;
    font-size:14px;
    line-height:1.2;
    letter-spacing:.14em;
  }

  .other-service-links{
    grid-template-columns:1fr;
  }

  .other-service-links a{
    min-height:58px;
    padding:16px 0;
    border-left:0;
    border-top:1px solid rgba(9,47,77,.2);
    font-size:12px;
  }
}


/* Balanced mobile website CTA */
@media(max-width:680px){
  .service-cta{
    gap:22px;
  }

  .service-cta .button{
    width:245px;
    max-width:100%;
    min-width:0;
    min-height:54px;
    justify-self:center;
    padding:0 20px;
    color:var(--navy);
    font-size:13px;
    font-weight:800;
  }
}

/* Uniform mobile service pages — mirrors the approved Website Design mobile system */
@media(max-width:680px){.service-hero{min-height:0;grid-template-columns:1fr;padding:65px 22px 75px;gap:48px}.service-hero h1{font-size:48px}.service-hero-lead{font-size:15px}.service-hero-visual{width:88%;justify-self:center}.uniform-service-page .service-hero-visual{width:91%;padding-right:12px}.uniform-service-page .service-phone{right:-2%;bottom:-9%;width:24%}.service-benefits{grid-template-columns:1fr;padding:25px 22px}.service-benefits article,.service-benefits article:first-child{padding:26px 0;border-right:0;border-bottom:1px solid rgba(9,47,77,.2)}.service-benefits article:last-child{border-bottom:0}.service-included,.service-feature,.service-faq{padding:64px 22px}.service-process{padding:48px 22px}.included-list{grid-template-columns:1fr;gap:12px}.included-list article{min-height:0}.process-grid{grid-template-columns:1fr 1fr;gap:24px 0}.process-grid article{min-height:0}.process-grid article:nth-child(odd){border-left:0;padding-left:0}.photo-stack img{height:240px}.photo-stack img+img{height:190px;margin-top:50px}.other-services{padding:45px 22px}.other-service-links{grid-template-columns:1fr}.other-service-links a{border-left:0;border-top:1px solid rgba(9,47,77,.2);padding-left:0}.service-quote{padding:38px 24px}.service-quote blockquote{font-size:18px}}
@media(max-width:680px){
  .uniform-service-page .service-included .included-list article{
    min-height:0;
    padding:24px 24px 25px !important;
  }
}
@media(max-width:680px){
  .uniform-service-page .service-included .service-section-title h2{font-size:42px}
  .uniform-service-page .service-phone{width:23%;border-radius:20px}
  .other-services{padding-top:42px;padding-bottom:42px}
  .other-service-links a{min-height:58px;padding:16px 0}
  .service-cta{min-height:0;padding:52px 22px;text-align:center}
  .service-cta h2{font-size:40px}.service-cta .button{width:100%;justify-self:stretch}
}
@media(max-width:680px){
  .uniform-service-page .service-hero-visual{width:96%;padding:0 8px 14px 0}
  .hero-device-stage{padding-top:4px}
  .uniform-service-page .hero-device-stage .service-device{width:93%;transform:none}
  .laptop-screen{padding:6px 6px 7px;border-radius:10px 10px 5px 5px}
  .uniform-service-page .laptop-screen>.browser-toolbar{height:20px;padding-left:7px}
  .uniform-service-page .laptop-screen>.browser-toolbar i{width:6px;height:6px}
  .laptop-base{height:14px}
  .uniform-service-page .hero-device-stage .service-phone{width:22%;padding:7px 4px 6px;border-radius:20px}
  .uniform-service-page .hero-device-stage .service-phone img{border-radius:14px}
  .uniform-service-page .hero-device-stage .dynamic-island{top:11px;height:7px}
}
@media(max-width:680px){
  .uniform-service-page .service-hero-visual{width:100%;padding:0}
  .hero-device-composite{width:106%;margin-left:-3%}
}
@media(max-width:680px){
  .uniform-service-page .service-hero{
    min-height:0;
    display:grid;
    grid-template-columns:minmax(0,44%) minmax(0,56%);
    grid-template-areas:
      "hero-eyebrow hero-eyebrow"
      "hero-title hero-title"
      "hero-lead hero-lead"
      "hero-note hero-visual"
      "hero-cta hero-cta";
    column-gap:12px;
    row-gap:0;
    align-items:center;
    padding:54px 20px 50px;
    background-position:58% center;
  }
  .uniform-service-page .service-hero-copy{
    display:contents;
  }
  .uniform-service-page .service-hero-copy>*{
    position:relative;
  }
  .uniform-service-page .service-hero-copy>.eyebrow{
    grid-area:hero-eyebrow;
    margin:0 0 18px;
  }
  .uniform-service-page .service-hero-copy>h1{
    grid-area:hero-title;
    margin:0 0 24px;
  }
  .uniform-service-page .service-hero-lead{
    grid-area:hero-lead;
    margin:0 0 22px;
    font-size:15px;
    line-height:1.58;
  }
  .uniform-service-page .service-hero-note{
    grid-area:hero-note;
    align-self:center;
    margin:0;
  }
  .uniform-service-page .desktop-service-hero-note{
    display:none;
  }
  .uniform-service-page .mobile-service-capabilities{
    display:flex;
    flex-direction:column;
    gap:14px;
  }
  .uniform-service-page .mobile-service-capabilities b{
    display:flex;
    align-items:center;
    gap:9px;
    color:#fff;
    font-size:10.5px;
    font-weight:700;
    line-height:1.15;
    letter-spacing:.1em;
    white-space:nowrap;
  }
  .uniform-service-page .mobile-service-capabilities b::before{
    content:"";
    flex:0 0 18px;
    width:18px;
    height:2px;
    background:var(--aqua);
  }
  .uniform-service-page .service-hero-visual{
    grid-area:hero-visual;
    align-self:center;
    justify-self:end;
    width:100%;
    padding:0;
  }
  .uniform-service-page .hero-device-composite{
    width:100%;
    max-width:none;
    margin:0;
    filter:drop-shadow(0 14px 16px rgba(0,0,0,.25));
  }
  .uniform-service-page .service-hero-cta{
    grid-area:hero-cta;
    justify-self:start;
    width:max-content;
    min-width:0;
    min-height:52px;
    margin-top:24px;
    padding:0 22px;
  }
}
@media(max-width:680px){
  .uniform-service-page .desktop-service-benefits{
    display:none;
  }
  .uniform-service-page .mobile-website-benefits{
    display:block;
    padding:54px 22px 56px;
    background:var(--cream);
    color:var(--navy);
  }
  .uniform-service-page .mobile-benefits-eyebrow{
    display:table;
    width:max-content;
    margin:0 0 24px;
    color:var(--navy);
    font-family:"Sora",sans-serif;
    font-size:13px;
    font-weight:800;
    line-height:1.2;
    letter-spacing:.17em;
    text-transform:uppercase;
  }
  .uniform-service-page .mobile-benefits-eyebrow::after{
    content:"";
    display:block;
    width:calc(100% - .17em);
    height:2px;
    margin-top:3px;
    background:var(--aqua);
  }
  .uniform-service-page .mobile-website-benefits>h2{
    max-width:330px;
    margin:0;
    color:var(--navy);
    font-family:"League Spartan",sans-serif;
    font-size:43px;
    font-weight:800;
    line-height:.94;
    letter-spacing:-.04em;
    text-transform:uppercase;
  }
  .uniform-service-page .mobile-benefits-intro{
    max-width:330px;
    margin:22px 0 29px;
    color:rgba(9,47,77,.72);
    font-size:15.5px;
    line-height:1.55;
  }
  .uniform-service-page .mobile-benefits-list article{
    display:grid;
    grid-template-columns:50px minmax(0,1fr);
    gap:14px;
    align-items:start;
    padding:20px 0;
  }
  .uniform-service-page .mobile-benefits-list article:first-child{
    padding-top:0;
  }
  .uniform-service-page .mobile-benefits-list article:last-child{
    padding-bottom:0;
  }
  .uniform-service-page .mobile-benefits-list article>svg{
    width:42px;
    height:42px;
    margin-top:1px;
    color:var(--aqua);
    fill:none;
    stroke:currentColor;
    stroke-width:1.15;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .uniform-service-page .mobile-benefits-list .benefit-polish-icon{
    width:46px;
    height:46px;
  }
  .uniform-service-page .mobile-benefits-list .benefit-handshake-icon{
    display:block;
    width:50px;
    height:auto;
    margin-top:4px;
    object-fit:contain;
  }
  .uniform-service-page .mobile-benefits-list .benefit-cursor-icon{
    width:42px;
    height:42px;
  }
  .uniform-service-page .mobile-benefits-list article>div{
    min-width:0;
    padding-bottom:20px;
    border-bottom:1px solid rgba(9,47,77,.24);
  }
  .uniform-service-page .mobile-benefits-list article:last-child>div{
    padding-bottom:0;
    border-bottom:0;
  }
  .uniform-service-page .mobile-benefits-list h3{
    margin:0 0 7px;
    color:var(--navy);
    font-family:"Sora",sans-serif;
    font-size:15px;
    font-weight:800;
    line-height:1.2;
    letter-spacing:-.02em;
    text-transform:uppercase;
  }
  .uniform-service-page .mobile-benefits-list article:last-child h3{
    font-size:13.75px;
    letter-spacing:-.035em;
  }
  .uniform-service-page .mobile-benefits-list p{
    margin:0;
    color:rgba(9,47,77,.72);
    font-size:14px;
    line-height:1.5;
  }
}
@media(max-width:680px){
  .uniform-service-page .desktop-web-process{display:none}
  .uniform-service-page .mobile-web-process{
    display:block;
    padding:48px 20px 46px;
    color:#fff;
    background:var(--navy);
  }
  .uniform-service-page .mobile-process-heading{
    max-width:560px;
  }
  .uniform-service-page .mobile-process-eyebrow{
    display:inline-block;
    margin:0;
    color:var(--aqua);
    font-family:"Sora",sans-serif;
    font-size:12px;
    font-weight:800;
    line-height:1.2;
    letter-spacing:.18em;
    text-transform:uppercase;
  }
  .uniform-service-page .mobile-process-eyebrow::after{
    content:"";
    display:block;
    width:48px;
    height:2px;
    margin-top:7px;
    background:var(--aqua);
  }
  .uniform-service-page .mobile-process-heading h2{
    max-width:360px;
    margin:27px 0 18px;
    color:#fff;
    font-family:"League Spartan",sans-serif;
    font-size:36px;
    font-weight:800;
    line-height:.96;
    letter-spacing:-.025em;
    text-transform:uppercase;
  }
  .uniform-service-page .mobile-process-heading>p:last-child{
    max-width:350px;
    margin:0;
    color:rgba(255,255,255,.72);
    font-size:15.5px;
    line-height:1.55;
  }
  .uniform-service-page .mobile-process-timeline{
    position:relative;
    display:grid;
    gap:27px;
    margin:31px 0 0;
    padding:0;
    list-style:none;
  }
  .uniform-service-page .mobile-process-timeline::before{
    content:"";
    position:absolute;
    top:20px;
    bottom:20px;
    left:21px;
    width:2px;
    background:var(--aqua);
  }
  .uniform-service-page .mobile-process-timeline li{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:44px minmax(0,1fr);
    gap:17px;
    align-items:start;
  }
  .uniform-service-page .mobile-process-timeline li>span{
    display:grid;
    width:44px;
    height:44px;
    place-items:center;
    border-radius:50%;
    color:var(--navy);
    background:var(--aqua);
    font-family:"League Spartan",sans-serif;
    font-size:20px;
    font-weight:800;
    line-height:1;
  }
  .uniform-service-page .mobile-process-timeline h3{
    margin:2px 0 6px;
    color:#fff;
    font-family:"Sora",sans-serif;
    font-size:14px;
    font-weight:800;
    line-height:1.25;
    text-transform:uppercase;
  }
  .uniform-service-page .mobile-process-timeline p{
    max-width:300px;
    margin:0;
    color:rgba(255,255,255,.72);
    font-size:14px;
    line-height:1.48;
  }
  .uniform-service-page .mobile-process-reassurance{
    max-width:350px;
    margin:31px 0 0;
    color:rgba(255,255,255,.72);
    font-size:14px;
    line-height:1.5;
  }
}
@media(max-width:680px){
  .uniform-service-page .desktop-web-included{display:none}
  .uniform-service-page .mobile-web-included{
    display:block;
    padding:48px 20px 50px;
    color:var(--navy);
    background:var(--cream);
  }
  .uniform-service-page .mobile-included-heading{
    max-width:560px;
  }
  .uniform-service-page .mobile-included-eyebrow{
    display:inline-block;
    margin:0;
    color:var(--navy);
    font-family:"Sora",sans-serif;
    font-size:12px;
    font-weight:800;
    line-height:1.2;
    letter-spacing:.18em;
    text-transform:uppercase;
  }
  .uniform-service-page .mobile-included-eyebrow::after{
    content:"";
    display:block;
    width:52px;
    height:2px;
    margin-top:7px;
    background:var(--aqua);
  }
  .uniform-service-page .mobile-included-heading h2{
    max-width:360px;
    margin:27px 0 17px;
    color:var(--navy);
    font-family:"League Spartan",sans-serif;
    font-size:36px;
    font-weight:800;
    line-height:.96;
    letter-spacing:-.025em;
    text-transform:uppercase;
  }
  .uniform-service-page .mobile-included-heading>p:last-child{
    max-width:355px;
    margin:0;
    color:rgba(9,47,77,.72);
    font-size:15.5px;
    line-height:1.52;
  }
  .uniform-service-page .mobile-included-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:repeat(3,1fr);
    gap:10px;
    margin-top:30px;
  }
  .uniform-service-page .mobile-included-grid article{
    display:flex;
    min-width:0;
    min-height:158px;
    flex-direction:column;
    align-items:flex-start;
    padding:16px 14px 15px;
    border:1px solid var(--navy);
    border-top:3px solid var(--aqua);
    border-radius:0;
    background:var(--paper);
  }
  .uniform-service-page .mobile-included-grid svg{
    display:block;
    width:27px;
    height:27px;
    flex:0 0 auto;
    color:var(--aqua);
    fill:none;
    stroke:currentColor;
    stroke-width:1.45;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .uniform-service-page .mobile-included-grid h3{
    margin:14px 0 6px;
    color:var(--navy);
    font-family:"Sora",sans-serif;
    font-size:11.5px;
    font-weight:800;
    line-height:1.25;
    letter-spacing:-.02em;
    text-transform:uppercase;
  }
  .uniform-service-page .mobile-included-grid p{
    margin:0;
    color:rgba(9,47,77,.72);
    font-size:11.75px;
    line-height:1.42;
  }
}
@media(max-width:680px){
  .uniform-service-page .desktop-web-case-study{display:none}
  .uniform-service-page .mobile-web-case-study{
    display:block;
    padding:40px 20px 38px;
    color:#fff;
    background:var(--navy);
  }
  .uniform-service-page .mobile-case-study-heading{
    max-width:560px;
  }
  .uniform-service-page .mobile-case-study-eyebrow{
    display:inline-block;
    margin:0;
    color:var(--aqua);
    font-family:"Sora",sans-serif;
    font-size:12px;
    font-weight:800;
    line-height:1.2;
    letter-spacing:.18em;
    text-transform:uppercase;
  }
  .uniform-service-page .mobile-case-study-eyebrow::after{
    content:"";
    display:block;
    width:52px;
    height:2px;
    margin-top:7px;
    background:var(--aqua);
  }
  .uniform-service-page .mobile-case-study-client{
    margin:18px 0 0;
    color:#fff;
    font-family:"Sora",sans-serif;
    font-size:11px;
    font-weight:800;
    line-height:1.3;
    letter-spacing:.13em;
    text-transform:uppercase;
  }
  .uniform-service-page .mobile-web-case-study h2{
    max-width:none;
    margin:16px 0 15px;
    color:#fff;
    font-family:"League Spartan",sans-serif;
    font-size:30px;
    font-weight:800;
    line-height:.98;
    letter-spacing:-.025em;
    text-transform:uppercase;
  }
  .uniform-service-page .mobile-case-study-intro{
    max-width:355px;
    margin:0;
    color:rgba(255,255,255,.76);
    font-size:15px;
    line-height:1.48;
  }
  .uniform-service-page .mobile-case-study-browser{
    width:100%;
    margin-top:28px;
    overflow:hidden;
    border-radius:6px;
    background:#dfe3e5;
    box-shadow:0 18px 34px rgba(0,0,0,.2);
  }
  .uniform-service-page .mobile-case-browser-toolbar{
    display:flex;
    height:24px;
    align-items:center;
    gap:5px;
    padding:0 10px;
    background:#e1e6e9;
  }
  .uniform-service-page .mobile-case-browser-toolbar i{
    width:7px;
    height:7px;
    border-radius:50%;
    background:#ff5f57;
  }
  .uniform-service-page .mobile-case-browser-toolbar i:nth-child(2){background:#febc2e}
  .uniform-service-page .mobile-case-browser-toolbar i:nth-child(3){background:#28c840}
  .uniform-service-page .mobile-case-study-browser img{
    display:block;
    width:100%;
    aspect-ratio:16/8.7;
    object-fit:cover;
    object-position:top;
  }
  .uniform-service-page .mobile-case-study-outcomes{
    display:grid;
    gap:11px;
    margin:21px 0 0;
    padding:0;
    list-style:none;
  }
  .uniform-service-page .mobile-case-study-outcomes li{
    display:grid;
    grid-template-columns:26px minmax(0,1fr);
    gap:11px;
    align-items:center;
    color:#fff;
    font-family:"Sora",sans-serif;
    font-size:11.5px;
    font-weight:800;
    line-height:1.3;
    letter-spacing:.04em;
    text-transform:uppercase;
  }
  .uniform-service-page .mobile-case-study-outcomes li::before{
    content:"✓";
    display:grid;
    width:26px;
    height:26px;
    place-items:center;
    border-radius:50%;
    color:var(--navy);
    background:var(--aqua);
    font-size:14px;
    font-weight:900;
    line-height:1;
  }
  .uniform-service-page .mobile-case-study-actions{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:9px;
    margin-top:22px;
  }
  .uniform-service-page .mobile-case-study-actions a{
    display:flex;
    min-width:0;
    min-height:49px;
    align-items:center;
    justify-content:center;
    gap:7px;
    padding:10px 9px;
    border:1px solid #fff;
    color:#fff;
    font-family:"Sora",sans-serif;
    font-size:11.5px;
    font-weight:800;
    line-height:1.15;
    letter-spacing:.04em;
    text-align:center;
    text-transform:uppercase;
    white-space:nowrap;
  }
  .uniform-service-page .mobile-case-study-actions .mobile-case-primary{
    border-color:var(--aqua);
    color:var(--navy);
    background:var(--aqua);
    font-size:11.5px;
    letter-spacing:.04em;
  }
  .uniform-service-page .mobile-case-study-actions span{
    flex:0 0 auto;
    font-size:15px;
    font-weight:500;
    line-height:1;
  }
}
@media (max-width:680px){
  .uniform-service-page .desktop-service-hero-lead{display:none}
  .uniform-service-page .mobile-service-hero-lead{display:inline}

  .uniform-service-page .service-hero{
    padding-bottom:42px;
    background-position:58% center;
  }

  .uniform-service-page .service-hero-lead{
    margin-bottom:18px;
    line-height:1.5;
  }

  .uniform-service-page .service-hero-visual{
    overflow:visible;
  }

  .uniform-service-page .mobile-client-proof{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:3px;
    width:100%;
    margin:0 0 7px 0;
    text-align:left;
  }

  .uniform-service-page .mobile-client-proof b{
    display:flex;
    align-items:center;
    gap:6px;
    color:var(--aqua);
    font-size:8px;
    font-weight:700;
    line-height:1.2;
    letter-spacing:.1em;
    text-transform:uppercase;
    white-space:nowrap;
  }

  .uniform-service-page .mobile-client-proof b::before{
    content:"";
    width:5px;
    height:5px;
    flex:0 0 5px;
    border-radius:50%;
    background:var(--aqua);
  }

  .uniform-service-page .mobile-client-proof span{
    color:#fff;
    font-size:9px;
    line-height:1.25;
    white-space:nowrap;
  }

  .uniform-service-page .hero-device-composite{
    width:112%;
    max-width:none;
    margin-left:-12%;
  }

  .uniform-service-page .service-hero-cta{
    min-height:44px;
    margin-top:18px;
    padding:0 14px;
    font-size:12px;
  }
}
@media (max-width:680px){
  .uniform-service-page .service-hero{
    grid-template-columns:minmax(0,1fr);
    grid-template-areas:
      "hero-eyebrow"
      "hero-title"
      "hero-lead"
      "hero-cta";
    padding:46px 20px 42px;
    background-position:58% center;
  }

  .uniform-service-page .service-hero-copy>.eyebrow{
    margin-bottom:16px;
  }

  .uniform-service-page .service-hero-copy>h1{
    margin-bottom:22px;
  }

  .uniform-service-page .service-hero-lead{
    margin-bottom:0;
  }

  .uniform-service-page .service-hero-note,
  .uniform-service-page .service-hero-visual{
    display:none;
  }

  .uniform-service-page .service-hero-cta{
    margin-top:22px;
  }

  .uniform-service-page .mobile-case-study-devices{
    display:flex;
    width:96%;
    max-width:560px;
    justify-content:center;
    margin:18px auto 0;
  }

  .uniform-service-page .mobile-case-study-devices img{
    display:block;
    width:100%;
    height:auto;
    filter:drop-shadow(0 18px 24px rgba(0,0,0,.28));
  }
}
@media(max-width:680px){
  .uniform-service-page .mobile-web-case-study{
    padding:40px 20px 42px;
  }

  .uniform-service-page .mobile-web-case-study h2{
    max-width:360px;
    margin:17px 0 16px;
    font-size:34px;
    line-height:.95;
  }

  .uniform-service-page .mobile-web-case-study h2 em{
    color:var(--aqua);
    font-style:normal;
  }

  .uniform-service-page .mobile-case-study-intro{
    max-width:365px;
  }

  .uniform-service-page .mobile-case-study-devices{
    position:relative;
    isolation:isolate;
    width:98%;
    max-width:560px;
    margin:14px auto 0;
  }

  .uniform-service-page .mobile-case-study-devices::before{
    content:"";
    position:absolute;
    z-index:0;
    left:50%;
    top:53%;
    width:160%;
    height:170%;
    border-radius:50%;
    transform:translate(-50%,-50%);
    background:radial-gradient(ellipse at center,rgba(23,184,195,.58) 0%,rgba(23,184,195,.36) 30%,rgba(23,184,195,.18) 42%,rgba(23,184,195,.03) 53%,rgba(23,184,195,0) 62%);
    filter:blur(12px);
    pointer-events:none;
  }

  .uniform-service-page .mobile-case-study-devices img{
    position:relative;
    z-index:1;
  }

  .uniform-service-page .mobile-case-study-results-label{
    margin:17px 0 0;
    color:var(--aqua);
    font-family:"Sora",sans-serif;
    font-size:11px;
    font-weight:800;
    line-height:1.2;
    letter-spacing:.18em;
    text-transform:uppercase;
  }

  .uniform-service-page .mobile-case-study-outcomes{
    gap:0;
    margin:8px 0 0;
    border-top:1px solid rgba(255,255,255,.13);
  }

  .uniform-service-page .mobile-case-study-outcomes li{
    min-height:49px;
    padding:11px 0;
    border-bottom:1px solid rgba(255,255,255,.13);
  }

  .uniform-service-page .mobile-case-study-outcomes li::before{
    width:24px;
    height:24px;
    font-size:13px;
  }

  .uniform-service-page .mobile-case-study-actions{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin-top:20px;
  }

  .uniform-service-page .mobile-case-study-actions a,
  .uniform-service-page .mobile-case-study-actions .mobile-case-primary{
    min-height:49px;
    padding:9px 7px;
    font-size:10.5px;
    letter-spacing:.025em;
  }
}
@media(max-width:680px){
  .uniform-service-page .mobile-case-study-devices{
    width:104%;
    margin-left:-2%;
    margin-right:-2%;
  }

  .uniform-service-page .mobile-case-study-results-label{
    margin-top:15px;
  }

  .uniform-service-page .mobile-case-study-actions{
    margin-top:18px;
  }
}
@media(max-width:680px){
  .uniform-service-page .mobile-case-study-actions .mobile-case-primary{
    font-size:11.5px;
  }
}
@media(max-width:380px){
  .uniform-service-page .mobile-process-heading h2{font-size:33px}
  .uniform-service-page .mobile-process-timeline{
    gap:24px;
  }
  .uniform-service-page .mobile-process-timeline li{
    grid-template-columns:40px minmax(0,1fr);
    gap:14px;
  }
  .uniform-service-page .mobile-process-timeline::before{left:19px}
  .uniform-service-page .mobile-process-timeline li>span{
    width:40px;
    height:40px;
    font-size:18px;
  }
  .uniform-service-page .mobile-process-timeline h3{font-size:13px}
  .uniform-service-page .mobile-process-timeline p,
  .uniform-service-page .mobile-process-reassurance{font-size:13.5px}
}
@media(max-width:380px){
  .uniform-service-page .mobile-included-heading h2{font-size:33px}
  .uniform-service-page .mobile-included-grid{
    gap:8px;
  }
  .uniform-service-page .mobile-included-grid article{
    min-height:154px;
    padding:14px 12px;
  }
  .uniform-service-page .mobile-included-grid svg{
    width:25px;
    height:25px;
  }
  .uniform-service-page .mobile-included-grid h3{
    margin-top:12px;
    font-size:10.5px;
  }
  .uniform-service-page .mobile-included-grid p{
    font-size:11.25px;
  }
}
@media(max-width:380px){
  .uniform-service-page .mobile-web-case-study h2{font-size:28px}
  .uniform-service-page .mobile-case-study-intro{font-size:14.5px}
  .uniform-service-page .mobile-case-study-outcomes li{font-size:10.75px}
  .uniform-service-page .mobile-case-study-actions{
    gap:8px;
  }
  .uniform-service-page .mobile-case-study-actions a{
    padding-inline:5px;
    font-size:9.5px;
    letter-spacing:.025em;
  }
}
@media(max-width:380px){
  .uniform-service-page .mobile-web-case-study h2{
    font-size:31px;
  }

  .uniform-service-page .mobile-case-study-actions a,
  .uniform-service-page .mobile-case-study-actions .mobile-case-primary{
    padding-inline:4px;
    font-size:9.25px;
    letter-spacing:.01em;
  }
}
@media(max-width:380px){
  .uniform-service-page .mobile-case-study-actions .mobile-case-primary{
    font-size:10.25px;
  }
}
@media(max-width:680px){
  .uniform-service-page .desktop-uniform-quote{display:none}
  .uniform-service-page .uniform-mobile-feature .uniform-feature-media img{max-height:270px;object-fit:contain}
  .uniform-service-page.photography-page .uniform-mobile-feature .uniform-feature-media img{max-height:300px;object-fit:cover;object-position:center;border-radius:2px}
  .uniform-service-page.marketing-page .uniform-mobile-feature .uniform-feature-media img{width:54%;max-height:220px;object-fit:contain}
}

/* Video page mobile benefits — approved compact concept */
@media(max-width:680px){
  .video-page .mobile-website-benefits{
    padding:46px 22px 42px;
  }
  .video-page .mobile-benefits-eyebrow{
    margin-bottom:24px;
  }
  .video-page .mobile-benefits-eyebrow::after{
    width:52px;
    margin-top:7px;
  }
  .video-page .mobile-website-benefits>h2{
    max-width:360px;
    font-size:43px;
    line-height:.94;
    letter-spacing:-.04em;
  }
  .video-page .mobile-benefits-intro{
    max-width:355px;
    margin:21px 0 25px;
    font-size:15.5px;
    line-height:1.55;
  }
  .video-page .mobile-benefits-list article{
    grid-template-columns:48px minmax(0,1fr);
    gap:18px;
    padding:17px 0;
  }
  .video-page .mobile-benefits-list article:first-child{
    padding-top:0;
  }
  .video-page .mobile-benefits-list article:last-child{
    padding-bottom:0;
  }
  .video-page .mobile-benefits-list article>svg,
  .video-page .mobile-benefits-list .video-benefit-story-icon,
  .video-page .mobile-benefits-list .video-benefit-play-icon,
  .video-page .mobile-benefits-list .video-benefit-recognition-icon{
    width:42px;
    height:42px;
    margin-top:1px;
    color:var(--aqua);
    fill:none;
    stroke:currentColor;
    stroke-width:2.1;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .video-page .mobile-benefits-list article>div{
    padding-bottom:17px;
    border-bottom:1px solid rgba(9,47,77,.2);
  }
  .video-page .mobile-benefits-list article:last-child>div{
    padding-bottom:0;
    border-bottom:0;
  }
  .video-page .mobile-benefits-list h3,
  .video-page .mobile-benefits-list article:last-child h3{
    margin-bottom:7px;
    font-size:15px;
    letter-spacing:-.025em;
  }
  .video-page .mobile-benefits-list p{
    font-size:14px;
    line-height:1.48;
  }
}
@media(max-width:380px){
  .video-page .mobile-website-benefits{
    padding:42px 20px 38px;
  }
  .video-page .mobile-website-benefits>h2{
    font-size:40px;
  }
  .video-page .mobile-benefits-list article{
    grid-template-columns:44px minmax(0,1fr);
    gap:15px;
  }
  .video-page .mobile-benefits-list article>svg,
  .video-page .mobile-benefits-list .video-benefit-story-icon,
  .video-page .mobile-benefits-list .video-benefit-play-icon,
  .video-page .mobile-benefits-list .video-benefit-recognition-icon{
    width:40px;
    height:40px;
  }
}

/* Video page mobile inclusions — approved compact 2x3 grid */
@media(max-width:680px){
  .video-page .mobile-web-included{
    padding:48px 20px 48px;
  }
  .video-page .mobile-included-grid{
    gap:9px;
    margin-top:27px;
  }
  .video-page .mobile-included-grid article{
    min-height:130px;
    padding:13px 12px 12px;
  }
  .video-page .mobile-included-grid svg,
  .video-page .video-included-grid svg{
    width:31px;
    height:31px;
    stroke-width:1.7;
  }
  .video-page .mobile-included-grid h3{
    margin:11px 0 5px;
    font-size:11.25px;
    line-height:1.2;
  }
  .video-page .mobile-included-grid p{
    font-size:11.25px;
    line-height:1.38;
  }
}
@media(max-width:380px){
  .video-page .mobile-web-included{
    padding:44px 18px 30px;
  }
  .video-page .mobile-included-grid{
    gap:8px;
    margin-top:25px;
  }
  .video-page .mobile-included-grid article{
    min-height:126px;
    padding:12px 10px 11px;
  }
  .video-page .mobile-included-grid svg,
  .video-page .video-included-grid svg{
    width:29px;
    height:29px;
  }
  .video-page .mobile-included-grid h3{
    margin-top:10px;
    font-size:10.25px;
  }
  .video-page .mobile-included-grid p{
    font-size:10.75px;
  }
}

@media(max-width:680px){.video-page .video-included-grid svg{stroke-width:2.2}}

/* Video mobile selected-work carousel — approved portfolio concept */
@media(max-width:680px){
  .video-page .video-selected-work{
    display:block;
    padding:46px 20px 44px;
    overflow:hidden;
    color:#fff;
    background:var(--navy);
  }
  .video-page .video-selected-work .mobile-case-study-heading{
    max-width:360px;
  }
  .video-page .video-selected-work .mobile-case-study-eyebrow{
    display:inline-block;
    margin:0;
    color:var(--aqua);
    font-family:"Sora",sans-serif;
    font-size:12px;
    font-weight:800;
    line-height:1.2;
    letter-spacing:.18em;
    text-transform:uppercase;
  }
  .video-page .video-selected-work .mobile-case-study-eyebrow::after{
    content:"";
    display:block;
    width:52px;
    height:2px;
    margin-top:7px;
    background:var(--aqua);
  }
  .video-page .video-selected-work h2{
    max-width:350px;
    margin:24px 0 16px;
    color:#fff;
    font-family:"League Spartan",sans-serif;
    font-size:35px;
    font-weight:800;
    line-height:.96;
    letter-spacing:-.035em;
    text-transform:uppercase;
  }
  .video-page .video-selected-work .mobile-case-study-intro{
    max-width:350px;
    margin:0;
    color:rgba(255,255,255,.75);
    font-size:15px;
    line-height:1.5;
  }
  .video-page .video-work-carousel{
    display:flex;
    gap:10px;
    margin:24px -20px 0 0;
    padding:0 20px 3px 0;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scroll-padding-left:0;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .video-page .video-work-carousel::-webkit-scrollbar{
    display:none;
  }
  .video-page .video-work-card{
    flex:0 0 calc(100% - 22px);
    min-width:0;
    scroll-snap-align:start;
  }
  .video-page .video-work-thumbnail{
    position:relative;
    aspect-ratio:16/9;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.2);
    background:#061c2b;
  }
  .video-page .video-work-thumbnail img,
  .video-page .video-work-thumbnail video{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    filter:brightness(.78) saturate(.92);
  }
  .video-page .video-work-play{
    position:absolute;
    top:50%;
    left:50%;
    display:grid;
    width:50px;
    height:50px;
    place-items:center;
    border-radius:50%;
    transform:translate(-50%,-50%);
    color:#fff;
    background:var(--aqua);
    font-size:17px;
    line-height:1;
    padding-left:3px;
    box-shadow:0 8px 20px rgba(0,0,0,.2);
  }
  .video-page .video-work-card h3{
    margin:13px 0 4px;
    color:#fff;
    font-family:"Sora",sans-serif;
    font-size:13px;
    font-weight:800;
    line-height:1.25;
    letter-spacing:.035em;
    text-transform:uppercase;
  }
  .video-page .video-work-card>p{
    margin:0;
    color:var(--aqua);
    font-family:"Sora",sans-serif;
    font-size:9px;
    font-weight:800;
    line-height:1.2;
    letter-spacing:.17em;
    text-transform:uppercase;
  }
  .video-page .video-work-navigation{
    display:flex;
    align-items:center;
    justify-content:center;
    margin-top:20px;
  }
  .video-page .video-work-arrows{
    display:flex;
    width:220px;
    max-width:100%;
    align-items:center;
    justify-content:space-between;
    gap:12px;
  }
  .video-page .video-work-arrows button{
    display:grid;
    width:40px;
    height:40px;
    flex:0 0 40px;
    place-items:center;
    padding:0;
    border:1px solid rgba(255,255,255,.82);
    color:#fff;
    background:transparent;
    cursor:pointer;
  }
  .video-page .video-work-arrows button svg{
    display:block;
    width:18px;
    height:18px;
    fill:none;
    stroke:currentColor;
    stroke-width:2.35;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .video-page .video-work-arrows button:hover,
  .video-page .video-work-arrows button:focus-visible{
    border-color:var(--aqua);
    color:var(--navy);
    background:var(--aqua);
  }
  .video-page .video-work-dots{
    display:flex;
    min-width:40px;
    align-items:center;
    justify-content:center;
    gap:5px;
  }
  .video-page .video-work-dots span{
    width:5px;
    height:5px;
    border-radius:50%;
    background:rgba(255,255,255,.45);
  }
  .video-page .video-work-dots .is-active{
    width:20px;
    border-radius:999px;
    background:var(--aqua);
  }
  .video-page .video-work-all{
    display:flex;
    width:220px;
    max-width:100%;
    min-height:52px;
    align-items:center;
    justify-content:center;
    margin:22px auto 0;
    padding:0 16px;
    border:1px solid var(--aqua);
    color:var(--navy);
    background:var(--aqua);
    font-family:"Sora",sans-serif;
    font-size:12px;
    font-weight:800;
    line-height:1;
    letter-spacing:.06em;
    text-align:center;
    text-transform:uppercase;
  }
}
@media(max-width:380px){
  .video-page .video-selected-work{
    padding:42px 20px;
  }
  .video-page .video-selected-work h2{
    font-size:33px;
  }
  .video-page .video-work-card{
    flex-basis:calc(100% - 20px);
  }
  .video-page .video-work-card h3{
    font-size:12px;
  }
}
@media(prefers-reduced-motion:reduce){
  .video-page .video-work-carousel{
    scroll-behavior:auto;
  }
}

/* Drive-backed selected video lightbox */
.video-page .video-work-open{
  display:block;
  width:100%;
  height:100%;
  margin:0;
  padding:0;
  border:0;
  color:inherit;
  background:transparent;
  cursor:pointer;
}
.video-page .video-work-open:focus-visible{
  outline:3px solid var(--aqua);
  outline-offset:3px;
}
.video-lightbox[hidden]{
  display:none;
}
.video-lightbox{
  position:fixed;
  inset:0;
  z-index:1000;
  display:grid;
  place-items:center;
  padding:20px;
  background:rgba(3,18,29,.92);
}
.video-lightbox-panel{
  position:relative;
  width:min(920px,100%);
  background:#061c2b;
  box-shadow:0 24px 80px rgba(0,0,0,.45);
}
.video-lightbox-frame{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  background:#000;
}
.video-lightbox-frame video{
  display:block;
  width:100%;
  height:100%;
  border:0;
}
.video-lightbox-close{
  position:absolute;
  top:-48px;
  right:0;
  display:grid;
  width:40px;
  height:40px;
  place-items:center;
  padding:0;
  border:1px solid rgba(255,255,255,.75);
  color:#fff;
  background:#092f4d;
  font-family:Arial,sans-serif;
  font-size:25px;
  line-height:1;
  cursor:pointer;
}
.video-lightbox-close:focus-visible{
  outline:3px solid var(--aqua);
  outline-offset:2px;
}
body.video-lightbox-open{
  overflow:hidden;
}


/* Compact video-page CTA on mobile */
@media(max-width:680px){
  .video-page .service-cta{
    gap:16px;
    padding:40px 22px 42px;
  }
  .video-page .service-cta h2{
    margin-bottom:10px;
  }
  .video-page .service-cta p{
    font-size:15px;
    line-height:1.5;
  }
  .video-page .service-cta .button{
    width:72%;
    max-width:245px;
    min-width:220px;
    min-height:50px;
    padding:0 16px;
  }
}


/* Final mobile video CTA alignment and line balance */
@media(max-width:680px){
  .video-page .service-cta h2{
    width:100%;
    max-width:none;
    margin:0 auto 10px;
    font-size:clamp(29px,8.4vw,33px);
    line-height:.98;
    text-align:center;
  }
  .video-page .service-cta h2 span{
    display:block;
    width:100%;
    white-space:nowrap;
    text-align:center;
  }
  .video-page .service-cta p{
    max-width:330px;
    margin-right:auto;
    margin-left:auto;
  }
  .video-page .service-cta .button{
    justify-self:center;
    margin-right:auto;
    margin-left:auto;
  }
}


/* Photography page mobile benefits — matched to video-page layout */
@media(max-width:680px){
  .photography-page .mobile-website-benefits{
    padding:46px 22px 42px;
  }
  .photography-page .mobile-benefits-eyebrow{
    margin-bottom:24px;
  }
  .photography-page .mobile-benefits-eyebrow::after{
    width:52px;
    margin-top:7px;
  }
  .photography-page .mobile-website-benefits>h2{
    max-width:360px;
    font-size:43px;
    line-height:.94;
    letter-spacing:-.04em;
  }
  .photography-page .mobile-website-benefits>h2 span{
    display:block;
    width:100%;
    white-space:nowrap;
  }
  .photography-page .mobile-benefits-intro{
    max-width:355px;
    margin:21px 0 25px;
    font-size:15.5px;
    line-height:1.55;
  }
  .photography-page .mobile-benefits-list article{
    grid-template-columns:48px minmax(0,1fr);
    gap:18px;
    padding:17px 0;
  }
  .photography-page .mobile-benefits-list article:first-child{
    padding-top:0;
  }
  .photography-page .mobile-benefits-list article:last-child{
    padding-bottom:0;
  }
  .photography-page .mobile-benefits-list article>svg{
    width:42px;
    height:42px;
    margin-top:1px;
    color:var(--aqua);
    fill:none;
    stroke:currentColor;
    stroke-width:2.1;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .photography-page .mobile-benefits-list article>div{
    padding-bottom:17px;
    border-bottom:1px solid rgba(9,47,77,.2);
  }
  .photography-page .mobile-benefits-list article:last-child>div{
    padding-bottom:0;
    border-bottom:0;
  }
  .photography-page .mobile-benefits-list h3,
  .photography-page .mobile-benefits-list article:last-child h3{
    margin-bottom:7px;
    font-size:15px;
    letter-spacing:-.025em;
  }
  .photography-page .mobile-benefits-list p{
    font-size:14px;
    line-height:1.48;
  }
}
@media(max-width:380px){
  .photography-page .mobile-website-benefits{
    padding:42px 20px 38px;
  }
  .photography-page .mobile-website-benefits>h2{
    font-size:40px;
  }
  .photography-page .mobile-benefits-list article{
    grid-template-columns:44px minmax(0,1fr);
    gap:15px;
  }
  .photography-page .mobile-benefits-list article>svg{
    width:40px;
    height:40px;
  }
}


/* Photography page mobile inclusions — matched to video-page card dimensions */
@media(max-width:680px){
  .photography-page .mobile-web-included{
    padding:48px 20px 48px;
  }
  .photography-page .mobile-included-grid{
    gap:9px;
    margin-top:27px;
  }
  .photography-page .mobile-included-grid article{
    min-height:130px;
    padding:13px 12px 12px;
  }
  .photography-page .mobile-included-grid svg{
    width:31px;
    height:31px;
    stroke-width:1.5;
  }
  .photography-page .mobile-included-grid h3{
    margin:11px 0 5px;
    font-size:11.25px;
    line-height:1.2;
  }
  .photography-page .mobile-included-grid p{
    font-size:11.25px;
    line-height:1.38;
  }
}
@media(max-width:380px){
  .photography-page .mobile-web-included{
    padding:44px 18px 30px;
  }
  .photography-page .mobile-included-grid{
    gap:8px;
    margin-top:25px;
  }
  .photography-page .mobile-included-grid article{
    min-height:126px;
    padding:12px 10px 11px;
  }
  .photography-page .mobile-included-grid svg{
    width:29px;
    height:29px;
  }
  .photography-page .mobile-included-grid h3{
    margin-top:10px;
    font-size:10.25px;
  }
  .photography-page .mobile-included-grid p{
    font-size:10.75px;
  }
}


/* Photography mobile editorial gallery */
@media(max-width:680px){
  .photography-page .photography-gallery{
    display:block;
    padding:46px 20px 44px;
    overflow:hidden;
    color:#fff;
    background:
      radial-gradient(ellipse at 52% 54%,rgba(23,184,195,.18) 0%,rgba(23,184,195,.08) 31%,rgba(23,184,195,0) 58%),
      var(--navy);
  }
  .photography-page .photography-gallery .mobile-case-study-heading{
    max-width:360px;
  }
  .photography-page .photography-gallery .mobile-case-study-eyebrow{
    display:inline-block;
    margin:0;
    color:var(--aqua);
    font-family:"Sora",sans-serif;
    font-size:12px;
    font-weight:800;
    line-height:1.2;
    letter-spacing:.18em;
    text-transform:uppercase;
  }
  .photography-page .photography-gallery .mobile-case-study-eyebrow::after{
    content:"";
    display:block;
    width:52px;
    height:2px;
    margin-top:7px;
    background:var(--aqua);
  }
  .photography-page .photography-gallery h2{
    width:100%;
    max-width:none;
    margin:24px 0 16px;
    color:#fff;
    font-family:"League Spartan",sans-serif;
    font-size:clamp(29px,8.4vw,32px);
    font-weight:800;
    line-height:.96;
    letter-spacing:-.035em;
    text-transform:uppercase;
  }
  .photography-page .photography-gallery h2 span{
    display:block;
    width:100%;
    white-space:nowrap;
  }
  .photography-page .photography-gallery h2 em{
    color:var(--aqua);
    font-style:normal;
  }
  .photography-page .photography-gallery .mobile-case-study-intro{
    max-width:350px;
    margin:0;
    color:rgba(255,255,255,.76);
    font-size:15px;
    line-height:1.5;
  }
  .photography-page .photo-gallery-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin-top:24px;
  }
  .photography-page .photo-gallery-item{
    position:relative;
    min-width:0;
    margin:0;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.17);
    background:#061c2b;
  }
  .photography-page .photo-gallery-item--wide{
    grid-column:1/-1;
    aspect-ratio:16/9;
  }
  .photography-page .photo-gallery-item--square{
    aspect-ratio:1/1;
  }
  .photography-page .photo-gallery-item img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
  }
  .photography-page .photo-gallery-item--people img{
    object-position:55% center;
  }
  .photography-page .photo-gallery-item--hospitality img{
    object-position:54% center;
  }
  .photography-page .photo-gallery-item--brand{
    background:
      radial-gradient(circle at 50% 52%,rgba(23,184,195,.24),rgba(6,28,43,0) 67%),
      #061c2b;
  }
  .photography-page .photo-gallery-item--brand img{
    object-fit:contain;
    padding:8px 10px 2px;
  }
  .photography-page .photo-gallery-item figcaption{
    position:absolute;
    right:0;
    bottom:0;
    left:0;
    padding:19px 8px 7px;
    color:var(--aqua);
    background:linear-gradient(transparent,rgba(3,18,29,.82));
    font-family:"Sora",sans-serif;
    font-size:9px;
    font-weight:800;
    line-height:1.2;
    letter-spacing:.17em;
    text-transform:uppercase;
  }
  .photography-page .photography-gallery .mobile-case-study-actions{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin-top:22px;
  }
  .photography-page .photography-gallery .mobile-case-study-actions a{
    display:flex;
    min-height:49px;
    align-items:center;
    justify-content:center;
    padding:9px 7px;
    font-family:"Sora",sans-serif;
    font-size:10.5px;
    font-weight:800;
    line-height:1;
    letter-spacing:.025em;
    text-align:center;
    text-transform:uppercase;
  }
}
@media(max-width:380px){
  .photography-page .photography-gallery{
    padding:42px 20px;
  }
  .photography-page .photography-gallery h2{
    font-size:29px;
  }
  .photography-page .photography-gallery .mobile-case-study-intro{
    font-size:14.5px;
  }
  .photography-page .photo-gallery-grid{
    gap:8px;
  }
  .photography-page .photography-gallery .mobile-case-study-actions{
    gap:8px;
  }
  .photography-page .photography-gallery .mobile-case-study-actions a{
    padding-inline:5px;
    font-size:9.5px;
  }
}


/* Website mobile inclusions — matched to service-page compact cards */
@media(max-width:680px){
  .web-design-page .mobile-web-included{
    padding:48px 20px 48px;
  }
  .web-design-page .mobile-included-grid{
    gap:9px;
    margin-top:27px;
  }
  .web-design-page .mobile-included-grid article{
    min-height:130px;
    padding:13px 12px 12px;
  }
  .web-design-page .mobile-included-grid svg{
    width:31px;
    height:31px;
  }
  .web-design-page .mobile-included-grid h3{
    margin:11px 0 5px;
    font-size:11.25px;
    line-height:1.2;
  }
  .web-design-page .mobile-included-grid p{
    font-size:11.25px;
    line-height:1.38;
  }
}
@media(max-width:380px){
  .web-design-page .mobile-web-included{
    padding:44px 18px 30px;
  }
  .web-design-page .mobile-included-grid{
    gap:8px;
    margin-top:25px;
  }
  .web-design-page .mobile-included-grid article{
    min-height:126px;
    padding:12px 10px 11px;
  }
  .web-design-page .mobile-included-grid svg{
    width:29px;
    height:29px;
  }
  .web-design-page .mobile-included-grid h3{
    margin-top:10px;
    font-size:10.25px;
  }
  .web-design-page .mobile-included-grid p{
    font-size:10.75px;
  }
}


/* Marketing page mobile benefits — matched to service-page layout */
@media(max-width:680px){
  .marketing-page .mobile-website-benefits{
    padding:46px 22px 42px;
  }
  .marketing-page .mobile-benefits-eyebrow{
    margin-bottom:24px;
  }
  .marketing-page .mobile-benefits-eyebrow::after{
    width:52px;
    margin-top:7px;
  }
  .marketing-page .mobile-website-benefits>h2{
    max-width:360px;
    font-size:43px;
    line-height:.94;
    letter-spacing:-.04em;
  }
  .marketing-page .mobile-website-benefits>h2 span{
    display:block;
    width:100%;
    white-space:nowrap;
  }
  .marketing-page .mobile-benefits-intro{
    max-width:355px;
    margin:21px 0 25px;
    font-size:15.5px;
    line-height:1.55;
  }
  .marketing-page .mobile-benefits-list article{
    grid-template-columns:48px minmax(0,1fr);
    gap:18px;
    padding:17px 0;
  }
  .marketing-page .mobile-benefits-list article:first-child{
    padding-top:0;
  }
  .marketing-page .mobile-benefits-list article:last-child{
    padding-bottom:0;
  }
  .marketing-page .mobile-benefits-list article>svg{
    width:42px;
    height:42px;
    margin-top:1px;
    color:var(--aqua);
    fill:none;
    stroke:currentColor;
    stroke-width:2.1;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .marketing-page .mobile-benefits-list article>div{
    padding-bottom:17px;
    border-bottom:1px solid rgba(9,47,77,.2);
  }
  .marketing-page .mobile-benefits-list article:last-child>div{
    padding-bottom:0;
    border-bottom:0;
  }
  .marketing-page .mobile-benefits-list h3,
  .marketing-page .mobile-benefits-list article:last-child h3{
    margin-bottom:7px;
    font-size:15px;
    letter-spacing:-.025em;
  }
  .marketing-page .mobile-benefits-list p{
    font-size:14px;
    line-height:1.48;
  }
}
@media(max-width:380px){
  .marketing-page .mobile-website-benefits{
    padding:42px 20px 38px;
  }
  .marketing-page .mobile-website-benefits>h2{
    font-size:40px;
  }
  .marketing-page .mobile-benefits-list article{
    grid-template-columns:44px minmax(0,1fr);
    gap:15px;
  }
  .marketing-page .mobile-benefits-list article>svg{
    width:40px;
    height:40px;
  }
}


/* Marketing mobile inclusions — matched to service-page compact cards */
@media(max-width:680px){
  .marketing-page .mobile-web-included{
    padding:48px 20px 48px;
  }
  .marketing-page .mobile-included-heading h2 span{
    display:block;
    width:100%;
    white-space:nowrap;
  }
  .marketing-page .mobile-included-grid{
    gap:9px;
    margin-top:27px;
  }
  .marketing-page .mobile-included-grid article{
    min-height:130px;
    padding:13px 12px 12px;
  }
  .marketing-page .mobile-included-grid svg{
    width:31px;
    height:31px;
    stroke-width:1.6;
  }
  .marketing-page .mobile-included-grid h3{
    margin:11px 0 5px;
    font-size:11.25px;
    line-height:1.2;
  }
  .marketing-page .mobile-included-grid p{
    font-size:11.25px;
    line-height:1.38;
  }
}
@media(max-width:380px){
  .marketing-page .mobile-web-included{
    padding:44px 18px 30px;
  }
  .marketing-page .mobile-included-grid{
    gap:8px;
    margin-top:25px;
  }
  .marketing-page .mobile-included-grid article{
    min-height:126px;
    padding:12px 10px 11px;
  }
  .marketing-page .mobile-included-grid svg{
    width:29px;
    height:29px;
  }
  .marketing-page .mobile-included-grid h3{
    margin-top:10px;
    font-size:10.25px;
  }
  .marketing-page .mobile-included-grid p{
    font-size:10.75px;
  }
}


/* Marketing mobile featured case study */
@media(max-width:680px){
  .marketing-page .marketing-case-study{
    display:block;
    padding:46px 20px 44px;
    color:#fff;
    background:var(--navy);
  }
  .marketing-page .marketing-case-study .mobile-case-study-heading{
    max-width:370px;
  }
  .marketing-page .marketing-case-study .mobile-case-study-eyebrow{
    display:inline-block;
    margin:0;
    color:var(--aqua);
    font-family:"Sora",sans-serif;
    font-size:12px;
    font-weight:800;
    line-height:1.2;
    letter-spacing:.18em;
    text-transform:uppercase;
  }
  .marketing-page .marketing-case-study .mobile-case-study-eyebrow::after{
    content:"";
    display:block;
    width:52px;
    height:2px;
    margin-top:7px;
    background:var(--aqua);
  }
  .marketing-page .marketing-case-study .mobile-case-study-client{
    margin:18px 0 0;
    color:#fff;
    font-family:"Sora",sans-serif;
    font-size:11px;
    font-weight:800;
    line-height:1.3;
    letter-spacing:.13em;
    text-transform:uppercase;
  }
  .marketing-page .marketing-case-study h2{
    max-width:365px;
    margin:16px 0 15px;
    color:#fff;
    font-family:"League Spartan",sans-serif;
    font-size:35px;
    font-weight:800;
    line-height:.96;
    letter-spacing:-.035em;
    text-transform:uppercase;
  }
  .marketing-page .marketing-case-study h2 em{
    display:block;
    color:var(--aqua);
    font-style:normal;
  }
  .marketing-page .marketing-case-study .mobile-case-study-intro{
    max-width:360px;
    margin:0;
    color:rgba(255,255,255,.76);
    font-size:15px;
    line-height:1.5;
  }
  .marketing-page .marketing-case-card{
    margin-top:25px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.22);
    color:var(--navy);
    background:var(--cream);
  }
  .marketing-page .marketing-case-visual{
    display:grid;
    min-height:205px;
    padding:14px 10px 8px;
    place-items:center;
    border-bottom:1px solid rgba(9,47,77,.16);
    background:#f7f4ee;
  }
  .marketing-page .marketing-case-visual img{
    display:block;
    width:100%;
    max-height:205px;
    object-fit:contain;
    filter:none;
  }
  .marketing-page .marketing-case-detail{
    display:grid;
    grid-template-columns:88px minmax(0,1fr);
    gap:12px;
    padding:13px 14px;
    border-bottom:1px solid rgba(9,47,77,.16);
  }
  .marketing-page .marketing-case-detail b,
  .marketing-page .marketing-case-results>p{
    margin:0;
    color:var(--aqua);
    font-family:"Sora",sans-serif;
    font-size:9px;
    font-weight:800;
    line-height:1.35;
    letter-spacing:.1em;
    text-transform:uppercase;
  }
  .marketing-page .marketing-case-detail span{
    color:rgba(9,47,77,.78);
    font-size:11.5px;
    line-height:1.42;
  }
  .marketing-page .marketing-case-results{
    padding:13px 14px 15px;
  }
  .marketing-page .marketing-case-results>p{
    margin-bottom:10px;
  }
  .marketing-page .marketing-case-metrics{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0;
  }
  .marketing-page .marketing-case-metric{
    min-width:0;
    padding-right:10px;
  }
  .marketing-page .marketing-case-metric+ .marketing-case-metric{
    padding-right:0;
    padding-left:12px;
    border-left:1px solid rgba(9,47,77,.2);
  }
  .marketing-page .marketing-case-metric strong{
    display:block;
    color:var(--navy);
    font-family:"League Spartan",sans-serif;
    font-size:17px;
    font-weight:800;
    line-height:1;
    text-transform:uppercase;
  }
  .marketing-page .marketing-case-metric span{
    display:block;
    margin-top:5px;
    color:rgba(9,47,77,.68);
    font-family:"Sora",sans-serif;
    font-size:8.5px;
    font-weight:800;
    line-height:1.3;
    letter-spacing:.08em;
    text-transform:uppercase;
  }
  .marketing-page .marketing-case-study .mobile-case-study-actions{
    display:block;
    width:min(100%,270px);
    margin:22px auto 0;
  }
  .marketing-page .marketing-case-study .mobile-case-study-actions a,
  .marketing-page .marketing-case-study .mobile-case-study-actions .mobile-case-primary{
    display:flex;
    width:100%;
    min-height:52px;
    align-items:center;
    justify-content:center;
    padding:10px 16px;
    border:1px solid var(--aqua);
    color:var(--navy);
    background:var(--aqua);
    font-family:"Sora",sans-serif;
    font-size:11px;
    font-weight:800;
    line-height:1.15;
    letter-spacing:.04em;
    text-align:center;
    text-transform:uppercase;
  }
}
@media(max-width:380px){
  .marketing-page .marketing-case-study{
    padding:42px 18px 40px;
  }
  .marketing-page .marketing-case-study h2{
    font-size:32px;
  }
  .marketing-page .marketing-case-study .mobile-case-study-intro{
    font-size:14.5px;
  }
  .marketing-page .marketing-case-visual{
    min-height:188px;
  }
  .marketing-page .marketing-case-visual img{
    max-height:188px;
  }
  .marketing-page .marketing-case-detail{
    grid-template-columns:80px minmax(0,1fr);
    gap:10px;
    padding-inline:12px;
  }
}


/* Marketing case-study carousel framework */
@media(max-width:680px){
  .marketing-page .marketing-case-study{
    overflow:hidden;
  }
  .marketing-page .marketing-case-study .marketing-case-section-heading{
    max-width:370px;
  }
  .marketing-page .marketing-case-study .marketing-case-section-heading h2{
    max-width:360px;
    margin:24px 0 15px;
  }
  .marketing-page .marketing-case-study .marketing-case-section-heading h2 em{
    display:block;
  }
  .marketing-page .marketing-case-carousel{
    display:grid;
    grid-auto-columns:100%;
    grid-auto-flow:column;
    gap:12px;
    width:100%;
    margin-top:25px;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .marketing-page .marketing-case-carousel::-webkit-scrollbar{
    display:none;
  }
  .marketing-page .marketing-case-carousel.is-multiple{
    grid-auto-columns:calc(100% - 26px);
  }
  .marketing-page .marketing-case-slide{
    min-width:0;
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }
  .marketing-page .marketing-case-card{
    margin-top:0;
  }
  .marketing-page .marketing-case-card-head{
    display:flex;
    min-height:58px;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:12px 14px;
    border-bottom:1px solid rgba(9,47,77,.16);
  }
  .marketing-page .marketing-case-card-head b,
  .marketing-page .marketing-case-card-head span{
    display:block;
    font-family:"Sora",sans-serif;
    font-weight:800;
    text-transform:uppercase;
  }
  .marketing-page .marketing-case-card-head b{
    color:var(--navy);
    font-size:11px;
    line-height:1.25;
    letter-spacing:.04em;
  }
  .marketing-page .marketing-case-card-head span{
    margin-top:4px;
    color:var(--aqua);
    font-size:8.5px;
    line-height:1.25;
    letter-spacing:.1em;
  }
  .marketing-page .marketing-case-status{
    flex:0 0 auto;
    padding:5px 7px;
    border:1px solid rgba(9,47,77,.22);
    color:rgba(9,47,77,.64);
    font-family:"Sora",sans-serif;
    font-size:7.5px;
    font-weight:800;
    line-height:1;
    letter-spacing:.08em;
    text-transform:uppercase;
  }
  .marketing-page .marketing-case-controls{
    display:flex;
    width:min(100%,270px);
    align-items:center;
    justify-content:space-between;
    margin:18px auto 0;
  }
  .marketing-page .marketing-case-controls[hidden]{
    display:none;
  }
  .marketing-page .marketing-case-controls button{
    display:grid;
    width:44px;
    height:44px;
    padding:0;
    place-items:center;
    border:1px solid rgba(255,255,255,.72);
    border-radius:0;
    color:#fff;
    background:transparent;
    font:inherit;
    cursor:pointer;
  }
  .marketing-page .marketing-case-controls button[aria-disabled="false"]:active{
    color:var(--navy);
    border-color:var(--aqua);
    background:var(--aqua);
  }
  .marketing-page .marketing-case-controls button[aria-disabled="true"]{
    opacity:.42;
  }
  .marketing-page .marketing-case-controls svg{
    width:18px;
    height:18px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .marketing-page .marketing-case-dots{
    display:flex;
    min-width:70px;
    align-items:center;
    justify-content:center;
    gap:8px;
  }
  .marketing-page .marketing-case-dots button{
    width:7px;
    height:7px;
    min-height:0;
    padding:0;
    border:0;
    border-radius:50%;
    background:rgba(255,255,255,.32);
  }
  .marketing-page .marketing-case-dots button.is-active{
    width:24px;
    border-radius:999px;
    background:var(--aqua);
  }
  .marketing-page .marketing-case-study .mobile-case-study-actions{
    margin-top:20px;
  }
}
@media(max-width:380px){
  .marketing-page .marketing-case-study .marketing-case-section-heading h2{
    font-size:32px;
  }
  .marketing-page .marketing-case-card-head{
    min-height:55px;
    padding-inline:12px;
  }
}


/* Temporary marketing carousel case-study slots */
@media(max-width:680px){
  .marketing-page .marketing-case-slide.is-placeholder .marketing-case-visual{
    position:relative;
    padding:0;
    overflow:hidden;
    background:#0b3a5d;
  }
  .marketing-page .marketing-case-slide.is-placeholder .marketing-case-visual img{
    width:100%;
    height:205px;
    max-height:none;
    object-fit:cover;
    opacity:.72;
  }
  .marketing-page .marketing-case-coming-soon{
    position:absolute;
    right:12px;
    bottom:12px;
    left:12px;
    padding:10px 12px;
    color:#fff;
    background:rgba(9,47,77,.9);
    font-family:"Sora",sans-serif;
    font-size:9px;
    font-weight:800;
    line-height:1.35;
    letter-spacing:.09em;
    text-align:center;
    text-transform:uppercase;
  }
}
@media(max-width:380px){
  .marketing-page .marketing-case-slide.is-placeholder .marketing-case-visual img{
    height:188px;
  }
}


/* Marketing case studies — verified mobile data */
@media(max-width:680px){
  .marketing-page .marketing-case-partner{
    max-width:360px;
    margin:14px 0 0;
    padding-left:11px;
    border-left:2px solid var(--aqua);
    color:rgba(255,255,255,.68);
    font-family:"Sora",sans-serif;
    font-size:10.5px;
    line-height:1.55;
  }
  .marketing-page .marketing-case-partner strong{
    color:#fff;
    font-weight:700;
  }
  .marketing-page .marketing-case-visual--pending{
    position:relative;
    display:flex;
    min-height:205px;
    align-items:flex-start;
    justify-content:flex-end;
    padding:22px 18px 17px;
    overflow:hidden;
    color:#fff;
    background:
      linear-gradient(135deg,rgba(23,184,195,.2),transparent 52%),
      repeating-linear-gradient(135deg,transparent 0 22px,rgba(255,255,255,.025) 22px 23px),
      #0a3656;
  }
  .marketing-page .marketing-case-visual--pending::after{
    content:"";
    position:absolute;
    right:-32px;
    bottom:-54px;
    width:180px;
    height:180px;
    border:1px solid rgba(23,184,195,.34);
    transform:rotate(45deg);
  }
  .marketing-page .marketing-case-media-kicker,
  .marketing-page .marketing-case-visual--pending small{
    position:relative;
    z-index:1;
    color:var(--aqua);
    font-family:"Sora",sans-serif;
    font-size:8px;
    font-weight:800;
    line-height:1.35;
    letter-spacing:.12em;
    text-transform:uppercase;
  }
  .marketing-page .marketing-case-visual--pending strong{
    position:relative;
    z-index:1;
    margin:auto 0;
    align-self:center;
    color:#fff;
    font-family:"League Spartan",sans-serif;
    font-size:42px;
    font-weight:800;
    line-height:.84;
    letter-spacing:-.04em;
    text-align:right;
    text-transform:uppercase;
  }
  .marketing-page .marketing-case-visual--pending small{
    color:rgba(255,255,255,.5);
  }
  .marketing-page .marketing-case-metric strong{
    font-size:19px;
    white-space:nowrap;
  }
  .marketing-page .marketing-case-summary{
    margin:13px 0 0;
    padding-top:12px;
    border-top:1px solid rgba(9,47,77,.16);
    color:rgba(9,47,77,.82);
    font-size:11px;
    line-height:1.48;
  }
  .marketing-page .marketing-case-source{
    display:block;
    margin-top:9px;
    color:rgba(9,47,77,.56);
    font-size:8px;
    font-style:italic;
    line-height:1.45;
  }
}
@media(max-width:380px){
  .marketing-page .marketing-case-visual--pending{
    min-height:188px;
    padding:19px 15px 15px;
  }
  .marketing-page .marketing-case-visual--pending strong{
    font-size:38px;
  }
  .marketing-page .marketing-case-metric strong{
    font-size:17px;
  }
}

/* Marketing case-study card equalization */
@media(max-width:680px){
  .marketing-page .marketing-case-carousel{
    align-items:stretch;
  }
  .marketing-page .marketing-case-slide{
    display:flex;
    height:auto;
  }
  .marketing-page .marketing-case-card{
    display:flex;
    width:100%;
    height:100%;
    flex-direction:column;
  }
  .marketing-page .marketing-case-card-head{
    flex:0 0 66px;
  }
  .marketing-page .marketing-case-visual--pending{
    flex:0 0 205px;
  }
  .marketing-page .marketing-case-visual--pending strong{
    max-width:100%;
    font-size:clamp(34px,10vw,42px);
  }
  .marketing-page .marketing-case-detail{
    flex:0 0 96px;
    align-content:center;
  }
  .marketing-page .marketing-case-results{
    display:flex;
    flex:1 1 auto;
    flex-direction:column;
  }
  .marketing-page .marketing-case-source{
    margin-top:auto;
    padding-top:10px;
  }
}
@media(max-width:380px){
  .marketing-page .marketing-case-card-head{
    flex-basis:62px;
  }
  .marketing-page .marketing-case-visual--pending{
    flex-basis:188px;
  }
  .marketing-page .marketing-case-detail{
    flex-basis:98px;
  }
}

/* Photography mobile CTA — balanced two-line heading */
@media(max-width:680px){
  .photography-page .service-cta{
    gap:18px;
    padding:44px 22px 46px;
  }
  .photography-page .service-cta h2{
    width:100%;
    max-width:none;
    margin:0 auto 10px;
    font-size:clamp(29px,8.4vw,33px);
    line-height:.98;
    letter-spacing:-.025em;
    text-align:center;
  }
  .photography-page .service-cta h2 span{
    display:block;
    width:100%;
    white-space:nowrap;
    text-align:center;
  }
  .photography-page .service-cta p{
    max-width:335px;
    margin-right:auto;
    margin-left:auto;
    font-size:15px;
    line-height:1.5;
  }
}


/* Photography mobile CTA — added horizontal breathing room */
@media(max-width:680px){
  .photography-page .service-cta h2{
    max-width:350px;
    padding-right:6px;
    padding-left:6px;
    font-size:clamp(29px,8vw,31.5px);
  }
}


/* Photography mobile CTA — true centered line widths */
@media(max-width:680px){
  .photography-page .service-cta h2{
    width:100%;
    max-width:none;
    padding-right:0;
    padding-left:0;
    font-size:clamp(26.5px,7.6vw,30px);
    text-align:center;
  }
  .photography-page .service-cta h2 span{
    display:table;
    width:auto;
    max-width:100%;
    margin-right:auto;
    margin-left:auto;
    white-space:nowrap;
    text-align:center;
  }
}


/* Website CTA — balanced mobile heading with desktop copy preserved */
.web-design-page .web-cta-mobile-title{
  display:none;
}
@media(max-width:680px){
  .web-design-page .service-cta{
    gap:18px;
    padding:44px 22px 46px;
  }
  .web-design-page .service-cta h2{
    width:100%;
    max-width:none;
    margin:0 auto 10px;
    padding:0;
    font-size:clamp(28px,7.9vw,31px);
    line-height:.98;
    letter-spacing:-.025em;
    text-align:center;
  }
  .web-design-page .web-cta-desktop-title{
    display:none;
  }
  .web-design-page .web-cta-mobile-title{
    display:block;
    width:100%;
  }
  .web-design-page .web-cta-mobile-title>span{
    display:table;
    width:auto;
    max-width:100%;
    margin-right:auto;
    margin-left:auto;
    white-space:nowrap;
    text-align:center;
  }
  .web-design-page .service-cta p{
    max-width:335px;
    margin-right:auto;
    margin-left:auto;
    font-size:15px;
    line-height:1.5;
  }
}


/* Marketing CTA — balanced mobile heading with desktop copy preserved */
.marketing-page .marketing-cta-mobile-title{
  display:none;
}
@media(max-width:680px){
  .marketing-page .service-cta{
    gap:18px;
    padding:44px 22px 46px;
  }
  .marketing-page .service-cta h2{
    width:100%;
    max-width:none;
    margin:0 auto 10px;
    padding:0;
    font-size:clamp(27px,7.7vw,30.5px);
    line-height:.98;
    letter-spacing:-.025em;
    text-align:center;
  }
  .marketing-page .marketing-cta-desktop-title{
    display:none;
  }
  .marketing-page .marketing-cta-mobile-title{
    display:block;
    width:100%;
  }
  .marketing-page .marketing-cta-mobile-title>span{
    display:table;
    width:auto;
    max-width:100%;
    margin-right:auto;
    margin-left:auto;
    white-space:nowrap;
    text-align:center;
  }
  .marketing-page .service-cta p{
    max-width:335px;
    margin-right:auto;
    margin-left:auto;
    font-size:15px;
    line-height:1.5;
  }
}


/* Uniform mobile CTA buttons — matched exactly to video service page */
@media(max-width:680px){
  .web-design-page .service-cta .button,
  .photography-page .service-cta .button,
  .marketing-page .service-cta .button{
    width:72%;
    max-width:245px;
    min-width:220px;
    min-height:50px;
    justify-self:center;
    margin-right:auto;
    margin-left:auto;
    padding:0 16px;
  }
}


/* Global responsive header controls — language, phone, and three-line menu */
.mobile-header-actions{display:none}
@media(max-width:980px){
  .mobile-header-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:6px;
  }
  .language-switcher{
    display:flex;
    width:68px;
    height:32px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.32);
    border-radius:4px;
  }
  .language-option{
    display:grid;
    flex:1 1 50%;
    min-width:0;
    place-items:center;
    color:rgba(255,255,255,.72);
    font-family:"Sora",sans-serif;
    font-size:9px;
    font-weight:800;
    line-height:1;
    letter-spacing:.04em;
  }
  .language-option.is-active{
    color:var(--ink);
    background:var(--aqua);
  }
  .mobile-call-link,
  .menu-toggle{
    display:grid;
    width:38px;
    height:42px;
    flex:0 0 auto;
    place-content:center;
    padding:0;
  }
  .mobile-call-link{
    color:var(--aqua);
  }
  .mobile-call-link svg{
    width:20px;
    height:20px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .menu-toggle{
    gap:5px;
  }
  .menu-toggle span{
    display:block;
    width:25px;
    height:1px;
    margin:0;
    background:#fff;
    transition:transform .2s ease,opacity .2s ease;
  }
  .menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
  .menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
}
@media(max-width:680px){
  .site-header{
    padding-right:12px;
    padding-left:12px;
  }
  .brand{
    min-width:0;
    gap:8px;
  }
  .brand img{
    width:35px;
    height:35px;
    flex:0 0 35px;
  }
  .brand b{
    font-size:14px;
    white-space:nowrap;
  }
  .brand small{
    font-size:5.8px;
    white-space:nowrap;
  }
  .mobile-header-actions{
    grid-column:2;
    gap:4px;
  }
  .language-switcher{
    width:64px;
    height:31px;
  }
  .mobile-call-link,
  .menu-toggle{
    width:34px;
    height:40px;
  }
  .menu-toggle span{
    width:23px;
  }
}
@media(max-width:365px){
  .brand small{display:none}
  .brand b{font-size:13px}
  .language-switcher{width:60px}
  .mobile-header-actions{gap:2px}
}


/* Mobile header refinement — remove crowded phone control */
@media(max-width:980px){
  .mobile-call-link{display:none}
  .mobile-header-actions{gap:8px}
}
@media(max-width:680px){
  .mobile-header-actions{gap:6px}
}


/* Mobile scroll-aware conversion bar */
.mobile-conversion-bar{display:none}
@media(max-width:680px){
  .mobile-conversion-bar{
    position:fixed;
    right:0;
    bottom:0;
    left:0;
    z-index:60;
    display:block;
    padding:8px 12px calc(8px + env(safe-area-inset-bottom));
    border-top:1px solid rgba(9,47,77,.16);
    background:rgba(251,250,247,.97);
    box-shadow:0 -8px 24px rgba(6,28,43,.13);
    opacity:0;
    transform:translateY(calc(100% + 18px));
    pointer-events:none;
    transition:transform .24s ease,opacity .2s ease;
  }
  .mobile-conversion-bar.is-visible{
    opacity:1;
    transform:translateY(0);
    pointer-events:auto;
  }
  .mobile-conversion-bar__inner{
    display:grid;
    grid-template-columns:1fr 1.35fr;
    gap:8px;
    width:100%;
    max-width:430px;
    margin:0 auto;
  }
  .mobile-conversion-bar a{
    display:flex;
    min-width:0;
    min-height:52px;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:0 12px;
    border:1px solid var(--navy);
    color:var(--navy);
    background:var(--paper);
    font-family:"Sora",sans-serif;
    font-size:11px;
    font-weight:800;
    line-height:1;
    letter-spacing:.04em;
    text-align:center;
    text-transform:uppercase;
  }
  .mobile-conversion-bar a:last-child{
    border-color:var(--navy);
    color:#fff;
    background:var(--navy);
  }
  .mobile-conversion-bar svg{
    width:19px;
    height:19px;
    flex:0 0 auto;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
}
@media(prefers-reduced-motion:reduce){
  .mobile-conversion-bar{transition:none}
}


/* Mobile footer clearance for persistent conversion bar */
@media(max-width:680px){
  footer{
    padding-bottom:calc(100px + env(safe-area-inset-bottom));
  }
}


/* Homepage mobile contact phone icon */
@media(max-width:680px){
  .contact .mobile-contact-button{
    gap:9px;
  }
  .contact .mobile-contact-button svg{
    width:18px;
    height:18px;
    flex:0 0 auto;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
}


/* Homepage mobile featured-work carousel */
.mobile-work-summary,
.mobile-work-dots,
.work-play-mark{
  display:none;
}
@media(max-width:680px){
  .work-preview{
    padding:58px 20px 62px;
    overflow:hidden;
  }
  .work-heading{
    max-width:370px;
    margin-bottom:28px;
  }
  .work-heading .eyebrow{
    display:inline-block;
    margin-bottom:24px;
  }
  .work-heading .eyebrow::after{
    content:"";
    display:block;
    width:52px;
    height:2px;
    margin-top:7px;
    background:var(--aqua);
  }
  .work-heading h2{
    font-family:"League Spartan",sans-serif;
    font-size:clamp(30px,8.2vw,33px);
    line-height:.96;
    letter-spacing:-.035em;
  }
  .work-heading>p{
    max-width:350px;
    margin-top:19px;
    font-size:14.5px;
    line-height:1.5;
  }
  .work-grid.home-work-carousel{
    display:grid;
    grid-auto-columns:calc(100% - 48px);
    grid-auto-flow:column;
    grid-template-columns:none;
    gap:12px;
    width:calc(100% + 20px);
    margin-right:-20px;
    padding-right:20px;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-padding-inline:0 20px;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .work-grid.home-work-carousel::-webkit-scrollbar{
    display:none;
  }
  .work-grid.home-work-carousel article,
  .work-grid.home-work-carousel article:last-child{
    display:flex;
    min-width:0;
    min-height:430px;
    grid-column:auto;
    flex-direction:column;
    overflow:hidden;
    border:1px solid rgba(9,47,77,.78);
    background:rgba(255,255,255,.52);
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }
  .work-grid.home-work-carousel .work-image{
    position:relative;
    height:220px;
    flex:0 0 220px;
    border-top-width:4px;
  }
  .work-grid.home-work-carousel .work-image img{
    object-fit:cover;
    padding:0;
  }
  .work-grid.home-work-carousel article:last-child .work-image{
    background:#f7f4ee;
  }
  .work-grid.home-work-carousel article:last-child .work-image img{
    object-fit:contain;
  }
  .work-play-mark{
    position:absolute;
    top:50%;
    left:50%;
    display:grid;
    width:58px;
    height:58px;
    place-items:center;
    border:1.5px solid #fff;
    border-radius:50%;
    color:#fff;
    background:rgba(6,28,43,.38);
    transform:translate(-50%,-50%);
  }
  .work-play-mark svg{
    width:24px;
    height:24px;
    fill:currentColor;
    stroke:none;
  }
  .work-grid.home-work-carousel article>p:not(.mobile-work-summary){
    margin:16px 14px 7px;
    padding:0;
    color:var(--aqua);
    font-size:9.5px;
    line-height:1.35;
    letter-spacing:.1em;
  }
  .work-grid.home-work-carousel h3{
    min-height:46px;
    margin:0;
    padding:0 14px;
    font-size:20px;
    line-height:1.05;
  }
  .work-grid.home-work-carousel .mobile-work-summary{
    display:block;
    margin:9px 0 0;
    padding:0 14px;
    color:rgba(9,47,77,.7);
    font-size:12px;
    line-height:1.42;
  }
  .work-grid.home-work-carousel .mobile-work-link{
    align-self:flex-start;
    margin:14px 14px 16px;
    margin-top:auto;
    color:var(--navy);
    border-bottom-color:var(--aqua);
  }
  .mobile-work-dots{
    display:flex;
    min-height:10px;
    align-items:center;
    justify-content:center;
    gap:8px;
    margin-top:18px;
  }
  .mobile-work-dots button{
    width:7px;
    height:7px;
    min-height:0;
    padding:0;
    border:0;
    border-radius:50%;
    background:rgba(9,47,77,.34);
  }
  .mobile-work-dots button.is-active{
    width:24px;
    border-radius:999px;
    background:var(--aqua);
  }
  .mobile-work-overview{
    min-width:220px;
    min-height:52px;
    margin-top:24px;
  }
}
@media(max-width:380px){
  .work-heading h2{
    font-size:30px;
  }
  .work-grid.home-work-carousel{
    grid-auto-columns:calc(100% - 42px);
  }
  .work-grid.home-work-carousel article,
  .work-grid.home-work-carousel article:last-child{
    min-height:418px;
  }
  .work-grid.home-work-carousel .work-image{
    height:208px;
    flex-basis:208px;
  }
}


/* Homepage mobile How We Work refinement */
@media(max-width:680px){
  body > main > .approach{
    padding-top:58px;
    padding-bottom:58px;
    gap:34px;
  }
  body > main > .approach .approach-title>p:last-child{
    margin-top:22px;
  }
  body > main > .approach .steps article{
    padding-top:19px;
    padding-bottom:19px;
  }
  body > main > .approach .steps h3{
    margin-bottom:7px;
  }
}


/* CloudFront mobile video portfolio */
@media(max-width:680px){
  .video-page .video-work-thumbnail video{
    pointer-events:none;
  }
  .video-page .video-work-dots{
    min-width:82px;
    gap:4px;
  }
  .video-page .video-work-dots span{
    flex:0 0 4px;
    width:4px;
    height:4px;
    transition:width .2s ease,background-color .2s ease;
  }
  .video-page .video-work-dots .is-active{
    flex-basis:16px;
    width:16px;
  }
}
.video-lightbox-frame video{
  object-fit:contain;
  background:#000;
}


/* Dedicated video portfolio */
.video-portfolio-page{
  background:var(--cream);
  font-family:"Sora",sans-serif;
}
.video-portfolio-hero{
  padding:88px clamp(28px,8vw,140px) 76px;
  color:#fff;
  background:linear-gradient(135deg,#061c2b,#0b3b5f);
}
.video-portfolio-hero .eyebrow{
  margin-bottom:22px;
}
.video-portfolio-hero .eyebrow::after{
  content:"";
  display:block;
  width:58px;
  height:3px;
  margin-top:10px;
  background:var(--aqua);
}
.video-portfolio-hero h1{
  max-width:850px;
  margin:0;
  color:#fff;
  font-family:"League Spartan",sans-serif;
  font-size:clamp(58px,7vw,100px);
  font-weight:800;
  line-height:.9;
  letter-spacing:-.045em;
  text-transform:uppercase;
}
.video-portfolio-hero h1 em{
  display:block;
  color:var(--aqua);
}
.video-portfolio-hero>p:last-child{
  max-width:670px;
  margin:30px 0 0;
  color:rgba(255,255,255,.78);
  font-size:17px;
  line-height:1.65;
}
.video-portfolio-list{
  padding:72px clamp(28px,6vw,100px) 92px;
}
.video-portfolio-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:52px 28px;
  max-width:1280px;
  margin:0 auto;
}
.video-portfolio-card{
  min-width:0;
}
.video-portfolio-open{
  display:block;
  width:100%;
  margin:0;
  padding:0;
  border:0;
  color:inherit;
  background:transparent;
  text-align:left;
  cursor:pointer;
}
.video-portfolio-image{
  position:relative;
  display:block;
  aspect-ratio:16/9;
  overflow:hidden;
  border-top:4px solid var(--aqua);
  background:#061c2b;
}
.video-portfolio-image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .3s ease,filter .3s ease;
}
.video-portfolio-image .video-work-play{
  position:absolute;
  top:50%;
  left:50%;
  z-index:2;
  display:grid;
  width:56px;
  height:56px;
  place-items:center;
  border-radius:50%;
  transform:translate(-50%,-50%);
  color:#fff;
  background:var(--aqua);
  font-size:18px;
  line-height:1;
  padding-left:3px;
  box-shadow:0 8px 20px rgba(0,0,0,.2);
  pointer-events:none;
  transition:transform .22s ease,box-shadow .22s ease;
}
.video-portfolio-open:hover .video-work-play{
  transform:translate(-50%,-50%) scale(1.06);
  box-shadow:0 10px 24px rgba(0,0,0,.24);
}
.video-portfolio-open:hover .video-portfolio-image img{
  transform:scale(1.025);
  filter:brightness(.86);
}
.video-portfolio-copy{
  display:block;
  padding-top:17px;
}
.video-portfolio-copy strong,
.video-portfolio-copy small{
  display:block;
  text-transform:uppercase;
}
.video-portfolio-copy strong{
  color:var(--navy);
  font-size:20px;
  font-weight:800;
  line-height:1.2;
}
.video-portfolio-copy small{
  margin-top:7px;
  color:#0a9ca9;
  font-size:10px;
  font-weight:800;
  letter-spacing:.16em;
}
.video-portfolio-open:focus-visible{
  outline:3px solid var(--aqua);
  outline-offset:5px;
}
.video-portfolio-cta{
  border-top:1px solid rgba(9,47,77,.14);
}
@media(max-width:680px){
  .video-portfolio-hero{
    padding:54px 22px 48px;
  }
  .video-portfolio-hero .eyebrow{
    font-size:12px;
    letter-spacing:.18em;
  }
  .video-portfolio-hero h1{
    max-width:360px;
    font-size:46px;
    line-height:.92;
  }
  .video-portfolio-hero>p:last-child{
    max-width:355px;
    margin-top:24px;
    font-size:15.5px;
    line-height:1.55;
  }
  .video-portfolio-list{
    padding:42px 20px 58px;
  }
  .video-portfolio-grid{
    grid-template-columns:1fr;
    gap:38px;
  }
  .video-portfolio-image{
    border-top-width:3px;
  }
  .video-portfolio-image .video-work-play{
    width:52px;
    height:52px;
  }
  .video-portfolio-copy{
    padding-top:13px;
  }
  .video-portfolio-copy strong{
    font-size:17px;
  }
  .video-portfolio-copy small{
    margin-top:5px;
    font-size:9px;
  }
  .video-portfolio-page .service-cta{
    gap:16px;
    padding:42px 22px 46px;
  }
  .video-portfolio-page .service-cta h2{
    font-size:34px;
    line-height:.96;
    text-align:center;
  }
  .video-portfolio-page .service-cta h2 span{
    display:block;
    white-space:nowrap;
  }
  .video-portfolio-page .service-cta p{
    max-width:330px;
    margin-right:auto;
    margin-left:auto;
    font-size:15px;
    text-align:center;
  }
  .video-portfolio-page .service-cta .button{
    width:72%;
    max-width:245px;
    min-width:220px;
    justify-self:center;
    margin:auto;
  }
}


/* Video service mobile: move portfolio proof up and use a light showcase treatment */
@media(max-width:680px){
  .video-page .video-selected-work{
    color:var(--navy);
    background:var(--paper);
    border-bottom:1px solid rgba(9,47,77,.12);
  }
  .video-page .video-selected-work h2{
    color:var(--navy);
  }
  .video-page .video-selected-work .mobile-case-study-intro{
    color:rgba(9,47,77,.72);
  }
  .video-page .video-work-thumbnail{
    border-color:rgba(9,47,77,.14);
    box-shadow:0 12px 28px rgba(6,28,43,.10);
  }
  .video-page .video-work-card h3{
    color:var(--navy);
  }
  .video-page .video-work-card>p{
    color:#0a9ca9;
  }
  .video-page .video-work-arrows button{
    border-color:rgba(9,47,77,.22);
    color:var(--navy);
    background:transparent;
  }
  .video-page .video-work-dots span{
    background:rgba(9,47,77,.28);
  }
  .video-page .video-work-dots .is-active{
    background:var(--aqua);
  }
  .video-page .video-work-all{
    color:#fff;
    border-color:var(--navy);
    background:var(--navy);
  }
}


/* Video service mobile alternating section rhythm */
@media(max-width:680px){
  .video-page .video-selected-work{
    color:var(--navy);
    background:var(--paper);
  }

  .video-page .mobile-website-benefits{
    color:#fff;
    background:var(--navy);
  }
  .video-page .mobile-website-benefits>h2,
  .video-page .mobile-benefits-list h3{
    color:#fff;
  }
  .video-page .mobile-benefits-intro,
  .video-page .mobile-benefits-list p{
    color:rgba(255,255,255,.76);
  }
  .video-page .mobile-benefits-list article{
    border-color:rgba(255,255,255,.16);
  }

  .video-page .mobile-web-process{
    color:var(--navy);
    background:var(--paper);
  }
  .video-page .mobile-process-heading h2,
  .video-page .mobile-process-timeline h3{
    color:var(--navy);
  }
  .video-page .mobile-process-heading>p:last-child,
  .video-page .mobile-process-timeline p,
  .video-page .mobile-process-reassurance{
    color:rgba(9,47,77,.72);
  }

  .video-page .mobile-web-included{
    color:#fff;
    background:var(--navy);
  }
  .video-page .mobile-included-heading h2{
    color:#fff;
  }
  .video-page .mobile-included-heading>p:last-child{
    color:rgba(255,255,255,.76);
  }
  .video-page .mobile-included-grid article{
    border-color:rgba(255,255,255,.14);
    background:var(--paper);
  }
  .video-page .mobile-included-grid h3{
    color:var(--navy);
  }
  .video-page .mobile-included-grid p{
    color:rgba(9,47,77,.72);
  }

  .video-page .service-faq{
    color:var(--navy);
    background:var(--paper);
  }
  .video-page .service-faq h2,
  .video-page .service-faq summary{
    color:var(--navy);
  }
  .video-page .service-faq details{
    border-color:rgba(9,47,77,.18);
  }

  .video-page .service-cta{
    color:#fff;
    background:var(--navy);
  }
  .video-page .service-cta h2{
    color:#fff;
  }
  .video-page .service-cta p{
    color:rgba(255,255,255,.78);
  }

  .video-page .other-services{
    color:var(--navy);
    background:var(--paper);
  }
  .video-page .other-services h2,
  .video-page .other-service-links a{
    color:var(--navy);
  }
}


/* Video service mobile dark-section label visibility */
@media(max-width:680px){
  .video-page .mobile-website-benefits .mobile-benefits-eyebrow,
  .video-page .mobile-web-included .mobile-included-eyebrow{
    color:#fff;
  }
}


/* Video service mobile light-section label colors */
@media(max-width:680px){
  .video-page .video-selected-work .mobile-case-study-eyebrow,
  .video-page .mobile-web-process .mobile-process-eyebrow{
    color:var(--navy);
  }
}


/* Video service mobile selected-work carousel brand controls */
@media(max-width:680px){
  .video-page .video-selected-work .video-work-arrows button{
    border-color:var(--navy);
    color:var(--navy);
  }
  .video-page .video-selected-work .video-work-dots span{
    background:rgba(9,47,77,.42);
  }
  .video-page .video-selected-work .video-work-dots .is-active{
    background:var(--aqua);
  }
}


/* Homepage featured video reel */
.home-featured-reel{
  padding:76px clamp(28px,7vw,110px) 82px;
  color:#fff;
  background:
    radial-gradient(circle at 82% 16%,rgba(23,184,195,.12),transparent 28%),
    linear-gradient(135deg,#061c2b,#0a3858);
  overflow:hidden;
}
.home-reel-copy{
  max-width:760px;
}
.home-featured-reel .eyebrow{
  display:inline-block;
  color:#fff;
}
.home-featured-reel .eyebrow::after{
  content:"";
  display:block;
  width:58px;
  height:2px;
  margin-top:8px;
  background:var(--aqua);
}
.home-featured-reel h2{
  max-width:760px;
  margin:22px 0 18px;
  color:#fff;
  font-family:"League Spartan",sans-serif;
  font-size:clamp(52px,6.2vw,88px);
  font-weight:800;
  line-height:.92;
  letter-spacing:-.045em;
  text-transform:uppercase;
}
.home-featured-reel h2 em{
  display:block;
  color:var(--aqua);
  font-style:normal;
}
.home-reel-copy>p:last-child{
  max-width:640px;
  margin:0;
  color:rgba(255,255,255,.78);
  font-size:17px;
  line-height:1.58;
}
.home-reel-player{
  width:min(1100px,100%);
  margin:34px auto 0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.22);
  background:#020b11;
  box-shadow:0 22px 46px rgba(0,0,0,.24);
}
.home-reel-player video{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  background:#020b11;
}
.home-reel-kicker{
  margin:22px 0 0;
  color:var(--aqua);
  font-family:"Sora",sans-serif;
  font-size:11px;
  font-weight:800;
  letter-spacing:.18em;
  text-align:center;
  text-transform:uppercase;
}
.home-reel-button{
  display:flex;
  width:max-content;
  min-width:250px;
  margin:20px auto 0;
}
.footer-service-area{
  max-width:680px;
  margin-top:10px;
  color:rgba(255,255,255,.62);
  font-size:13px;
  line-height:1.6;
}

@media(max-width:680px){
  .home-featured-reel{
    padding:48px 20px 52px;
  }
  .home-featured-reel .eyebrow{
    margin-bottom:0;
    font-size:12px;
    letter-spacing:.18em;
  }
  .home-featured-reel .eyebrow::after{
    width:52px;
    margin-top:7px;
  }
  .home-featured-reel h2{
    max-width:355px;
    margin:24px 0 17px;
    font-size:42px;
    line-height:.94;
  }
  .home-reel-copy>p:last-child{
    max-width:350px;
    font-size:15px;
    line-height:1.5;
  }
  .home-reel-player{
    margin-top:26px;
    border-color:rgba(255,255,255,.18);
    box-shadow:0 14px 30px rgba(0,0,0,.2);
  }
  .home-reel-kicker{
    margin-top:17px;
    font-size:9px;
    line-height:1.5;
    letter-spacing:.14em;
  }
  .home-reel-button{
    width:78%;
    max-width:280px;
    min-width:230px;
    min-height:52px;
    margin-top:18px;
    padding:0 14px;
    font-size:11px;
  }
  footer .footer-service-area{
    max-width:340px;
    margin-top:14px;
    font-size:12px;
    line-height:1.55;
  }
}


/* Homepage featured reel mobile repair */
@media(max-width:680px){
  .home-featured-reel{
    padding:44px 20px 48px;
    color:#fff;
  }

  .home-featured-reel .home-reel-copy,
  .home-featured-reel .home-reel-copy *{
    color:inherit;
  }

  .home-featured-reel .eyebrow{
    color:var(--aqua);
  }

  .home-featured-reel h2{
    max-width:350px;
    margin:22px 0 16px;
    color:#fff !important;
    font-size:38px;
    line-height:.94;
    letter-spacing:-.035em;
  }

  .home-featured-reel h2 em{
    display:inline;
    color:var(--aqua) !important;
  }

  .home-featured-reel .home-reel-copy>p:last-child{
    max-width:350px;
    margin:0;
    color:rgba(255,255,255,.76) !important;
    font-size:15px;
    line-height:1.5;
  }

  .home-featured-reel .home-reel-player{
    width:100%;
    max-width:100%;
    height:auto;
    margin:24px 0 0;
    overflow:hidden;
    aspect-ratio:16/9;
    border:1px solid rgba(255,255,255,.18);
    background:#020b11;
    box-shadow:0 12px 26px rgba(0,0,0,.22);
  }

  .home-featured-reel .home-reel-player video{
    display:block;
    width:100%;
    height:100%;
    max-height:none;
    aspect-ratio:auto;
    object-fit:cover;
    background:#020b11;
  }

  .home-featured-reel .home-reel-kicker{
    margin:16px 0 0;
    color:var(--aqua) !important;
    font-size:8.5px;
    line-height:1.45;
    letter-spacing:.12em;
  }

  .home-featured-reel .home-reel-button{
    width:78%;
    max-width:280px;
    min-width:230px;
    min-height:50px;
    margin:17px auto 0;
    padding:0 14px;
  }
}


/* Homepage featured reel headline + brand color refinement */
.home-featured-reel .eyebrow{
  color:#17b8c3 !important;
}
.home-featured-reel .eyebrow::after{
  background:#17b8c3 !important;
}
.home-featured-reel h2>span,
.home-featured-reel h2>em{
  display:block;
}
.home-featured-reel h2>span{
  color:#fff;
}
.home-featured-reel h2>em{
  color:#17b8c3 !important;
}
@media(max-width:680px){
  .home-featured-reel h2>span,
  .home-featured-reel h2>em{
    display:block;
  }
}


/* Unified premium play button for all video thumbnails */
.video-page .video-work-play,
.video-portfolio-image .video-work-play,
.work-play-mark{
  display:grid;
  place-items:center;
  border:1.5px solid rgba(255,255,255,.82);
  border-radius:50%;
  color:#fff;
  background:rgba(6,28,43,.82);
  box-shadow:0 10px 24px rgba(0,0,0,.22);
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
}

.video-page .video-work-play,
.video-portfolio-image .video-work-play{
  width:56px;
  height:56px;
  font-size:18px;
  line-height:1;
  padding-left:3px;
}

.video-page .video-work-open:hover .video-work-play,
.video-portfolio-open:hover .video-work-play{
  transform:translate(-50%,-50%) scale(1.05);
  background:rgba(6,28,43,.9);
}

@media(max-width:680px){
  .video-page .video-work-play,
  .video-portfolio-image .video-work-play{
    width:54px;
    height:54px;
  }
}


/* Homepage reel custom play control */
.home-reel-player{
  position:relative;
}
.home-reel-play{
  position:absolute;
  top:50%;
  left:50%;
  z-index:3;
  display:grid;
  width:74px;
  height:74px;
  place-items:center;
  padding:0;
  border:1.5px solid rgba(255,255,255,.84);
  border-radius:50%;
  color:#fff;
  background:rgba(6,28,43,.82);
  box-shadow:0 10px 24px rgba(0,0,0,.24);
  transform:translate(-50%,-50%);
  cursor:pointer;
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
  transition:transform .2s ease,background .2s ease;
}
.home-reel-play span{
  display:block;
  width:0;
  height:0;
  margin-left:5px;
  border-top:12px solid transparent;
  border-bottom:12px solid transparent;
  border-left:20px solid #fff;
}
.home-reel-play:hover{
  background:rgba(6,28,43,.92);
  transform:translate(-50%,-50%) scale(1.05);
}
.home-reel-play:focus-visible{
  outline:3px solid var(--aqua);
  outline-offset:4px;
}
.home-reel-player.is-playing .home-reel-play{
  display:none;
}
@media(max-width:680px){
  .home-reel-play{
    width:58px;
    height:58px;
  }
  .home-reel-play span{
    margin-left:4px;
    border-top-width:9px;
    border-bottom-width:9px;
    border-left-width:15px;
  }
}


/* Homepage mobile service-proof work carousel */
@media(max-width:680px){
  .work-grid.home-work-carousel .home-service-work-card:last-child .work-image{
    background:#f7f4ee;
  }
  .work-grid.home-work-carousel .home-service-work-card:last-child .work-image img{
    object-fit:cover;
  }
  .work-grid.home-work-carousel .work-image--contain{
    background:#f7f4ee;
  }
  .work-grid.home-work-carousel .work-image--contain img{
    object-fit:contain !important;
    padding:12px;
  }
  .work-grid.home-work-carousel .home-service-work-card--photo .work-image img{
    object-position:center 43%;
  }
  .work-grid.home-work-carousel .home-service-work-card h3{
    min-height:auto;
  }
  .work-grid.home-work-carousel .home-service-work-card .mobile-work-link{
    font-size:10.5px;
  }
}


/* Homepage Our Work card polish */
@media(max-width:680px){
  .work-grid.home-work-carousel .work-image--website-flat{
    background:#f4f1ea !important;
    min-height:260px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:18px 16px;
    overflow:hidden;
  }

  .work-grid.home-work-carousel .work-image--website-flat img{
    width:100%;
    max-width:92%;
    height:auto;
    max-height:220px;
    object-fit:contain !important;
    padding:0 !important;
    display:block;
  }

  .work-grid.home-work-carousel .mobile-work-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:auto;
    min-height:44px;
    margin-top:auto;
    padding:12px 16px;
    background:#0a1822;
    color:#fff !important;
    border:1px solid #0a1822;
    text-decoration:none !important;
    font-size:11px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
    line-height:1;
  }

  .work-grid.home-work-carousel .mobile-work-button::after{
    display:none !important;
  }

  .work-grid.home-work-carousel .mobile-work-button span{
    margin-left:8px;
    color:#17b8c3;
  }
}


/* Homepage Our Work card alignment + navy body copy */
@media(max-width:680px){
  .work-grid.home-work-carousel > article{
    display:flex;
    flex-direction:column;
    min-height:730px;
  }

  .work-grid.home-work-carousel .work-image{
    height:300px;
    min-height:300px;
    max-height:300px;
    overflow:hidden;
    flex:0 0 300px;
  }

  .work-grid.home-work-carousel .work-image img{
    width:100%;
    height:100%;
    object-fit:cover;
  }

  .work-grid.home-work-carousel .work-image--website-flat{
    height:300px;
    min-height:300px;
    max-height:300px;
    flex:0 0 300px;
    padding:20px 18px;
  }

  .work-grid.home-work-carousel .work-image--website-flat img{
    width:100%;
    height:100%;
    max-width:92%;
    max-height:100%;
    object-fit:contain !important;
  }

  .work-grid.home-work-carousel .mobile-work-summary{
    color:#0a1822 !important;
  }

  .work-grid.home-work-carousel > article > p:not(.mobile-work-summary),
  .work-grid.home-work-carousel > article > h3{
    color:#0a1822;
  }

  .work-grid.home-work-carousel .mobile-work-button{
    margin-top:auto;
  }
}


/* Chiro card media background refinement */
@media(max-width:680px){
  .work-grid.home-work-carousel .work-image--website-flat{
    background:#d7e2e7 !important;
  }
}


/* Correct homepage work card proportions + brand colors */
@media(max-width:680px){
  .work-grid.home-work-carousel > article{
    min-height:0 !important;
    height:auto !important;
    display:flex;
    flex-direction:column;
  }

  .work-grid.home-work-carousel .work-image,
  .work-grid.home-work-carousel .work-image--website-flat{
    height:245px !important;
    min-height:245px !important;
    max-height:245px !important;
    flex:0 0 245px !important;
  }

  .work-grid.home-work-carousel .work-image--website-flat{
    padding:14px 16px !important;
    background:#d7e2e7 !important;
  }

  .work-grid.home-work-carousel .work-image--website-flat img{
    width:100%;
    height:100%;
    max-width:90%;
    max-height:100%;
    object-fit:contain !important;
  }

  .work-grid.home-work-carousel > article > p:not(.mobile-work-summary){
    color:#17b8c3 !important;
  }

  .work-grid.home-work-carousel > article > h3,
  .work-grid.home-work-carousel .mobile-work-summary{
    color:#0a1822 !important;
  }

  .work-grid.home-work-carousel .mobile-work-button{
    margin-top:28px !important;
    align-self:flex-start;
    background:#0a1822 !important;
    color:#fff !important;
    border-color:#0a1822 !important;
    min-height:44px;
    padding:12px 16px;
    width:auto;
  }

  .work-grid.home-work-carousel .mobile-work-button span{
    color:#17b8c3 !important;
  }

  .work-grid.home-work-carousel > article{
    padding-bottom:26px;
  }
}


/* Final homepage work-card brand color correction */
@media(max-width:680px){
  .work-grid.home-work-carousel > article > p:not(.mobile-work-summary){
    color:#17b8c3 !important;
  }

  .work-grid.home-work-carousel > article > h3{
    color:#0b3556 !important;
  }

  .work-grid.home-work-carousel .mobile-work-summary{
    color:#365d79 !important;
  }

  .work-grid.home-work-carousel .mobile-work-button{
    background:#0b3556 !important;
    border-color:#0b3556 !important;
    color:#ffffff !important;
  }

  .work-grid.home-work-carousel .mobile-work-button span{
    display:none !important;
  }
}


/* AL Shores card rectangular media match */
@media(max-width:680px){
  .work-grid.home-work-carousel .work-image--website-flat{
    height:245px !important;
    min-height:245px !important;
    max-height:245px !important;
    flex:0 0 245px !important;
    padding:0 !important;
    background:#d7e2e7 !important;
    overflow:hidden;
  }
  .work-grid.home-work-carousel .work-image--website-flat img{
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    max-height:none !important;
    padding:0 !important;
    object-fit:cover !important;
    object-position:center !important;
  }
}


/* AL Shores card now matches other rectangular portfolio media */
@media(max-width:680px){
  .work-grid.home-work-carousel .home-service-work-card--website .work-image{
    height:245px !important;
    min-height:245px !important;
    max-height:245px !important;
    flex:0 0 245px !important;
    padding:0 !important;
    background:transparent !important;
    overflow:hidden;
  }

  .work-grid.home-work-carousel .home-service-work-card--website .work-image img{
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    max-height:none !important;
    padding:0 !important;
    object-fit:cover !important;
    object-position:center center;
    display:block;
  }
}


/* AL Shores card uses the same full-frame media treatment as the other work cards */
@media(max-width:680px){
  .work-grid.home-work-carousel .home-service-work-card--website .work-image{
    height:245px !important;
    min-height:245px !important;
    max-height:245px !important;
    flex:0 0 245px !important;
    padding:0 !important;
    background:transparent !important;
    overflow:hidden;
  }

  .work-grid.home-work-carousel .home-service-work-card--website .work-image img{
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    max-height:none !important;
    padding:0 !important;
    object-fit:cover !important;
    object-position:center center !important;
    display:block;
  }
}


/* AL Shores card final: use same full-frame treatment as all other work cards */
@media(max-width:680px){
  .work-grid.home-work-carousel .home-service-work-card--website .work-image{
    height:245px !important;
    min-height:245px !important;
    max-height:245px !important;
    flex:0 0 245px !important;
    padding:0 !important;
    background:transparent !important;
    overflow:hidden;
  }
  .work-grid.home-work-carousel .home-service-work-card--website .work-image img{
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    max-height:none !important;
    padding:0 !important;
    object-fit:cover !important;
    object-position:center center !important;
    display:block !important;
  }
}


/* Preserve AL Shores card sharpness on mobile */
@media(max-width:680px){
  .work-grid.home-work-carousel .home-service-work-card--website .work-image img{
    transform:none !important;
    transition:none !important;
    filter:none !important;
    image-rendering:auto !important;
    object-fit:cover !important;
    object-position:center center !important;
  }
  .work-grid.home-work-carousel .home-service-work-card--website:hover .work-image img{
    transform:none !important;
  }
}


/* Mobile AL Shores crop: enlarge the actual website inside the card instead of shrinking the whole mockup */
@media(max-width:680px){
  .work-grid.home-work-carousel .work-image--alshores{
    height:245px !important;
    min-height:245px !important;
    max-height:245px !important;
    flex:0 0 245px !important;
    overflow:hidden !important;
    background:#d7e2e7 !important;
  }
  .work-grid.home-work-carousel .work-image--alshores img{
    width:132% !important;
    height:132% !important;
    max-width:none !important;
    max-height:none !important;
    object-fit:cover !important;
    object-position:51% 47% !important;
    transform:translate(-12%, -12%) !important;
    transition:none !important;
    filter:none !important;
    image-rendering:auto !important;
  }
  .work-grid.home-work-carousel .home-service-work-card--website:hover .work-image--alshores img{
    transform:translate(-12%, -12%) !important;
  }
}


/* Final mobile AL Shores image: no scaling/compositing, same treatment as other cards */
@media(max-width:680px){
  .work-grid.home-work-carousel .work-image--alshores{
    height:245px !important;
    min-height:245px !important;
    max-height:245px !important;
    flex:0 0 245px !important;
    padding:0 !important;
    overflow:hidden !important;
    background:transparent !important;
  }
  .work-grid.home-work-carousel .work-image--alshores img{
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    max-height:none !important;
    object-fit:cover !important;
    object-position:center center !important;
    transform:none !important;
    transition:none !important;
    filter:none !important;
    image-rendering:auto !important;
    will-change:auto !important;
    backface-visibility:visible !important;
  }
  .work-grid.home-work-carousel .home-service-work-card--website:hover .work-image--alshores img{
    transform:none !important;
  }
}


/* Final mobile AL Shores: keep dimensions fixed while retina source swaps in */
@media(max-width:680px){
  .work-grid.home-work-carousel .work-image--alshores img{
    transform:none !important;
    transition:none !important;
    filter:none !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
  }
}


/* Homepage Tammy's card video trigger */
.home-work-carousel .home-work-video-open{
  position:relative;
  display:block;
  width:100%;
  height:100%;
  margin:0;
  padding:0;
  border:0;
  color:inherit;
  background:transparent;
  cursor:pointer;
}
.home-work-carousel .home-work-video-open img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.home-work-carousel .home-work-video-open:focus-visible{
  outline:3px solid var(--aqua);
  outline-offset:-3px;
}





/* Mobile Our Work CTA alignment — match Website Design card exactly */
@media(max-width:680px){
  .work-grid.home-work-carousel > article{
    position:relative !important;
    display:flex !important;
    flex-direction:column !important;
    min-height:0 !important;
    height:auto !important;
    padding-bottom:0 !important;
  }

  .work-grid.home-work-carousel .mobile-work-summary{
    min-height:68px !important;
  }

  .work-grid.home-work-carousel .mobile-work-button{
    position:static !important;
    align-self:flex-start !important;
    margin:28px 14px 26px !important;
    margin-top:auto !important;
  }
}




/* Mobile Our Work — preserve approved AL Shores card and align other CTAs to it */
@media(max-width:680px){
  .work-grid.home-work-carousel > article,
  .work-grid.home-work-carousel > article:last-child{
    position:relative !important;
    display:flex !important;
    flex-direction:column !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    padding-bottom:0 !important;
  }

  /* Keep image/media sizing exactly as the approved card */
  .work-grid.home-work-carousel .work-image{
    height:245px !important;
    min-height:245px !important;
    max-height:245px !important;
    flex:0 0 245px !important;
  }

  /* Preserve the approved AL Shores button position */
  .work-grid.home-work-carousel .home-service-work-card--website .mobile-work-button{
    position:static !important;
    margin:28px 14px 26px !important;
    margin-top:28px !important;
    align-self:flex-start !important;
  }

  /* Give the other cards enough body space so their buttons land at the same y-position */
  .work-grid.home-work-carousel > article:not(.home-service-work-card--website) .mobile-work-summary{
    min-height:84px !important;
  }

  .work-grid.home-work-carousel > article:not(.home-service-work-card--website) .mobile-work-button{
    position:static !important;
    margin:28px 14px 26px !important;
    margin-top:auto !important;
    align-self:flex-start !important;
  }
}


/* Mobile Our Work — add balanced space below CTA buttons */
@media(max-width:680px){
  .work-grid.home-work-carousel > article,
  .work-grid.home-work-carousel > article:last-child{
    padding-bottom:18px !important;
  }

  .work-grid.home-work-carousel .mobile-work-button{
    margin-bottom:18px !important;
  }
}


/* Dedicated Our Work portfolio page */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.site-header nav a.is-current{color:var(--aqua)}
.portfolio-page{background:var(--cream);color:var(--navy)}
.portfolio-hero{position:relative;min-height:420px;display:flex;align-items:center;padding:64px clamp(48px,7vw,110px);overflow:hidden;color:#fff;background:url("/assets/permian-hero.webp") center 52%/cover no-repeat}
.portfolio-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,27,42,.95) 0%,rgba(5,27,42,.84) 38%,rgba(5,27,42,.30) 68%,rgba(5,27,42,.20) 100%)}
.portfolio-hero-copy{position:relative;z-index:2;max-width:720px}
.portfolio-hero-copy .eyebrow{margin-bottom:16px}
.portfolio-hero h1{margin:0;color:#fff;font-family:"League Spartan",sans-serif;font-size:clamp(62px,6vw,92px);font-weight:800;line-height:.88;letter-spacing:-.045em;text-transform:none}
.portfolio-hero-copy>p:last-child{max-width:620px;margin:26px 0 0;color:#eef5f7;font-family:"Sora",sans-serif;font-size:18px;line-height:1.5}
.portfolio-hero-script{position:absolute;z-index:2;right:8%;top:20%;max-width:210px;color:#fff;font-family:cursive;font-size:40px;line-height:1.1;text-align:center;transform:rotate(-5deg)}
.portfolio-gallery{padding:38px clamp(34px,4vw,64px) 56px;background:var(--cream)}
.portfolio-filters{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin:0 auto 30px}
.portfolio-filters button{min-width:125px;height:44px;padding:0 22px;border:1px solid rgba(9,47,77,.52);border-radius:4px;color:var(--navy);background:rgba(255,255,255,.45);font-family:"Sora",sans-serif;font-size:14px;font-weight:600;cursor:pointer}
.portfolio-filters button.is-active{border-color:var(--navy);color:#fff;background:var(--navy)}
.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:1320px;margin:0 auto}
.portfolio-card{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);min-height:300px;overflow:hidden;border:1px solid rgba(9,47,77,.12);border-radius:10px;background:rgba(255,255,255,.55);box-shadow:0 10px 32px rgba(6,28,43,.04)}
.portfolio-card[hidden]{display:none!important}
.portfolio-card-media{position:relative;min-height:300px;overflow:hidden;background:#dce6e9}
.portfolio-card-media img,.portfolio-video-open{display:block;width:100%;height:100%}
.portfolio-card-media img{object-fit:cover}
.portfolio-card-media--contain img{object-fit:cover}
.portfolio-video-open{position:relative;margin:0;padding:0;border:0;background:#061c2b;cursor:pointer}
.portfolio-video-open img{filter:brightness(.84)}
.portfolio-play{position:absolute;top:50%;left:50%;display:grid;width:68px;height:68px;place-items:center;border:1.5px solid rgba(255,255,255,.9);border-radius:50%;color:#fff;background:rgba(6,28,43,.58);transform:translate(-50%,-50%)}
.portfolio-play svg{width:28px;height:28px;fill:currentColor}
.portfolio-card-body{display:flex;flex-direction:column;padding:30px 28px}
.portfolio-kicker{margin:0 0 8px;color:var(--aqua);font-family:"Sora",sans-serif;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.portfolio-card h3{margin:0;color:var(--navy);font-family:"Sora",sans-serif;font-size:24px;line-height:1.08}
.portfolio-card-body>p:not(.portfolio-kicker){margin:14px 0 0;color:rgba(9,47,77,.74);font-family:"Sora",sans-serif;font-size:14px;line-height:1.5}
.portfolio-link{display:inline-flex;align-items:center;gap:14px;align-self:flex-start;margin-top:auto;padding-top:26px;border:0;color:var(--navy);background:transparent;font-family:"Sora",sans-serif;font-size:13px;font-weight:700;cursor:pointer}
.portfolio-link span{color:var(--aqua);font-size:20px}
.portfolio-cta{padding:58px 24px 64px;text-align:center;color:#fff;background:linear-gradient(rgba(6,28,43,.96),rgba(9,47,77,.98)),url("/assets/carlsbad-region-map.webp") center/cover no-repeat}
.portfolio-cta .eyebrow{margin-bottom:14px}
.portfolio-cta h2{margin:0;font-family:"League Spartan",sans-serif;font-size:clamp(42px,4vw,62px);line-height:.98}
.portfolio-cta>p:not(.eyebrow){margin:14px auto 24px;color:#d5e0e4;font-size:16px}
.portfolio-cta .button{min-width:220px}

@media(max-width:1050px){
  .portfolio-card{grid-template-columns:1fr}
  .portfolio-card-media{min-height:260px}
}
@media(max-width:760px){
  .portfolio-hero{min-height:370px;padding:60px 22px 44px;background-position:center}
  .portfolio-hero h1{font-size:52px}
  .portfolio-hero-copy>p:last-child{font-size:15.5px}
  .portfolio-hero-script{display:none}
  .portfolio-gallery{padding:28px 20px 46px;overflow:hidden}
  .portfolio-filters{justify-content:flex-start;flex-wrap:nowrap;gap:8px;margin-right:-20px;padding-right:20px;overflow-x:auto;scrollbar-width:none}
  .portfolio-filters::-webkit-scrollbar{display:none}
  .portfolio-filters button{min-width:max-content;height:40px;padding:0 17px;font-size:12px}
  .portfolio-grid{grid-template-columns:1fr;gap:16px}
  .portfolio-card{display:block;border-radius:0}
  .portfolio-card-media{height:230px;min-height:230px}
  .portfolio-card-body{padding:20px 20px 22px}
  .portfolio-card h3{font-size:22px}
  .portfolio-link{margin-top:24px;padding-top:0}
  .portfolio-cta{padding:48px 22px 54px}
  .portfolio-cta h2{font-size:40px}
}


/* Dedicated Contact page */
.contact-page{background:var(--cream);color:var(--navy)}
.contact-hero{padding:92px clamp(28px,8vw,140px);color:#fff;background:linear-gradient(115deg,#061c2b,#092f4d)}
.contact-hero-copy{max-width:850px}
.contact-hero h1{margin:0;font-family:"League Spartan",sans-serif;font-size:clamp(58px,6vw,92px);line-height:.9;letter-spacing:-.045em}
.contact-hero-copy>p:last-child{max-width:720px;margin:26px 0 0;color:#d4e0e5;font-family:"Sora",sans-serif;font-size:18px;line-height:1.6}
.contact-main{display:grid;grid-template-columns:.82fr 1.18fr;gap:36px;padding:72px clamp(28px,7vw,110px);background:var(--cream)}
.contact-card,.contact-form-wrap{border:1px solid rgba(9,47,77,.14);background:rgba(255,255,255,.6)}
.contact-card{padding:42px}
.contact-card h2{margin:0;color:var(--navy);font-family:"League Spartan",sans-serif;font-size:48px;line-height:.96}
.contact-card>p:not(.eyebrow){margin:18px 0 28px;color:rgba(9,47,77,.72);font-size:16px;line-height:1.65}
.contact-details{display:flex;flex-direction:column;gap:9px;padding:24px 0;border-top:1px solid rgba(9,47,77,.16);border-bottom:1px solid rgba(9,47,77,.16)}
.contact-details strong{font-family:"Sora",sans-serif;font-size:18px}
.contact-details a{font-family:"Sora",sans-serif;font-size:17px;font-weight:700}
.contact-details span{color:rgba(9,47,77,.72)}
.contact-direct-actions{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap}
.contact-direct-actions .button{min-width:160px}
.contact-email-button{color:var(--navy);border-color:var(--navy)}
.contact-form-wrap{padding:42px}
.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contact-form label{display:flex;flex-direction:column;gap:8px;color:var(--navy);font-family:"Sora",sans-serif;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid rgba(9,47,77,.25);border-radius:0;background:#fff;color:var(--navy);font:500 15px/1.4 "DM Sans",sans-serif;padding:14px 15px;outline:none}
.contact-form input,.contact-form select{height:50px}
.contact-form textarea{resize:vertical;min-height:150px}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--aqua);box-shadow:0 0 0 2px rgba(23,184,195,.12)}
.contact-form-message,.contact-form .button,.contact-form-note{grid-column:1/-1}
.contact-form .button{justify-self:start;min-width:220px;border:0}
.contact-form-note{margin:0;color:rgba(9,47,77,.58);font-size:12px}
.contact-next-steps{padding:68px clamp(28px,7vw,110px) 82px;color:#fff;background:var(--navy)}
.contact-next-steps>.eyebrow{text-align:center}
.contact-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1200px;margin:34px auto 0}
.contact-steps article{padding:28px 26px;border-top:2px solid var(--aqua);background:rgba(255,255,255,.05)}
.contact-steps b{color:var(--aqua);font-family:"Sora",sans-serif;font-size:13px}
.contact-steps h3{margin:12px 0 10px;font-family:"Sora",sans-serif;font-size:18px;text-transform:uppercase}
.contact-steps p{margin:0;color:#c7d2d8;line-height:1.6}
@media(max-width:820px){
  .contact-main{grid-template-columns:1fr;padding:50px 22px;gap:18px}
  .contact-card{order:0}.contact-form-wrap{order:1}
  .contact-hero{padding:72px 22px 54px}
  .contact-hero h1{font-size:52px}
  .contact-hero-copy>p:last-child{font-size:15.5px}
  .contact-form{grid-template-columns:1fr}
  .contact-form-message,.contact-form .button,.contact-form-note{grid-column:auto}
  .contact-card,.contact-form-wrap{padding:28px 24px}
  .contact-card h2{font-size:40px}
  .contact-direct-actions{display:grid;grid-template-columns:1fr 1fr}
  .contact-direct-actions .button{min-width:0;padding:0 14px}
  .contact-steps{grid-template-columns:1fr}
  .contact-next-steps{padding:52px 22px 64px}
}


/* Brand-standard hero treatment for Contact + Our Work */
.contact-hero h1,
.portfolio-hero h1{
  text-transform:uppercase;
}
.contact-hero h1 em,
.portfolio-hero h1 em{
  color:var(--aqua);
  font-style:normal;
}

/* Contact page refinement */
.contact-direct-actions .button,
.contact-direct-actions .contact-email-button{
  color:#fff !important;
  background:var(--navy) !important;
  border-color:var(--navy) !important;
}

@media(max-width:820px){
  .contact-hero{
    padding:56px 22px 44px !important;
  }
  .contact-hero h1{
    font-size:48px !important;
    line-height:.92 !important;
  }
  .contact-hero-copy>p:last-child{
    margin-top:20px !important;
    font-size:15px !important;
    line-height:1.5 !important;
  }

  .contact-main{
    padding:38px 18px !important;
    gap:14px !important;
  }
  .contact-card,
  .contact-form-wrap{
    padding:24px 20px !important;
  }
  .contact-card h2{
    font-size:36px !important;
    line-height:.98 !important;
  }
  .contact-card>p:not(.eyebrow){
    margin:14px 0 20px !important;
    font-size:14.5px !important;
    line-height:1.5 !important;
  }
  .contact-details{
    gap:7px !important;
    padding:18px 0 !important;
  }
  .contact-details strong{
    font-size:17px !important;
  }
  .contact-details a{
    font-size:15px !important;
  }
  .contact-direct-actions{
    gap:10px !important;
    margin-top:18px !important;
  }
  .contact-direct-actions .button{
    min-height:48px !important;
  }

  .contact-form{
    gap:13px !important;
  }
  .contact-form label{
    gap:6px !important;
    font-size:11px !important;
  }
  .contact-form input,
  .contact-form select{
    height:44px !important;
    padding:10px 12px !important;
  }
  .contact-form textarea{
    min-height:110px !important;
    padding:11px 12px !important;
  }
  .contact-form .button{
    min-height:48px !important;
    min-width:0 !important;
    width:100% !important;
    background:var(--navy) !important;
    color:#fff !important;
  }
  .contact-form-note{
    font-size:11px !important;
    line-height:1.45 !important;
  }

  .contact-next-steps{
    padding:42px 18px 52px !important;
  }
  .contact-steps{
    gap:12px !important;
    margin-top:24px !important;
  }
  .contact-steps article{
    padding:20px 18px !important;
  }
  .contact-steps h3{
    margin:8px 0 7px !important;
    font-size:16px !important;
  }
  .contact-steps p{
    font-size:14px !important;
    line-height:1.5 !important;
  }
}


/* Real client media for marketing case studies */
.marketing-case-visual--photo{
  position:relative;
  overflow:hidden;
  background:#173f5d;
}
.marketing-case-visual--photo img{
  display:block;
  width:100%;
  height:100%;
  min-height:100%;
  object-fit:cover;
  object-position:center;
}
@media(max-width:680px){
  .marketing-case-visual--photo{
    min-height:300px;
  }
  .marketing-case-visual--photo img{
    height:300px;
    min-height:300px;
  }
}


/* Marketing case-study mobile spacing polish */
@media(max-width:680px){
  .marketing-page .marketing-case-visual{
    min-height:0;
    padding:30px 10px;
  }
  .marketing-page .marketing-case-visual--photo img{
    width:100%;
    height:auto;
    max-height:none;
    aspect-ratio:16 / 9;
    object-fit:cover;
  }
  .marketing-page .marketing-case-detail{
    padding:11px 14px;
  }
}
@media(max-width:380px){
  .marketing-page .marketing-case-visual{
    min-height:0;
    padding:26px 10px;
  }
  .marketing-page .marketing-case-visual img{
    max-height:none;
  }
  .marketing-page .marketing-case-detail{
    padding:10px 12px;
  }
}


/* Marketing case-study compact mobile cards */
@media(max-width:680px){
  .marketing-page .marketing-case-card-head{
    min-height:52px;
    padding:10px 14px;
  }
  .marketing-page .marketing-case-visual,
  .marketing-page .marketing-case-visual--photo{
    min-height:0;
    padding:18px 10px;
  }
  .marketing-page .marketing-case-visual--photo img{
    width:100%;
    height:190px;
    min-height:190px;
    max-height:190px;
    aspect-ratio:auto;
    object-fit:cover;
  }
  .marketing-page .marketing-case-detail{
    padding:9px 14px;
  }
  .marketing-page .marketing-case-results{
    padding:10px 14px 12px;
  }
  .marketing-page .marketing-case-results>p{
    margin-bottom:7px;
  }
  .marketing-page .marketing-case-metric span{
    margin-top:3px;
  }
  .marketing-page .marketing-case-summary{
    margin-top:9px;
    margin-bottom:8px;
  }
  .marketing-page .marketing-case-source{
    line-height:1.35;
  }
}
@media(max-width:380px){
  .marketing-page .marketing-case-card-head{
    min-height:50px;
    padding:9px 12px;
  }
  .marketing-page .marketing-case-visual,
  .marketing-page .marketing-case-visual--photo{
    min-height:0;
    padding:16px 10px;
  }
  .marketing-page .marketing-case-visual--photo img{
    height:175px;
    min-height:175px;
    max-height:175px;
  }
  .marketing-page .marketing-case-detail{
    padding:8px 12px;
  }
  .marketing-page .marketing-case-results{
    padding:9px 12px 11px;
  }
}


/* ==========================================================================
   Nav system v2 (2026-10-05) — pinned header on every page and width,
   full-height menu below 1200px, EN/ES toggle on desktop, compact on scroll.
   Same colors, type and components as the original header.
   ========================================================================== */
:root{--nav-h:96px}
@media(max-width:1199px){:root{--nav-h:86px}}
@media(max-width:680px){:root{--nav-h:78px}}
html{scroll-padding-top:calc(var(--nav-h) + 16px)}
/* overflow-x:hidden on html+body stops sticky positioning; clip keeps the no-sideways-scroll guard without that side effect */
@supports(overflow:clip){@media(max-width:680px){html,body{overflow-x:clip}}}

.site-header[data-nav-system="2"]{
  position:sticky;top:0;z-index:60;
  height:var(--nav-h);padding:0 clamp(16px,4.4vw,90px);
  display:flex;align-items:center;gap:clamp(14px,2.4vw,38px);
  background:#071b2a;color:#fff;border-bottom:0;
  transition:height .25s ease,box-shadow .25s ease;
}
.site-header[data-nav-system="2"] .brand{display:flex;align-items:center;gap:13px;min-width:0;flex:0 1 auto;margin-right:auto}
.site-header[data-nav-system="2"] .brand>span{min-width:0}
.site-header[data-nav-system="2"] .brand b{display:block;white-space:nowrap;font-size:22px}
.site-header[data-nav-system="2"] .brand small{display:block;white-space:nowrap;font-size:9px}
.site-header[data-nav-system="2"] .brand img{width:100px;height:auto;flex:0 0 auto;transition:width .25s ease}
.site-header[data-nav-system="2"] .header-actions{display:flex;align-items:center;gap:12px;flex:0 0 auto}
.site-header[data-nav-system="2"] .header-cta{white-space:nowrap;min-height:46px;padding:0 23px}
.site-header[data-nav-system="2"] .language-switcher{display:flex;width:68px;height:32px;overflow:hidden;border:1px solid rgba(255,255,255,.32);border-radius:4px;flex:0 0 auto}
.site-header[data-nav-system="2"] .language-option{display:grid;flex:1 1 50%;min-width:0;place-items:center;color:rgba(255,255,255,.72);font-family:"Sora",sans-serif;font-size:9px;font-weight:800;line-height:1;letter-spacing:.04em}
.site-header[data-nav-system="2"] a.language-option:hover,.site-header[data-nav-system="2"] a.language-option:focus-visible{color:#fff;background:rgba(255,255,255,.08)}
.site-header[data-nav-system="2"] .language-option.is-active{color:var(--ink);background:var(--aqua)}
.site-header[data-nav-system="2"] nav a.is-current{color:var(--aqua)}
.site-header[data-nav-system="2"] :focus-visible{outline:2px solid var(--aqua);outline-offset:3px}

/* Desktop: logo | centered links | EN/ES + call to action. Compacts once the page scrolls. */
@media(min-width:1200px){
  .site-header[data-nav-system="2"]{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
  .site-header[data-nav-system="2"] .brand{margin-right:0;justify-self:start}
  .site-header[data-nav-system="2"] nav{display:flex;align-items:center;gap:clamp(26px,2.6vw,42px);position:static;background:none;padding:0}
  .site-header[data-nav-system="2"] .header-actions{justify-self:end}
  .site-header[data-nav-system="2"] .language-switcher{width:72px;height:34px}
  .site-header[data-nav-system="2"] .language-option{font-size:10px}
  .site-header[data-nav-system="2"] .mobile-nav-services,
  .site-header[data-nav-system="2"] .nav-panel-cta,
  .site-header[data-nav-system="2"] .menu-toggle{display:none}
  .site-header[data-nav-system="2"].is-scrolled{--nav-h:74px;box-shadow:0 10px 30px rgba(2,12,20,.35)}
  .site-header[data-nav-system="2"].is-scrolled .brand img{width:76px}
}

/* Phones, foldables and tablets: logo | EN/ES (+ call to action from 760px) | menu button */
@media(max-width:1199px){
  .site-header[data-nav-system="2"] nav{display:none}
  .site-header[data-nav-system="2"] .header-cta{display:none}
  .site-header[data-nav-system="2"].is-scrolled{box-shadow:0 8px 24px rgba(2,12,20,.35)}
  .site-header[data-nav-system="2"] .menu-toggle{display:grid;place-content:center;gap:5px;width:42px;height:42px;padding:0;margin:0;background:transparent;border:0;cursor:pointer;flex:0 0 auto}
  .site-header[data-nav-system="2"] .menu-toggle span{display:block;width:25px;height:1px;margin:0;background:#fff;transition:transform .2s ease,opacity .2s ease}
  .site-header[data-nav-system="2"] .menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
  .site-header[data-nav-system="2"] .menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .site-header[data-nav-system="2"] .menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
  .site-header[data-nav-system="2"] nav.open{
    display:flex;flex-direction:column;align-items:stretch;gap:0;
    position:fixed;left:0;right:0;top:var(--nav-h);bottom:0;z-index:59;
    padding:12px clamp(20px,6vw,56px) calc(28px + env(safe-area-inset-bottom,0px));
    overflow-y:auto;overscroll-behavior:contain;background:#061925;
    border-top:1px solid rgba(255,255,255,.12);
    animation:nav-panel-in .22s ease both;
  }
  .site-header[data-nav-system="2"] nav.open>a:not(.nav-panel-cta),
  .site-header[data-nav-system="2"] nav.open .mobile-services-toggle{padding:18px 0;border-bottom:1px solid rgba(255,255,255,.12);font-size:13px}
  .site-header[data-nav-system="2"] .desktop-nav-services{display:none}
  .site-header[data-nav-system="2"] .mobile-nav-services{display:block;width:100%}
  .site-header[data-nav-system="2"] .mobile-services-toggle{display:flex;width:100%;align-items:center;justify-content:space-between;border:0;background:transparent;color:#fff;font-family:"Sora",sans-serif;font-weight:400;letter-spacing:.08em;line-height:1.2;text-transform:uppercase;cursor:pointer}
  .site-header[data-nav-system="2"] .mobile-services-toggle i{width:9px;height:9px;margin-right:3px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s ease}
  .site-header[data-nav-system="2"] .mobile-services-toggle[aria-expanded="true"] i{transform:rotate(225deg) translate(-2px,-1px)}
  .site-header[data-nav-system="2"] .mobile-services-submenu{max-height:0;margin:0;padding-left:16px;overflow:hidden;border-left:1px solid transparent;opacity:0;visibility:hidden;transition:max-height .25s ease,margin .25s ease,opacity .2s ease,border-color .2s ease}
  .site-header[data-nav-system="2"] .mobile-services-toggle[aria-expanded="true"]+.mobile-services-submenu{max-height:300px;margin:10px 0 12px;border-left-color:rgba(23,184,195,.55);opacity:1;visibility:visible}
  .site-header[data-nav-system="2"] nav .mobile-services-submenu a{display:block;padding:11px 0 11px 13px;color:rgba(255,255,255,.82);font-size:12px;letter-spacing:.06em}
  .site-header[data-nav-system="2"] nav .mobile-services-submenu a[aria-current="page"]{color:var(--aqua)}
  .site-header[data-nav-system="2"] .nav-panel-cta{display:inline-flex;margin-top:28px;width:100%;color:var(--ink)}
  .site-header[data-nav-system="2"] nav.open a:hover,.site-header[data-nav-system="2"] nav.open .mobile-services-toggle:hover{color:var(--aqua)}
  .site-header[data-nav-system="2"] nav.open a.nav-panel-cta:hover{color:var(--ink)}
  html.nav-open{overflow:hidden}
  html.nav-open .mobile-conversion-bar{display:none!important}
}
@media(min-width:760px) and (max-width:1199px){
  .site-header[data-nav-system="2"] .header-cta{display:inline-flex}
}
@media(max-width:680px){
  .site-header[data-nav-system="2"] .brand{gap:9px}
  .site-header[data-nav-system="2"] .brand img{width:56px}
  .site-header[data-nav-system="2"] .brand b{font-size:15px}
  .site-header[data-nav-system="2"] .brand small{font-size:6px}
  .site-header[data-nav-system="2"] .header-actions{gap:8px}
  .site-header[data-nav-system="2"] .language-switcher{width:62px;height:31px}
  .site-header[data-nav-system="2"] .menu-toggle{width:36px}
}
@media(max-width:399px){
  .site-header[data-nav-system="2"] .brand img{width:48px}
  .site-header[data-nav-system="2"] .brand b{font-size:14px}
  .site-header[data-nav-system="2"] .brand small{display:none}
  .site-header[data-nav-system="2"] .header-actions{gap:6px}
}
@media(max-width:339px){
  .site-header[data-nav-system="2"]{padding:0 12px;gap:8px}
  .site-header[data-nav-system="2"] .brand{gap:6px}
  .site-header[data-nav-system="2"] .brand img{width:34px}
  .site-header[data-nav-system="2"] .brand b{font-size:12px;letter-spacing:.03em}
  .site-header[data-nav-system="2"] .header-actions{gap:3px}
  .site-header[data-nav-system="2"] .language-switcher{width:52px;height:30px}
  .site-header[data-nav-system="2"] .menu-toggle{width:32px}
  .site-header[data-nav-system="2"] .menu-toggle span{width:22px}
}
@keyframes nav-panel-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){
  .site-header[data-nav-system="2"],.site-header[data-nav-system="2"] *{transition:none!important;animation:none!important}
}


/* In-copy links (operator-approved 2026-10-05): links inside paragraphs and lists get an aqua
   underline so they read as links. Text color is unchanged on purpose: aqua text fails contrast
   on the cream sections. Buttons, cards and other classed links are untouched. */
main :is(p,li,dd,td,figcaption) a:not([class]){
  text-decoration-line:underline;
  text-decoration-color:var(--aqua);
  text-decoration-thickness:1.5px;
  text-underline-offset:3px;
  text-decoration-skip-ink:auto;
  transition:text-decoration-thickness .15s ease;
}
main :is(p,li,dd,td,figcaption) a:not([class]):hover,
main :is(p,li,dd,td,figcaption) a:not([class]):focus-visible{
  text-decoration-thickness:3px;
}
main :is(p,li,dd,td,figcaption) a:not([class]):focus-visible{
  outline:2px solid var(--aqua);
  outline-offset:2px;
}


/* Visible breadcrumbs (operator-approved 2026-10-05): deeper pages only, generated from the page's
   BreadcrumbList data (build/breadcrumbs.py). Slim strip in the header's own colors and type. */
.breadcrumbs{background:#071b2a;border-top:1px solid rgba(255,255,255,.1);padding:11px clamp(16px,4.4vw,90px) 12px;color:rgba(255,255,255,.62)}
.breadcrumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:6px 0;margin:0;padding:0;list-style:none}
.breadcrumbs li{display:flex;align-items:center;min-width:0;font-family:"Sora",sans-serif;font-size:10.5px;font-weight:400;line-height:1.4;letter-spacing:.08em;text-transform:uppercase;overflow-wrap:anywhere}
.breadcrumbs li+li::before{content:"›";margin:0 10px;color:var(--aqua);font-size:13px;line-height:1}
.breadcrumbs a{color:rgba(255,255,255,.82);transition:color .2s ease}
.breadcrumbs a:hover,.breadcrumbs a:focus-visible{color:var(--aqua)}
.breadcrumbs a:focus-visible{outline:2px solid var(--aqua);outline-offset:3px}
.breadcrumbs [aria-current]{color:#fff}
@media(max-width:680px){.breadcrumbs{padding:9px 16px 10px}.breadcrumbs li{font-size:9.5px}.breadcrumbs li+li::before{margin:0 8px}}

/* i18n: Spanish layout expansion */
/* Scoped to html[lang="es"] only; English pages are untouched. Spanish copy runs 15-30% longer, so these rules only
   let long Spanish lines wrap, let fixed-ratio cards grow to fit their text, or step a display size down where a single
   Spanish word is wider than a phone screen. Same fonts, colors, spacing and components as English. */
@media(max-width:680px){
  html[lang="es"] .service-cta h2 span,
  html[lang="es"] .mobile-website-benefits > h2 span,
  html[lang="es"] .photography-gallery h2 span,
  html[lang="es"] .mobile-included-heading h2 span{white-space:normal;text-wrap:balance}
  /* ...and a line that fits within ~15-30% is scaled to stay on one line, like the English heading. 1em = the English
     size inherited from the h2, so a line is never larger than English. Divisor = measured line width in em. */
  html[lang="es"] .web-design-page .service-cta h2 span:not(:has(span)){font-size:max(.7em,min(1em,calc((100vw - 44px) / 13.6)))}
  html[lang="es"] .marketing-page .service-cta h2 span:not(:has(span)){font-size:max(.7em,min(1em,calc((100vw - 44px) / 14.5)))}
  html[lang="es"] .video-page .service-cta h2 span:not(:has(span)){font-size:max(.7em,min(1em,calc((100vw - 44px) / 12)))}
  html[lang="es"] .photography-page .service-cta h2 span:not(:has(span)){font-size:max(.7em,min(1em,calc((100vw - 44px) / 11.8)))}
  html[lang="es"] .photography-page .mobile-website-benefits > h2 span{font-size:max(.7em,min(1em,calc((100vw - 40px) / 9.2)))}
  /* Home service cards: same square as English (aspect-ratio 309/334 rebuilt as a min-height from the 2-column width),
     but free to grow, evenly per row, when the Spanish copy needs more lines instead of hiding text under the button. */
  html[lang="es"] body > main > .services .service-grid article{aspect-ratio:auto;overflow:visible;min-height:calc((100vw - 56px) * .5405)}
  html[lang="es"] body > main > .services .service-grid article>p{flex-shrink:0}
  html[lang="es"] body > main > .services .service-grid h3{white-space:normal;font-size:12px}
  html[lang="es"] body > main > .services .service-grid article>p{height:auto}
  html[lang="es"] body > main > .services .service-grid article>a{white-space:normal}
  /* Display headings: never larger than English; shrink only when the widest Spanish word would exceed the phone
     width. Divisors are the measured width of that word in em (e.g. "CONSTRUYENDO." = 7.33em). */
  html[lang="es"] .hero-copy h1{font-size:min(48px,calc((100vw - 44px) / 5.8))}
  html[lang="es"] .subpage-hero h1{font-size:min(52px,calc((100vw - 44px) / 5.4))}
  html[lang="es"] .about-page h2{font-size:min(38px,calc((100vw - 44px) / 8.8))}
  html[lang="es"] .services-index-hero h1{font-size:min(50px,calc((100vw - 44px) / 5.4))}
  html[lang="es"] .service-hero h1{font-size:min(48px,calc((100vw - 20px) / 6.8))}
  html[lang="es"] .service-faq h2{font-size:min(38px,calc((100vw - 44px) / 7.6))}
}
@media(max-width:820px){
  html[lang="es"] .contact-hero h1{font-size:min(48px,calc((100vw - 44px) / 7.4))!important}
}
@media(min-width:600px) and (max-width:820px){
  html[lang="es"] .marketing-panel strong{font-size:44px}
}
@media(max-width:340px){
  html[lang="es"] .contact .mobile-contact-button{width:100%;min-width:0}
  html[lang="es"] .service-hero-cta{max-width:calc(100vw - 40px)}
}
/* ES statistics page: "CRECIMIENTO." (7.01em) in the feature heading is wider than a 280px screen; never larger than English. */
@media(max-width:680px){
  html[lang="es"] .resource-page .service-feature h2{font-size:min(42px,calc((100vw - 44px) / 7.1))}
}

/* Authority pages */
/* Resource pages only (main.resource-page). Below 300px (folded phones) long uppercase words in the existing
   subpage-hero h1 and about-page h2 ran past the 22px gutters; step the type down there. No change at 300px and up. */
@media(max-width:340px){
  /* Fit the longest hero word ("RESOURCES.") inside the 22px gutters up to 340px (it clipped at 301-335). */
  .resource-page .subpage-hero h1{font-size:min(52px,calc((100vw - 44px) / 6.1))}
}
@media(max-width:300px){
  .resource-page .about-page h2{font-size:30px}
}
/* The feature-metric caption inherits the light .service-feature text colour (#cbd6db) on the white metric box (~1.4:1).
   Use the existing about-page copy colour instead (~5.9:1 on white, WCAG AA). Resource pages only. */
.resource-page .feature-metric p{color:rgba(9,47,77,.74)}
/* End authority pages */

/* Responsive fit fixes (2026-10-05)
   Fit-gate fixes only: each rule is scoped to the widths where the audit found sideways scroll,
   clipped text or overlapping text, so renders at other widths are unchanged. Type uses
   min()/clamp() against the existing size, so it only scales down when the line would not fit. */

/* Services index: the two-up card grid cannot hold "Commercials"/"Photography" plus the icon
   column between the 780px breakpoint and ~950px; keep the single-column card stack there. */
@media(min-width:781px) and (max-width:947px){
  .services-index-grid{grid-template-columns:minmax(0,1fr)}
}

/* Service pages, "Explore other services": the 2-column block plus 3 link columns overflowed
   from 681px to ~775px; stack the heading above the links (the intended <=980px layout). */
@media(min-width:681px) and (max-width:799px){
  .other-services{grid-template-columns:minmax(0,1fr)}
}

/* Home contact: copy column + fixed 340px card overflowed between 681px and ~722px; stack. */
@media(min-width:681px) and (max-width:739px){
  .contact{grid-template-columns:minmax(0,1fr)}
}

/* Home service cards: the fixed aspect-ratio box and fixed 52px copy height pushed the copy
   under the "Learn more" button (and clipped the icons at the top) up to 428px. Let the cards
   size to their content; cards in a row stay equal height and their buttons stay aligned. */
@media(max-width:428px){
  body > main > .services .service-grid article{aspect-ratio:auto}
  body > main > .services .service-grid article>*{flex-shrink:0}
  body > main > .services .service-grid article>p{height:auto;flex-grow:1}
}
/* Card titles are single nowrap lines: shrink "VIDEO PRODUCTION" to the card's content width. */
@media(max-width:379px){
  body > main > .services .service-grid h3{font-size:max(11px,min(13.5px,calc((50vw - 44px) / 10.9)))}
}

/* Narrow phones (Galaxy Fold 280px to ~360px). */
@media(max-width:380px){
  /* Single-column grids whose 1fr column grew to the widest word and pushed text off-screen. */
  .about-page,
  .services-index-grid,
  .service-cta,
  .service-faq{grid-template-columns:minmax(0,1fr)}
  .portfolio-hero-copy{min-width:0}

  /* Headings with long single words: scale down only when the word would not fit. */
  .about-page h2{font-size:min(38px,calc((100vw - 44px) / 8.3))}
  .services-index-hero h1{font-size:min(50px,calc((100vw - 44px) / 6.27))}
  .web-design-page .service-hero h1{font-size:min(48px,calc((100vw - 40px) / 6.43))}
  .video-page .service-hero h1{font-size:min(48px,calc((100vw - 40px) / 6.56))}
  .marketing-page .service-hero h1{font-size:min(48px,calc((100vw - 40px) / 6.22))}
  .portfolio-hero h1{font-size:min(52px,calc((100vw - 44px) / 5.51))}
  .subpage-hero h1{font-size:min(52px,calc((100vw - 44px) / 5.08))}
  .photography-page .service-faq h2{font-size:min(38px,calc((100vw - 44px) / 6.88))}
  .web-design-page .service-faq h2{font-size:min(38px,calc((100vw - 44px) / 6.63))}

  /* Services index cards: "Photography"/"Commercials" are ~8.3em wide beside a 65px icon. */
  .services-index-card{grid-template-columns:65px minmax(0,1fr)}
  .services-index-card h2{font-size:min(24px,calc((100vw - 178px) / 8.4))}

  /* Hand-balanced heading lines (white-space:nowrap spans): shrink to fit the line, and let
     them wrap instead of clipping if the floor size is reached. */
  .marketing-page .mobile-website-benefits > h2{font-size:clamp(26px,calc((100vw - 40px) / 7.77),40px)}
  .photography-page .mobile-website-benefits > h2{font-size:clamp(26px,calc((100vw - 40px) / 8.75),40px)}
  .marketing-page .mobile-included-heading h2{font-size:clamp(24px,calc((100vw - 36px) / 8.75),33px)}
  .photography-page .photography-gallery h2{font-size:clamp(22px,calc((100vw - 40px) / 10.8),29px)}
  .web-design-page .service-cta h2{font-size:clamp(20px,calc((100vw - 44px) / 11.39),clamp(28px,7.9vw,31px))}
  .video-page .service-cta h2{font-size:clamp(20px,calc((100vw - 44px) / 11.38),clamp(29px,8.4vw,33px))}
  .marketing-page .service-cta h2{font-size:clamp(20px,calc((100vw - 44px) / 11.87),clamp(27px,7.7vw,30.5px))}
  .photography-page .service-cta h2{font-size:clamp(20px,calc((100vw - 44px) / 12.45),clamp(26.5px,7.6vw,30px))}
  .marketing-page .mobile-website-benefits > h2 span,
  .photography-page .mobile-website-benefits > h2 span,
  .marketing-page .mobile-included-heading h2 > span,
  .photography-page .photography-gallery h2 > span,
  .service-cta h2 span{white-space:normal}

  /* Home "Our story" card: brand name and tagline were nowrap in a ~128px column. */
  .mobile-story-card strong,
  .mobile-story-card span{white-space:normal}
}

/* Below ~340px even 11px titles do not fit a ~110px card: let them wrap. The services index
   cards put the icon above the title so the title keeps a readable size. */
@media(max-width:340px){
  body > main > .services .service-grid h3{white-space:normal}
  .services-index-card{grid-template-columns:minmax(0,1fr);gap:16px}
  .services-index-card h2{font-size:min(24px,calc((100vw - 88px) / 8.4))}
}


/* Final fit fixes (2026-10-05): Spanish text at 681-760px (two-column-to-three transition widths). Spanish only. */
@media(min-width:681px) and (max-width:760px){
  /* Benefit cards sized to their content, so long Spanish headings pushed the row past the screen. */
  html[lang="es"] .service-benefits{grid-template-columns:repeat(3,minmax(0,1fr))}
  html[lang="es"] .service-benefits article{min-width:0}
  html[lang="es"] .service-benefits h2,html[lang="es"] .service-benefits h3{overflow-wrap:break-word;hyphens:auto}
  /* Home process steps: "estrategia" did not fit the 112px step column at 18px. */
  html[lang="es"] .steps h3{font-size:16px}
  /* Marketing hero panel: "Más atención calificada." ran 3px past its panel at 44px. */
  html[lang="es"] .marketing-panel strong{font-size:40px}
}
/* Photography CTA: the restored space between "Ready to show" and "what sets you apart?" makes the
   second line one word longer; cap the size so it stays two lines like the video CTA (only above ~1375px). */
@media(min-width:1281px){.photography-page .service-cta h2{font-size:min(4vw,55px)}}


/* Footer "Resources" column (operator-requested 2026-10-05): third column on desktop; below 1101px it
   wraps under Quick links / Services in the existing two-column grid. */
@media(min-width:1101px){.footer-links{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}}
