:root{color-scheme:light;--navy:#002238;--ink:#102d40;--muted:#556772;--cyan:#00bfd9;--teal:#006d7c;--paper:#fbfaf7;--line:#dbe2e3;--font:"Avenir Next",Avenir,"Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--font)}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:600;letter-spacing:-.045em;line-height:1.1;text-wrap:balance}p{text-wrap:pretty}h1{font-size:clamp(2.7rem,4.8vw,4.3rem)}h2{font-size:clamp(2.1rem,3.2vw,3rem)}h3{font-size:1.5rem}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--teal);outline-offset:5px}.wrap{width:min(1160px,calc(100% - 5rem));margin-inline:auto}.section{padding-block:5rem}.eyebrow{font-size:.75rem;line-height:1.5;letter-spacing:.13em;text-transform:uppercase;font-weight:600;color:var(--teal);margin-bottom:1.2rem}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:20;padding:.5rem 1rem;background:white;color:var(--navy)}.skip-link:focus{top:1rem}.site-header{background:var(--navy);color:white}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding-block:.8rem;min-height:116px}.brand{display:block;width:110px;flex-shrink:0}.brand-art{display:block;position:relative;overflow:hidden;aspect-ratio:440/358;width:100%}.brand-art img{position:absolute;width:380%;height:auto;max-width:none;left:-138%;top:-76.5%}.header-right{display:flex;align-items:center;gap:2.2rem;font-size:.875rem}.header-phone{color:#c9d8e0}.header-cta{padding:.6rem 1rem;border:1px solid #5a788b;border-radius:4px;white-space:nowrap}.header-cta span{margin-left:.75rem;color:var(--cyan)}.site-header a:focus-visible{outline-color:var(--cyan)}.header-cta:hover{border-color:var(--cyan)}.header-phone:hover{color:white}
.hero{display:grid;grid-template-columns:1.08fr 1fr;align-items:center;gap:3rem;padding-block:5rem 5.5rem}.hero h1 span{color:var(--teal)}.intro{max-width:31rem;margin-top:1.7rem;font-size:1.0625rem;line-height:1.75;color:var(--muted)}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1.6rem;margin-top:1.8rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:1.2rem;min-height:49px;padding:.85rem 1.2rem;border:1px solid transparent;border-radius:4px;font-size:.9375rem;font-weight:600;line-height:1.4}.primary{background:var(--navy);color:#fff}.primary:hover{background:#14445a}.button span{color:var(--cyan)}.text-link{display:inline-flex;align-items:center;gap:.6rem;background:none;border:0;padding:.25rem 0;font-size:.875rem;font-weight:600;color:var(--teal);line-height:1.5;text-align:left}.text-link:hover{text-decoration:underline;text-underline-offset:5px}.hero-person{font-size:.8125rem;color:var(--muted);margin-top:1.2rem}.hero-visual{min-width:0}.device-scene{position:relative;aspect-ratio:1.4;isolation:isolate}.device-scene::before{content:"";position:absolute;inset:4% 3% 2%;border-radius:50%;background:radial-gradient(ellipse,#e0e9e7 0%,#eaf0ed55 52%,transparent 73%);z-index:-1}.laptop{position:absolute;left:0;top:6%;width:91%;filter:drop-shadow(0 14px 16px #00223817)}.laptop-display{border:7px solid #23313a;border-radius:12px 12px 2px 2px;background:#fff;overflow:hidden}.laptop-display .demo-screen{aspect-ratio:1.55;border-radius:0;box-shadow:none}.browser-bar{height:23px;background:#f2f4f3;display:flex;align-items:center;gap:4px;padding:0 9px;white-space:nowrap;color:#697a7d;font:8px/1 Arial,sans-serif}.browser-bar i{width:5px;height:5px;flex:none;border-radius:50%;background:#bfcacb}.browser-bar span{margin-left:7px;overflow:hidden;text-overflow:ellipsis}.laptop-base{height:14px;width:108%;margin-left:-4%;background:linear-gradient(#d8dde0,#9fadb4);border-radius:0 0 50% 50%/0 0 80% 80%;position:relative}.laptop-base::before{content:"";position:absolute;width:16%;height:4px;background:#9da9b0;left:42%;border-radius:0 0 5px 5px}.phone{position:absolute;width:27%;right:0;bottom:0;border:5px solid #25333a;background:#faf8f3;border-radius:20px;overflow:hidden;box-shadow:0 12px 28px #00223825}.phone-camera{position:absolute;top:5px;left:30%;height:7px;width:40%;background:#25333a;border-radius:8px;z-index:1}.phone-content{padding-top:16px;color:#283d35}.phone-brand{white-space:nowrap;font-family:Georgia,serif;font-size:11px;text-align:center;letter-spacing:-.02em;padding:6px 0}.phone-content>img{width:100%;height:auto;aspect-ratio:1;object-fit:cover}.phone-copy{padding:10px;font-size:8px;line-height:1.3}.phone-copy small{display:block;font:5px/1.4 Arial,sans-serif;letter-spacing:.12em}.phone-copy h3{font:600 15px/1.05 Georgia,serif;letter-spacing:-.03em;margin:5px 0 8px}.phone-copy p{font-size:8px}.phone-copy b{font-size:11px;display:block}.phone-copy b span{font-size:5px;font-weight:400}.phone-shop{display:block;text-align:center;background:#2d493a;color:white;padding:5px 2px;margin-top:8px;font-size:6px}.hero-visual figcaption{margin-top:1rem;text-align:center;font-size:.6875rem;color:var(--muted)}
.services{border-top:1px solid var(--line)}.section-heading{margin-bottom:2.8rem}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem}.service-grid article+article{border-left:1px solid var(--line);padding-left:2.5rem}.service-number{display:block;color:var(--teal);font-size:.75rem;margin-bottom:1.2rem}.service-grid h3{font-size:1.55rem;margin-bottom:1rem}.service-grid article>p{color:var(--muted);font-size:.9375rem}.service-grid .service-details{font-size:.75rem;line-height:1.8;margin-top:1.3rem;color:#3e626c}.scope-note{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--line);font-size:.8125rem;color:var(--muted)}
.work-section{background:#eef2f1;border-block:1px solid #e0e6e4}.work-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:3rem;margin-bottom:2.5rem}.work-heading>p{max-width:24rem;color:var(--muted);font-size:.9375rem}.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.7rem}.project{min-width:0}.project-preview{display:block;position:relative;width:100%;aspect-ratio:4/3;padding:0;border:0;border-radius:6px;overflow:hidden;background:#d9e4e5}.preview-open{position:absolute;right:.75rem;bottom:.75rem;background:white;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;font-size:16px;color:var(--navy);box-shadow:0 2px 12px #00223820}.project-preview:hover .preview-open{background:var(--navy);color:white}.web-preview{display:flex;align-items:center;justify-content:center;padding:7%;background:#dae7e4}.mini-browser{width:100%;border:1px solid #b4c4c1;border-radius:4px;overflow:hidden;box-shadow:0 6px 12px #224b4220}.mini-browser .demo-screen{border-radius:0;aspect-ratio:1.5;box-shadow:none}.mini-browser .browser-bar{height:16px;font-size:6px}.mini-browser .browser-bar i{width:4px;height:4px}.software-preview{display:grid;place-items:center;background:#dce7e7;padding:8%}.board-frame{width:100%;box-shadow:0 8px 15px #10332626}.board-frame img{width:100%;height:auto}.design-preview>img{width:100%;height:100%;object-fit:cover}.project-meta{padding-top:1.3rem}.project-type{font-size:.6875rem;color:var(--teal);text-transform:uppercase;letter-spacing:.12em;font-weight:600}.project-meta h3{font-size:1.35rem;margin:.5rem 0 .7rem}.project-meta p{font-size:.875rem;color:var(--muted);line-height:1.65}.project-meta .text-link{margin-top:.7rem;font-size:.8125rem}.work-note{font-size:.75rem;color:var(--muted);margin-top:2rem;max-width:50rem}
.about-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:5rem}.about-copy{max-width:38rem}.about-copy p{color:var(--muted);margin-bottom:1.3rem}.about-copy .about-lead{color:var(--ink);font-size:1.2rem;line-height:1.6}.about-signature{display:flex;flex-direction:column;margin-top:2rem;border-left:2px solid #7fbcc2;padding-left:1rem}.about-signature span{font-size:.9375rem;font-weight:600}.about-signature small{font-size:.75rem;color:var(--muted)}
.contact-section{background:var(--navy);color:#f4f8fa}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:6rem}.contact-section .eyebrow{color:#68d7e3}.contact-copy>p:not(.eyebrow){max-width:26rem;color:#b7cbd7;font-size:.9375rem;margin-top:1.5rem}.contact-links{display:flex;flex-direction:column;gap:.45rem;margin-top:2rem;font-size:1rem}.contact-links a[href^="mailto:"]{color:#75dce5}.contact-links a:hover{text-decoration:underline;text-underline-offset:4px}.field{margin-bottom:1.25rem}.field label{display:block;font-size:.8125rem;font-weight:500;margin-bottom:.5rem}.field label span{font-size:.75rem;color:#b7cbd7;font-weight:400}.field input,.field textarea{display:block;width:100%;min-width:0;border:1px solid #527180;background:#0a3045;border-radius:4px;padding:.8rem .9rem;color:#fff;font-size:.9375rem}.field textarea{resize:vertical;line-height:1.5}.field input::placeholder,.field textarea::placeholder{color:#a9bdc9}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.contact-section a:focus-visible,.contact-section button:focus-visible,.contact-section input:focus-visible,.contact-section textarea:focus-visible{outline-color:var(--cyan)}.contact-section .primary{background:var(--cyan);color:var(--navy)}.contact-section .primary span{color:var(--navy)}.contact-section .primary:hover{background:#69e0eb}.form-submit{width:100%}.form-note{font-size:.75rem;color:#b7cbd7;line-height:1.5;margin-top:.85rem}#form-status{color:#75dce5;font-size:.8125rem;margin-top:.7rem}#form-status:empty{display:none}.footer{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding-block:2rem;font-size:.75rem;color:var(--muted)}.footer>div{display:flex;flex-direction:column}.footer strong{font-size:.875rem;color:var(--ink);font-weight:600}.footer .text-link{font-size:.75rem}
dialog{width:min(900px,calc(100% - 3rem));max-height:90dvh;padding:1.5rem;border:1px solid #d4dedf;border-radius:8px;background:var(--paper);color:var(--ink);box-shadow:0 20px 100px #00223835}dialog::backdrop{background:#001a2bc7;backdrop-filter:blur(3px)}.dialog-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem;margin-bottom:1.25rem}.dialog-heading .eyebrow{margin-bottom:.45rem;font-size:.65rem}.dialog-heading h2{font-size:1.7rem}.dialog-close{display:grid;place-items:center;width:40px;height:40px;flex:none;font-size:28px;background:white;color:var(--navy);border:1px solid var(--line);border-radius:50%;line-height:1}.dialog-close:hover{background:#e8eff0}.preview-tabs{display:flex;gap:.5rem;margin-bottom:1.2rem}.preview-tabs button{border:1px solid #c4d1d3;background:transparent;border-radius:4px;padding:.4rem .8rem;font-size:.8125rem;color:var(--ink)}.preview-tabs button[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:white}#dialog-body{max-width:680px;margin-inline:auto}#dialog-body .demo-screen{box-shadow:none;border:1px solid #c4d1d3}.full-design{width:100%;height:auto}.dialog-note{font-size:.75rem;color:var(--muted);margin-top:1.2rem}[hidden]{display:none!important}
@media(max-width:1000px){.wrap{width:calc(100% - 3rem)}.hero{gap:2rem;padding-block:4rem}.hero h1{font-size:3.1rem}.device-scene{aspect-ratio:1.28}.service-grid{gap:2rem}.service-grid article+article{padding-left:1.8rem}.contact-grid{gap:3rem}.about-section{gap:3rem}.work-heading{gap:2rem}}
@media(max-width:760px){.wrap{width:calc(100% - 2.5rem)}.header-inner{min-height:98px;padding-block:.7rem;gap:1rem}.brand{width:90px}.header-right{gap:1rem;font-size:.8125rem}.header-cta{padding:.5rem .75rem}.header-cta span{margin-left:.25rem}.hero{grid-template-columns:1fr;gap:2.5rem;padding-block:3rem 3.5rem}.hero h1{font-size:clamp(2.55rem,7.6vw,3.5rem)}.hero .eyebrow{font-size:.6875rem;letter-spacing:.09em}.intro{font-size:1rem;max-width:35rem;margin-top:1.4rem}.hero-actions{gap:1.25rem;margin-top:1.5rem}.hero-person{margin-top:1rem}.hero-visual{width:min(100%,490px);margin-inline:auto}.device-scene{aspect-ratio:1.4}.section{padding-block:3.5rem}.section-heading{margin-bottom:2rem}.service-grid{grid-template-columns:1fr;gap:1.75rem}.service-grid article{display:block}.service-grid article+article{border-left:0;border-top:1px solid var(--line);padding:1.75rem 0 0}.service-number{grid-column:1;grid-row:1;padding-top:.3rem;margin:0}.service-grid h3{grid-column:2;font-size:1.35rem}.service-grid h3 br{display:none}.service-grid article>p{grid-column:2}.service-grid .service-details{margin-top:.75rem}.scope-note{margin-top:1.75rem;padding-top:1.25rem}.work-heading{display:block;margin-bottom:2rem}.work-heading>p{margin-top:1.2rem;max-width:34rem}.work-grid{grid-template-columns:1fr;gap:2.5rem;max-width:500px;margin-inline:auto}.project-preview{aspect-ratio:1.5}.project-meta{padding-top:1rem}.project-meta h3{margin:.45rem 0 .5rem}.work-note{margin-top:2rem}.about-section{grid-template-columns:1fr;gap:1.8rem}.about-copy .about-lead{font-size:1.1rem}.about-copy p{font-size:.9375rem;margin-bottom:1.2rem}.about-signature{margin-top:1.5rem}.contact-grid{grid-template-columns:1fr;gap:2.5rem}.contact-copy>p:not(.eyebrow){max-width:34rem}.contact-links{margin-top:1.5rem}.footer{align-items:flex-start;flex-wrap:wrap;gap:1.25rem}.footer>div{width:100%}.footer>p{max-width:65%}.footer .text-link{margin-left:auto}dialog{width:calc(100% - 1.5rem);padding:1rem}.dialog-heading{gap:1rem}.dialog-heading h2{font-size:1.35rem}}
@media(max-width:400px){.device-scene{aspect-ratio:1.15}.header-right{gap:.65rem;font-size:.75rem}.header-cta{padding:.45rem .6rem}.hero h1{font-size:clamp(2rem,10.4vw,2.55rem)}.hero-actions{gap:1rem}.button{font-size:.875rem;padding:.8rem 1rem}.phone-brand{font-size:8px}.phone-copy{padding:7px}.phone-copy h3{font-size:11px}.phone-copy small{font-size:4px}.phone-shop{font-size:5px;margin-top:5px}.phone-copy p{font-size:6px}.phone-copy b{font-size:8px}.form-row{grid-template-columns:1fr;gap:0}.hero-visual figcaption{font-size:.625rem}.footer>p{max-width:60%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Appointment-led consultation homepage. Original brand artwork is unchanged. */
.hero{grid-template-columns:1.12fr 1fr;gap:4rem;padding-block:5.5rem 6rem}.hero h1{font-size:clamp(2.7rem,4.65vw,4.2rem)}.hero .intro{max-width:30rem}.hero-actions{gap:1rem 1.4rem}.header-cta{font-size:.8125rem}.consultation-card{position:relative;overflow:hidden;border:1px solid #c9dcdd;border-radius:12px;padding:2rem;background:linear-gradient(145deg,#f0f6f3,#e5eeee);box-shadow:0 20px 60px #00223808}.consultation-card-top{position:relative;display:flex;align-items:center;gap:.8rem;font-size:.6875rem;text-transform:uppercase;letter-spacing:.1em;color:var(--teal);font-weight:600;margin-bottom:2rem}.card-mark{width:38px;height:38px;display:grid;place-items:center;background:var(--navy);color:#73d8dd;border-radius:9px;font-size:1.4rem}.consultation-card h2{font-size:1.85rem;line-height:1.2;position:relative}.consultation-steps{list-style:none;margin:1.8rem 0 0;padding:0}.consultation-steps li{display:flex;align-items:flex-start;gap:1rem;padding:1.1rem 0;border-bottom:1px solid #c9dbdb}.consultation-steps li:first-child{padding-top:0}.step-index{font-size:.6875rem;color:var(--teal);border:1px solid #b3cecf;width:29px;height:29px;display:grid;place-items:center;flex-shrink:0;border-radius:50%;margin-top:1px}.consultation-steps h3{font-size:1rem;letter-spacing:-.02em;line-height:1.4}.consultation-steps p{font-size:.8125rem;line-height:1.65;margin-top:.3rem;color:var(--muted)}.consultation-card-foot{font-size:.6875rem;letter-spacing:.04em;color:var(--teal);margin-top:1.1rem}.section-heading h2{max-width:38rem}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}.emerald-feature{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:3rem;border:1px solid #ccdcd9;border-radius:9px;padding:1.5rem;margin-bottom:3rem;background:#f9fbfa}.emerald-feature .project-preview{aspect-ratio:16/10;background:#e3eeeb}.emerald-feature .project-meta{padding:1rem 1.3rem 1rem 0}.emerald-feature .project-type{display:inline-flex;align-items:center;gap:.5rem;font-size:.625rem;letter-spacing:.1em;background:#e7f0e9;color:#27684a;padding:.35rem .7rem;border-radius:20px}.emerald-feature .project-type::before{content:"";width:6px;height:6px;border-radius:50%;background:#3e875d}.emerald-feature h3{font-size:2rem;margin:1rem 0}.emerald-feature p{font-size:.9375rem}.emerald-feature .text-link{margin-top:1.1rem}.work-grid .project-preview{aspect-ratio:16/10}.work-grid .web-preview{padding:9% 12%}.work-grid .design-preview{padding:0 8%;background:#dae7e4}.work-grid .design-preview>img{object-fit:contain}.project-meta{max-width:31rem}
@media(max-width:1000px){.hero{gap:2rem;padding-block:4rem}.consultation-card{padding:1.5rem}.consultation-card h2{font-size:1.6rem}.hero h1{font-size:3rem}.emerald-feature{gap:2rem}.emerald-feature h3{font-size:1.7rem}.emerald-feature .project-meta{padding-right:0}.header-right{gap:1.2rem}}
@media(max-width:760px){.hero{grid-template-columns:1fr;padding-block:3.5rem;gap:2.5rem}.hero h1{font-size:clamp(2.5rem,7.8vw,3.5rem)}.consultation-card{width:100%;max-width:520px;padding:1.7rem;justify-self:center}.consultation-card h2{font-size:1.8rem}.consultation-card-top{margin-bottom:1.5rem}.header-phone{display:none}.header-cta{white-space:normal;max-width:220px;font-size:.8125rem}.emerald-feature{grid-template-columns:1fr;gap:.5rem;padding:1rem;margin-bottom:2.5rem}.emerald-feature .project-meta{padding:1rem .25rem .5rem}.emerald-feature h3{font-size:1.8rem}.work-grid{grid-template-columns:1fr;max-width:none;gap:2.5rem}.work-grid .project-preview{aspect-ratio:1.5}.project-meta{max-width:none}.hero-actions{align-items:flex-start;flex-direction:column;gap:1rem}.contact-copy h2 br{display:none}}
@media(max-width:400px){.header-inner{gap:.75rem}.header-cta{font-size:.75rem;padding:.65rem}.header-cta span{display:none}.brand{width:82px}.hero h1{font-size:clamp(2.1rem,10vw,2.8rem)}.consultation-card{padding:1.3rem}.consultation-card h2{font-size:1.6rem}.consultation-card-top{font-size:.625rem;gap:.65rem}.consultation-steps li{gap:.75rem}.emerald-feature .project-type{font-size:.6rem}}

/* Direct consultation requests and a high-contrast, filled header CTA. */
.site-header .header-cta{background:var(--cyan);border-color:var(--cyan);color:var(--navy);font-weight:600}.site-header .header-cta span{color:var(--navy)}.site-header .header-cta:hover{background:#69e0eb;border-color:#69e0eb}.site-header .header-cta:focus-visible{outline:3px solid white;outline-offset:4px}.form-submit:disabled{cursor:default;opacity:.75}.form-note a{text-decoration:underline;text-underline-offset:3px}.form-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}#form-status[data-state="error"]{color:#ffd7b0}#form-status[data-state="success"]{color:#a5ead8}

/* Keep confirmed submission feedback prominent and within the form action area. */
#form-status[data-state="success"]{margin:0 0 1rem;padding:1rem 1.1rem;border:1px solid #a5ead8;border-radius:4px;background:#103e3d;color:#d8fff0;font-size:1rem;font-weight:600;line-height:1.6}#form-status:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}

/* Allow the expanded footer links to wrap cleanly on narrow screens. */
.footer{flex-wrap:wrap}.footer nav{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem 1rem}.footer nav .text-link{margin-left:0}

/* Personal introduction: role, invitation, and a quiet location line. */
.about-introduction .about-role{font-size:1rem;color:var(--muted);margin-top:1.1rem;max-width:24rem}.about-introduction .about-question{font-size:1.2rem;font-weight:600;color:var(--teal);margin-top:1.6rem}.about-introduction .about-location{font-size:.8125rem;color:var(--muted);margin-top:.65rem}
