/* Establish hierarchy with image space, button affordance and connected steps. */
.hero-intro{padding:34px 0 28px;display:grid;grid-template-columns:1fr auto;gap:14px 36px;align-items:end}
.hero-intro .eyebrow{grid-column:1 / -1;color:#526164;font:500 15px/1.5 var(--en);letter-spacing:.12em}
.hero-intro h1{font-weight:600;font-size:clamp(27px,2.8vw,42px);letter-spacing:.025em;line-height:1.5;margin:0}
.hero-intro p{font-size:15px;line-height:1.8;margin:0 0 5px;letter-spacing:.035em}
.hero{margin:0 24px;height:clamp(370px,45vw,640px);min-height:0;box-shadow:0 20px 44px -30px #17252e70}
.hero:after{background:linear-gradient(0deg,#0e171ccc 0,transparent 25%)}
.hero-about{top:24px;right:30px;background:#172025e8;color:#fff;padding:11px 17px;border:1px solid #ffffff45;border-radius:0}
.hero-bottom.wrap{width:calc(100% - 60px)}
.intro-strip{margin-top:24px;margin-bottom:12px}.intro-strip>a:last-child{background:#f2f3ef;border-bottom:2px solid #a6b1ab}
.service-grid{gap:22px;align-items:stretch}
.service,.service:first-child,.service:last-child{display:flex;flex-direction:column;border:1px solid #dce1dc;padding:26px;background:#fff;box-shadow:0 8px 24px -18px #17252e55;transition:box-shadow .25s,border-color .25s}
.service:hover,.service:focus-visible{border-color:#9ba9a0;box-shadow:0 13px 28px -18px #17252e75}
.service h3{font-size:20px;font-weight:500;line-height:1.6;margin:0 0 14px}
.service p{margin:0 0 24px;line-height:1.9;font-size:14px}
.service-action{margin-top:auto;align-self:flex-end;display:grid;place-items:center;flex-shrink:0;width:48px;height:48px;border:1px solid #a4b0a9;border-radius:50%;color:#25362e;background:#f7f8f4;transition:background .25s,color .25s,box-shadow .25s}
.service-action svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;transition:translate .25s}
.service:hover .service-action,.service:focus-visible .service-action{background:#25362e;color:white;box-shadow:0 4px 10px #25362e20}
.service:hover .service-action svg{translate:2px 0}
.page-services .service-grid{gap:22px}.page-services .service{padding:22px;border:1px solid #dce1dc}.page-services .service img{margin-bottom:24px}
.process-detail{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;position:relative}
.process-detail .step{padding:0;border:0;position:relative;min-width:0;display:flex;flex-direction:column}
.process-detail .step>span{display:grid;place-items:center;width:52px;height:52px;border:1px solid #b8c5bc;background:#eef2ec;border-radius:50%;font:500 26px/1 var(--en);color:#334a3b;margin-bottom:24px;position:relative;z-index:1;box-shadow:0 4px 10px -6px #243e3255}
.process-detail .step:not(:last-child):before{content:'';position:absolute;top:25px;left:52px;right:-24px;height:1px;background:#a8b7ac}
.process-detail .step:not(:last-child):after{content:'';position:absolute;top:22px;right:8px;width:7px;height:7px;border-top:1px solid #718677;border-right:1px solid #718677;transform:rotate(45deg)}
.process-detail .step h3{font-size:20px;line-height:1.6;margin:0 0 16px;font-weight:500;min-height:3.2em}
.process-detail .step p{font-size:14px;line-height:1.95;margin:0 0 20px}
.process-detail .step .checkpoint{font-size:12px;line-height:1.8;margin-top:auto;padding:16px;background:#edf1eb;border-top:0;min-height:88px;color:#364b3e}
.process-note{border-top:1px solid var(--line);padding-top:18px;margin-top:26px;max-width:none}
.feature-grid>img,.detail-visual{box-shadow:0 16px 32px -24px #14262c80}
.work img{box-shadow:0 12px 22px -19px #14262c88}
.page-title{border-bottom:1px solid #d1d9d1;background:linear-gradient(110deg,#eef1ea,#f7f8f4)}
.page-display{color:#64736b;text-shadow:0 1px 0 #fff}
.contact-band{background:#e9eee6;border-top:1px solid #d7dfd4}.contact-band .button{box-shadow:0 7px 16px -9px #182c2288}
@media(max-width:1000px){.hero-intro{display:block}.hero-intro h1{margin:14px 0 12px}.service,.service:first-child,.service:last-child{padding:22px}.service h3{font-size:18px}.process-detail{gap:20px}.process-detail .step:not(:last-child):before{right:-20px}.process-detail .step h3{font-size:18px}.process-detail .step .checkpoint{padding:12px}}
@media(max-width:800px){.process-detail{grid-template-columns:1fr;gap:0}.process-detail .step{padding:0 0 26px 76px;min-height:150px;display:block}.process-detail .step>span{position:absolute;left:0;top:0;margin:0}.process-detail .step:not(:last-child):before{left:25px;right:auto;top:52px;bottom:0;width:1px;height:auto}.process-detail .step:not(:last-child):after{left:22px;right:auto;top:auto;bottom:16px;transform:rotate(135deg)}.process-detail .step h3{min-height:0;font-size:21px;margin:8px 0 14px}.process-detail .step p{font-size:15px;margin-bottom:16px}.process-detail .step .checkpoint{min-height:0;margin:0;padding:14px}.process-detail .step:last-child{padding-bottom:0}}
@media(max-width:700px){.hero-intro{padding:24px 0 22px}.hero-intro h1{font-size:26px;line-height:1.65;margin:12px 0}.hero-intro .eyebrow{font-size:12px}.hero-intro p{font-size:14px}.hero{margin:0 10px;height:58svh;min-height:350px;max-height:510px}.hero-about{top:18px;right:18px;font-size:11px}.hero-bottom.wrap{width:calc(100% - 36px)}.intro-strip{margin-top:20px}.service-grid,.page-services .service-grid{gap:16px}.service,.service:first-child,.service:last-child{padding:24px;position:relative}.service h3{font-size:21px;padding-right:0}.service p{font-size:14px;margin-bottom:18px}.service-action{width:46px;height:46px}.process-detail .step{padding-left:68px}.process-detail .step p{line-height:1.9}.page-services .service{padding:22px}}
@media(prefers-reduced-motion:reduce){.service,.service-action,.service-action svg{transition:none!important}}
