*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.ribbon{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 4vw;background:#111;color:#eee;font:11px Arial;letter-spacing:.04em}.ribbon a{color:#d6ff86;font-weight:700}.nav{height:106px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;gap:24px}.logo{font-size:28px;font-weight:900;letter-spacing:-1.5px}.logo i{display:inline-grid;place-items:center;font-style:normal;margin-right:8px}.nav-links{display:flex;gap:30px;font-size:13px}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;background:var(--accent);color:var(--btnink);border:0;padding:19px 25px;font-size:13px;font-weight:700}.btn:after{content:'↗';font-size:20px}.btn.secondary{background:transparent;color:var(--ink);border:1px solid currentColor}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:10px;font-weight:700;display:block;margin-bottom:25px}h1,h2,h3,p{margin:0}h1{font-size:clamp(60px,7.4vw,112px);line-height:.96;letter-spacing:-.065em;font-weight:500}h2{font-size:clamp(40px,4.8vw,70px);letter-spacing:-.055em;line-height:1.02;font-weight:500}h3{font-size:24px;letter-spacing:-.04em;font-weight:500}p{font-size:15px;line-height:1.8}.muted{opacity:.68}.hero .lede{max-width:390px;margin:28px 0}.actionrow{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.underlink{font-size:12px;border-bottom:1px solid;padding-bottom:5px}.hero-photo{width:100%;height:100%;object-fit:cover}.section{padding:100px 5vw}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:45px}.section-head p{max-width:340px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service{padding:32px;min-height:250px;display:flex;flex-direction:column;border-top:1px solid #9996}.service .number{font-size:12px;opacity:.5;margin-bottom:50px}.service p{font-size:13px;margin:18px 0 25px;max-width:300px}.service button{margin-top:auto;border:0;background:none;text-align:left;padding:0;font-size:12px;font-weight:700;color:inherit}.process{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.process img{width:100%;height:520px;object-fit:cover}.steps{margin-top:35px}.step{display:flex;gap:22px;padding:23px 0;border-top:1px solid #9996}.step b{font-size:11px;margin-top:7px;opacity:.6}.step p{font-size:13px;opacity:.7;margin-top:8px}.close{padding:80px 5vw;display:flex;align-items:center;justify-content:space-between;gap:40px;background:var(--ink);color:var(--paper)}.close h2{max-width:700px}footer{padding:35px 5vw;display:flex;justify-content:space-between;gap:24px;font-size:11px;opacity:.7}dialog{border:0;padding:35px;max-width:470px;width:calc(100% - 30px);background:var(--paper);color:var(--ink)}dialog::backdrop{background:#0009;backdrop-filter:blur(8px)}dialog h2{font-size:40px;margin:20px 0}dialog p{font-size:13px}dialog label{display:block;font-size:12px;margin-top:18px}dialog input,dialog select{display:block;padding:12px;width:100%;margin-top:7px;border:1px solid #999;background:transparent;color:inherit}dialog .btn{margin-top:20px;width:100%}.dismiss{float:right;background:none;border:0;font-size:24px;color:inherit}.result{margin-top:16px;color:var(--ink)}
/* TIDE: graphic blue, a generous split hero, hard-edged service tiles */
.tide{--paper:#f7f8f2;--ink:#142953;--accent:#d5f461;--btnink:#142953}.tide .logo{letter-spacing:-2px;font-size:34px}.tide .logo i{color:#335cfa}.tide .hero{display:grid;grid-template-columns:1fr 1fr;min-height:610px}.tide .hero-copy{padding:65px 4vw 65px 5vw;background:#234ff0;color:#fff}.tide h1 strong{font-weight:500;color:#d5f461}.tide .hero-media{position:relative;overflow:hidden}.tide .hero-media img{object-position:45% center}.image-note{position:absolute;bottom:25px;left:25px;right:25px;padding:24px;background:#ffffffec;color:#142953;display:flex;justify-content:space-between;align-items:center;font-size:13px;backdrop-filter:blur(12px)}.image-note b{font-size:24px}.trust-strip{display:flex;justify-content:space-around;padding:25px 5vw;border-bottom:1px solid #14295322;font-size:11px;text-transform:uppercase;letter-spacing:.12em;gap:20px}.tide .service{background:#ecf0fa;border:0}.tide .service:nth-child(2){background:#d5f461}.tide .process{background:#fff}.tide .logo span{font-size:10px;letter-spacing:.12em;display:block;margin-left:30px}
/* STILL: warm paper, editorial typography, expansive architecture */
.still{--paper:#f3f0e9;--ink:#283e35;--accent:#283e35;--btnink:#fff}.still .logo{font-family:Georgia,serif;font-weight:400;font-size:34px}.still h1,.still h2{font-family:Georgia,serif;letter-spacing:-.055em}.still h1 em{color:#738573;font-weight:400}.still .hero{padding:45px 5vw 0}.still .hero-top{display:grid;grid-template-columns:1.4fr .65fr;gap:60px;align-items:end;margin-bottom:45px}.still .hero .lede{margin-top:0}.still .panorama{height:500px;position:relative}.still .panorama img{object-position:center 60%}.still .pill{position:absolute;left:30px;bottom:30px;border:1px solid #fff9;color:white;border-radius:50px;padding:13px 22px;background:#0003;backdrop-filter:blur(12px);font-size:12px}.still .service{border:1px solid #283e3530;min-height:275px}.still .service:nth-child(2){background:#e4e9df}.still .close .btn{background:#f3f0e9;color:#283e35}.still .process{background:#e4e9df}.still .number{font-family:Georgia,serif;font-style:italic;font-size:30px}
/* FIELDWORK: immersive garden photography and oversized editorial type */
.field{--paper:#f2f0e5;--ink:#253d28;--accent:#e8b96d;--btnink:#253d28}.field .logo{font-size:24px;letter-spacing:.04em}.field .nav{background:#253d28;color:#f2f0e5}.field h1,.field h2{font-family:Georgia,serif}.field .hero{min-height:700px;position:relative;color:#fff;display:flex;align-items:center}.field .hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,#0b1e1cd9,#0b1e1c30),url('assets/garden.jpg') center 55%/cover}.field .hero-copy{position:relative;padding:60px 5vw;width:75%}.field h1{font-size:clamp(70px,8.8vw,130px);letter-spacing:-.055em}.field h1 em{color:#e8b96d;font-weight:400}.field .hero .lede{color:#e2e6dd}.field .project-label{position:absolute;bottom:40px;right:5vw;font-size:10px;writing-mode:vertical-rl;letter-spacing:.15em}.field .service{border:1px solid #253d2840}.field .service:nth-child(3){background:#253d28;color:#f2f0e5}.field .section-head .eyebrow{color:#758565}.field .process{background:#e9e6d8}.field .close{background:#dabe88;color:#253d28}.field .close .btn{background:#253d28;color:white}
@media(max-width:760px){.ribbon{font-size:9px;padding:10px 16px}.ribbon span{max-width:145px}.nav{height:80px;padding:0 22px}.nav-links{display:none}.nav>.btn{padding:12px 14px;font-size:11px;gap:15px}.logo{font-size:23px!important}.tide .hero{grid-template-columns:1fr}.tide .hero-copy{padding:45px 24px}.hero h1{font-size:64px}.tide .hero-media{height:360px}.hero .lede{font-size:14px}.trust-strip{flex-wrap:wrap;font-size:9px;padding:20px}.section{padding:60px 24px}.section-head{display:block}.section-head p{margin-top:25px}.cards{grid-template-columns:1fr;gap:14px}.service{min-height:220px}.service .number{margin-bottom:25px}.process{grid-template-columns:1fr;gap:35px}.process img{height:350px}.close{padding:55px 24px;display:block}.close .btn{margin-top:28px}footer{padding:25px 24px;flex-wrap:wrap}.still .hero{padding:25px 24px 0}.still .hero-top{grid-template-columns:1fr;gap:24px;margin-bottom:30px}.still .hero .lede{margin:0 0 20px}.still .panorama{height:380px}.still .pill{left:18px;bottom:18px}.field .hero{min-height:650px}.field .hero-copy{width:100%;padding:40px 24px}.field h1{font-size:72px}.field .hero-bg{background-position:62% center}.field .project-label{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Trade-specific imagery and clearer service identification. */
.service-photo{width:calc(100% + 64px);max-width:none;height:210px;object-fit:cover;margin:-32px -32px 25px}.tide .service .number{margin-bottom:22px}.tide .hero-media img{object-position:center 25%}.still .panorama{height:480px}.still .panorama img{object-position:center 58%}.still .process img{object-position:center}.field .service-photo{height:180px}.tide .hero h1{font-size:clamp(58px,6.6vw,100px)}@media(max-width:760px){.tide .hero-copy{padding:32px 24px}.tide .hero .lede{margin:20px 0}.tide .hero-media{height:390px}.still .panorama img{object-position:center 60%}.tide .hero h1{font-size:60px}.service-photo{height:240px}}
