:root{--background:#f7f8fa;--foreground:#152532;--primary:#153d51;--border:#cad1d6;--accent:#b9e45c;--font-sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--background);color:var(--foreground);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #4d8098;outline-offset:6px}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p,figure{margin:0}p+p{margin-top:20px}h1,h2,h3{font-weight:500;line-height:1.12;letter-spacing:-.045em}h2{font-size:clamp(2rem,3.6vw,3.8rem)}h3{font-size:1.5rem}p{color:#52616b}.header{display:flex;justify-content:space-between;align-items:center;padding:24px 4.5%;gap:25px;border-bottom:1px solid var(--border);background:var(--background)}.brand{display:flex;align-items:center;gap:16px;font-size:.75rem;letter-spacing:.15em;line-height:1.5}.brand strong{display:block;font-size:1rem;letter-spacing:0;font-weight:500}.monogram{font-size:2.3rem;letter-spacing:-.1em;font-weight:700;border-right:1px solid var(--border);padding-right:20px}.header nav{display:flex;align-items:center;gap:28px;font-size:.875rem}.header nav a:hover{color:#537323}.contact-nav{border:1px solid #203744;padding:9px 18px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:690px}.hero-copy{padding:58px 9% 30px}.eyebrow{font-size:.75rem;letter-spacing:.15em;font-weight:600;color:#496170;margin-bottom:25px}.hero h1{font-size:clamp(3rem,5.1vw,5.8rem);line-height:1.01;letter-spacing:-.055em}.hero h1 em{font-family:Georgia,serif;font-weight:400;color:#537084}.intro{max-width:440px;margin-top:28px;font-size:1rem}.text-link{display:flex;justify-content:space-between;border-bottom:1px solid #243d4a;padding:18px 0 10px;max-width:260px;margin-top:12px}.text-link span{font-size:1.5rem}.hero-foot{display:flex;justify-content:space-between;gap:12px;font-size:.75rem;letter-spacing:.06em;margin-top:48px;color:#536b78}.hero-image{position:relative;min-height:100%;background:#30444e}.hero-image img{height:100%;position:absolute;object-position:51% center}.hero-image figcaption{position:absolute;bottom:0;left:0;right:0;background:#142b35e8;color:white;display:flex;justify-content:space-between;gap:15px;padding:20px 25px;font-size:.75rem;letter-spacing:.05em}.section{padding:90px 6%}.studio{display:grid;grid-template-columns:1fr 1fr;gap:10%;border-top:1px solid var(--border)}.large-copy{font-size:1.35rem;color:#243b48;line-height:1.55}.facts{display:flex;gap:90px;border-top:1px solid var(--border);margin-top:35px;padding-top:25px}.facts strong{display:block;font-size:2.8rem;font-weight:400;letter-spacing:-.05em;line-height:1.2}.facts span{font-size:.875rem;color:#687780}.services{background:#142f3e;color:white}.services .eyebrow{color:#b9d588}.section-heading{margin-bottom:45px}.service-list article{display:grid;grid-template-columns:45px 1fr 1.1fr;gap:30px;border-top:1px solid #ffffff30;padding:28px 0}.service-list p{color:#b9c8d0}.number{color:#a6c171;font-size:.875rem}.service-list h3{font-size:1.6rem;letter-spacing:-.02em}.featured{display:grid;grid-template-columns:1.05fr 1fr;background:#e9edf0}.featured>img{height:520px;object-position:center 40%}.featured>div{padding:48px}.featured h3{font-size:2.8rem}.featured .place{font-size:1rem;color:#405f71;margin:16px 0 28px}.amount{border-top:1px solid #b4c2ca;margin-top:35px;padding-top:22px}.amount strong{font-size:2.3rem;font-weight:400;letter-spacing:-.03em;display:block}.amount span{font-size:.875rem;color:#586d78}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:38px;margin-top:45px}.project-grid img{height:320px;margin-bottom:25px}.project-grid .eyebrow{margin-bottom:12px}.project-grid h3{font-size:1.9rem;margin-bottom:14px}.water{margin-top:40px;padding:30px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.water .eyebrow{margin-bottom:12px}.water h3{margin-bottom:12px}.gallery-heading{display:flex;justify-content:space-between;gap:25px;margin:60px 0 25px}.gallery-heading p{font-size:.9rem}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.gallery img{height:280px}.gallery figcaption{font-size:.875rem;color:#61727d;padding-top:12px}.resources{display:grid;grid-template-columns:1fr 1.3fr;gap:10%;border-top:1px solid var(--border)}.resources h2{margin-bottom:20px}.resource-list a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0;border-bottom:1px solid var(--border)}.resource-list a:first-child{padding-top:0}.resource-list small{display:block;font-size:.75rem;letter-spacing:.1em;color:#637480}.resource-list strong{display:block;font-size:1.25rem;font-weight:500;line-height:1.4;margin-top:8px}.resource-list a:hover strong{text-decoration:underline}.contacts{background:#dce9d0;display:grid;grid-template-columns:1fr 1fr;gap:10%}.contacts h2{font-size:clamp(2.7rem,4.5vw,4.5rem);margin-bottom:25px}.contacts .eyebrow{color:#48633b}.contacts p{color:#475d41}.emails{align-self:center}.emails span{display:block;font-size:.75rem;letter-spacing:.1em;color:#4b6244}.emails a{display:block;font-size:clamp(1rem,1.9vw,1.8rem);letter-spacing:-.02em;border-bottom:1px solid #9caf90;padding:6px 0 15px;margin-bottom:22px;overflow-wrap:anywhere}.emails a:hover{color:#557331}footer{padding:25px 6%;display:flex;justify-content:space-between;gap:25px;font-size:.875rem;color:#526571}.skip{position:absolute;top:-100px;padding:15px;background:white;z-index:10}.skip:focus{top:10px}@media(min-width:1700px){body{max-width:1800px;margin:auto}}@media(max-width:900px){.header{align-items:flex-start;flex-direction:column}.header nav{width:100%;justify-content:space-between;gap:12px}.hero{min-height:620px}.hero-copy{padding:40px 8% 25px}.hero h1{font-size:3.5rem}.hero-foot{flex-direction:column}.section{padding:65px 6%}.featured>div{padding:30px}.featured h3{font-size:2rem}.featured>img{height:460px}.gallery{grid-template-columns:repeat(2,1fr)}.gallery img{height:330px}.gallery-heading{flex-direction:column;gap:10px}.facts{gap:45px}.service-list article{grid-template-columns:30px 1fr 1fr;gap:15px}.hero-image figcaption{flex-direction:column;gap:5px}}@media(max-width:600px){.header{padding:20px 6%}.header nav{font-size:.875rem;flex-wrap:wrap}.contact-nav{padding:4px 10px}.hero{grid-template-columns:1fr}.hero-copy{padding:40px 6% 25px}.hero h1{font-size:clamp(2.7rem,11vw,3.7rem)}.hero-image{min-height:390px}.hero-image img{object-position:center}.hero-foot{margin-top:35px}.studio,.resources,.contacts{grid-template-columns:1fr;gap:30px}.service-list article{grid-template-columns:25px 1fr}.service-list p{grid-column:2}.service-list h3{font-size:1.5rem}.featured{grid-template-columns:1fr}.featured>img{height:330px}.featured>div{padding:28px}.project-grid{grid-template-columns:1fr;gap:35px}.project-grid img{height:260px}.gallery{gap:14px}.gallery img{height:230px}.section{padding:55px 6%}.emails a{font-size:1.2rem}footer{flex-direction:column;gap:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.profile-links{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:25px}.profile-links a{border-bottom:1px solid #9cabb3;font-size:.875rem}.profile-links a:hover{color:#537323}.software{background:#e9edf0;border-top:1px solid var(--border)}.software-intro{display:grid;grid-template-columns:1fr 1.1fr;gap:9%}.software-intro h2{margin-bottom:25px}.software-offer{border-left:3px solid #6b874b;padding-left:32px}.sale-label{font-size:.75rem;letter-spacing:.12em;color:#405e29;font-weight:700}.software-offer h3{font-size:2.3rem;margin:20px 0}.software-offer h3 em{font-family:Georgia,serif;font-weight:400;color:#537084}.software-offer p a{text-decoration:underline}.purchase-link{display:inline-block;padding:15px 22px;margin-top:24px;background:#142f3e;color:#fff;font-size:.95rem}.purchase-link:hover{background:#284e61}.software-features{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:50px;padding-top:30px;border-top:1px solid #bcc9d1}.software-features h3{font-size:1.3rem;margin-bottom:15px;letter-spacing:-.025em}.software-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.software-gallery figure{min-width:0}.software-gallery a{display:block;background:white;border:1px solid #bdc9d3;padding:8px}.software-gallery img{width:100%;height:330px;object-fit:contain;object-position:top}.software-gallery figcaption{display:flex;justify-content:space-between;font-size:.875rem;padding-top:12px;color:#455f70}.software-gallery a:hover{border-color:#234e69}.header nav{gap:20px}@media(max-width:900px){.software-intro{gap:35px}.software-gallery img{height:260px}.software-features{gap:20px}}@media(max-width:600px){.software-intro,.software-features,.software-gallery{grid-template-columns:1fr}.software-offer{padding-left:20px}.software-offer h3{font-size:2rem}.software-gallery img{height:auto}.software-features{gap:30px}.header nav{gap:14px}}

/* Service detail pages follow the studio's existing typography and palette. */
.detail-hero{padding-top:42px;border-bottom:1px solid var(--border);background:#e9edf0}.detail-hero h1{font-size:clamp(2.3rem,4.5vw,4.6rem);max-width:1050px;line-height:1.1;overflow-wrap:break-word}.detail-hero h1 em{font-family:Georgia,serif;color:#537084;font-weight:400}.detail-hero .large-copy{max-width:880px;margin-top:30px}.detail-hero p:not(.eyebrow){max-width:880px}.breadcrumbs{padding:22px 6%;font-size:.875rem;color:#52616b}.breadcrumbs a{text-decoration:underline;text-underline-offset:4px}.detail-body>p{max-width:900px;margin-top:22px}.detail-body>h2:not(:first-child){margin-top:55px}.detail-body h2{font-size:clamp(1.9rem,3vw,3rem)}.detail-body p a,.faq p a{text-decoration:underline;text-underline-offset:3px}.section-lead{max-width:880px;margin:25px 0 35px}.services .section-lead{color:#c6d3dc}.detail-link{display:block;width:fit-content;max-width:100%;margin-top:25px;border-bottom:1px solid currentColor;font-size:1rem;padding-bottom:5px}.detail-link:hover{color:#49652b}.services .detail-link:hover{color:#b9e45c}.service-title-link{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}.service-title-link:hover{color:#b9e45c}.service-title-link span{font-size:1rem}.faq{margin-top:38px;padding-top:28px;border-top:1px solid var(--border);max-width:900px}.faq h3{font-size:1.35rem;letter-spacing:-.02em;margin:30px 0 12px}.related{padding-top:45px;padding-bottom:45px}.related h2{font-size:1.6rem}.section .software-features p{margin-top:12px}.detail-hero .purchase-link{white-space:normal}.project-grid h3+p{margin-top:16px}@media(max-width:600px){.detail-hero{padding-top:30px}.detail-hero h1{font-size:clamp(2.2rem,8.7vw,3.2rem)}.breadcrumbs{line-height:1.5}.detail-body .software-features{margin-top:32px}}
