:root{--green:#173d34;--deep:#102f29;--oat:#f5f0e6;--white:#fffdf9;--sage:#dce4d9;--clay:#a65537;--muted:#57675e;--line:#ccd1c5}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:128px}body{margin:0;background:var(--oat);color:var(--green);font:16px/1.6 Manrope,Arial,sans-serif}a{color:inherit}img{max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.045em;line-height:1.04}h1{font-size:clamp(56px,5.8vw,84px);margin-bottom:26px}h2{font-size:clamp(42px,4.4vw,62px);margin-bottom:24px}h3{font-size:22px;line-height:1.25;letter-spacing:-.035em;font-weight:600}h1 em,h2 em{font-weight:400}p{margin-bottom:20px}.shell{width:min(1240px,calc(100% - 96px));margin:auto}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;line-height:1.7;margin-bottom:22px;color:var(--clay)}.button{display:inline-flex;align-items:center;justify-content:center;gap:26px;background:var(--green);color:var(--white);padding:15px 22px;min-height:52px;font-size:13px;font-weight:700;text-decoration:none;border:1px solid var(--green);cursor:pointer;transition:background .2s}.button:hover{background:var(--deep)}.button span{font-size:20px;line-height:1}.button.light{background:var(--oat);color:var(--green);border-color:var(--oat)}.button.light:hover{background:var(--sage)}.text-link{display:inline-flex;gap:30px;align-items:center;font-size:13px;font-weight:700;text-decoration:none;border-bottom:1px solid currentColor;padding:6px 0;min-height:44px}.text-link:hover{color:var(--clay)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--clay);outline-offset:5px}.skip-link{position:absolute;left:16px;top:-100px;background:var(--white);padding:12px;z-index:10}.skip-link:focus{top:12px}.nav{display:flex;align-items:center;justify-content:space-between;min-height:104px;border-bottom:1px solid var(--line);gap:25px}.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-size:20px;font-weight:800;letter-spacing:-.04em;white-space:nowrap}.brand img{width:38px;height:32px;object-fit:contain;background:var(--green);border-radius:2px;padding:3px}.nav nav{display:flex;align-items:center;gap:32px}.nav nav>a:not(.button){font-size:13px;font-weight:700;text-decoration:none;padding:12px 0}.nav nav>a:hover{color:var(--clay)}.nav nav>.button:hover{color:var(--white)}.hero{padding:48px 0 0}.hero-grid{display:grid;grid-template-columns:1fr 1.04fr;gap:62px;align-items:center}.hero-content{padding:25px 0 30px}.hero-copy{font-size:17px;max-width:410px;color:var(--muted);margin-bottom:30px}.hero-content .text-link{display:table;margin-top:14px}.hero-note{font-size:11px;max-width:340px;margin:28px 0 0;color:var(--muted)}.hero-visual{margin:0;align-self:stretch;position:relative;display:flex;flex-direction:column}.hero-visual img{width:100%;height:100%;min-height:480px;object-fit:cover;object-position:61% center;border-radius:180px 0 0 0}.hero-visual figcaption{display:flex;justify-content:space-between;gap:12px;padding-top:12px;font-size:11px;font-weight:600}.image-note{color:var(--muted);font-weight:400}.service-strip{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;margin-top:44px;font-size:13px}.service-strip span::before{content:'+';color:var(--clay);margin-right:12px}.intro{padding:100px 0;background:var(--oat)}.intro-grid{display:grid;grid-template-columns:.5fr 1fr;gap:80px}.intro-grid>.eyebrow{padding-top:9px}.intro-grid h2{max-width:720px}.intro-grid p:not(.eyebrow){font-size:18px;color:var(--muted);max-width:670px;margin-bottom:0}.services{background:var(--white);padding:90px 0}.section-top{display:flex;align-items:flex-end;justify-content:space-between;gap:70px;margin-bottom:46px}.section-top h2{margin-bottom:0}.section-top>p{max-width:320px;color:var(--muted);font-size:15px;margin-bottom:4px}.service-list{border-top:1px solid var(--line)}.service-list article{display:grid;grid-template-columns:140px 1fr .8fr;gap:36px;border-bottom:1px solid var(--line);padding:34px 0}.service-list h3{margin-bottom:12px;font-size:25px}.service-list p{color:var(--muted);font-size:14px;max-width:425px;margin-bottom:0}.service-list ul{padding:0;margin:0;list-style:none;font-size:13px;align-self:center}.service-list li{padding:4px 0 4px 24px;position:relative}.service-list li::before{content:'';position:absolute;left:2px;top:.7em;width:6px;height:11px;border:solid var(--clay);border-width:0 2px 2px 0;transform:rotate(45deg);border-radius:1px}.linen{background:var(--sage);padding:80px 0}.linen-grid{display:grid;grid-template-columns:1fr 1fr;gap:95px;align-items:center}.linen-grid>div>p:not(.eyebrow){max-width:420px;color:var(--muted)}.linen-art{background:#e9eddf;min-height:390px;display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:28px;border:1px solid #b5c2b2}.linen-art svg{width:100%;max-width:410px;height:auto}.linen-label{font:italic 26px Georgia,serif}.linen-caption{font-size:10px;text-transform:uppercase;letter-spacing:.12em}.workflow{padding:100px 0}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;list-style:none;margin:0;padding:0}.steps li{border-top:1px solid var(--green);padding-top:20px}.step-num{font-size:12px;color:var(--clay);display:block;margin-bottom:28px}.steps h3{max-width:270px;margin-bottom:15px}.steps p{font-size:14px;color:var(--muted);margin-bottom:0}.welcome{background:var(--green);color:var(--oat);text-align:center;padding:85px 0}.welcome .eyebrow{color:#d7ab8f}.welcome h2{font-size:clamp(50px,5.2vw,76px)}.welcome h2 em{color:#c9d6c6}.welcome p:not(.eyebrow){max-width:440px;margin:0 auto 28px;font-size:14px;color:#d0dcd3}.faq{padding:100px 0}.faq-grid{display:grid;grid-template-columns:.7fr 1fr;gap:90px}.faq details{border-top:1px solid var(--line);padding:21px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{position:relative;list-style:none;cursor:pointer;font-size:15px;font-weight:700;padding-right:35px}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:'+';font-weight:400;font-size:24px;position:absolute;right:0;top:-6px;color:var(--clay)}.faq details[open] summary::after{content:'−'}.faq details p{color:var(--muted);font-size:14px;margin:16px 30px 0 0}.contact{padding:90px 0;background:var(--white)}.contact-grid{display:grid;grid-template-columns:.75fr 1fr;gap:90px}.contact-grid>div>p:not(.eyebrow){max-width:350px;color:var(--muted);font-size:15px}.contact-aside{padding-top:30px;font-size:13px!important}.contact-aside a{color:var(--green);font-weight:600;text-underline-offset:5px}.form-panel{background:var(--oat);padding:34px}.form-panel h3{font-size:24px;margin-bottom:12px}.form-intro{font-size:13px!important;max-width:none!important;margin-bottom:24px}form{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:grid;gap:7px;font-size:12px;font-weight:700}input,select,textarea{font:400 16px/1.5 Manrope,Arial,sans-serif;border:1px solid #a4b2a7;border-radius:0;color:var(--green);background:var(--white);padding:11px 12px;width:100%;min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid var(--green);outline-offset:2px}input::placeholder,textarea::placeholder{color:#667469;font-size:13px}textarea{min-height:110px;resize:vertical}.full,.form-note,.cf-turnstile,form .button{grid-column:1/-1}.form-note{font-size:11px;line-height:1.6;color:var(--muted);margin:0}.form-honeypot{height:0;left:-10000px;overflow:hidden;position:absolute;top:auto;width:0}form .button{justify-self:start;font-family:inherit}footer{background:var(--deep);color:var(--oat);padding:50px 0 24px}.footer-top{display:flex;justify-content:space-between;gap:40px}.footer-top p{font-size:13px;color:#c4d1c6;margin:16px 0 36px}.footer-top nav{display:grid;grid-template-columns:1fr 1fr;gap:12px 40px;align-content:start;font-size:12px}.footer-top nav a{min-height:44px;text-decoration:none}.footer-base{border-top:1px solid #496357;padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#c4d1c6}.footer-base a{text-underline-offset:3px}
@media(min-width:1600px){.hero-visual img{min-height:530px}}
@media(max-width:1000px){.shell{width:calc(100% - 56px)}.hero-grid{gap:32px}.nav nav{gap:20px}.hero-visual img{min-height:460px}.linen-grid,.faq-grid,.contact-grid{gap:45px}.service-list article{gap:20px;grid-template-columns:110px 1fr .8fr}.steps{gap:30px}.intro-grid{gap:45px}}
@media(max-width:760px){.shell{width:calc(100% - 40px)}.nav{min-height:80px;gap:12px}.brand{font-size:17px;gap:7px}.brand img{width:30px;height:27px}.nav nav>a:not(.button){display:none}.nav .button{font-size:11px;padding:10px 13px;min-height:44px;gap:10px}.nav .button span{display:none}.hero{padding-top:30px}.hero-grid{grid-template-columns:1fr;gap:30px}.hero-content{padding:10px 0 0}.eyebrow{font-size:10px;letter-spacing:.1em;margin-bottom:20px}h1{font-size:clamp(48px,12vw,76px);margin-bottom:20px}h2{font-size:clamp(39px,10vw,55px)}.hero-copy{font-size:16px;max-width:440px;margin-bottom:24px}.hero-content .button{width:100%;justify-content:space-between}.hero-content .text-link{margin-top:9px}.hero-note{margin-top:20px;font-size:11px;max-width:none}.hero-visual img{min-height:0;height:auto;aspect-ratio:1.18;object-position:66% center;border-radius:100px 0 0 0}.hero-visual figcaption{font-size:10px}.service-strip{margin-top:28px;flex-wrap:wrap;gap:8px 18px;padding:18px 0;font-size:11px}.service-strip span::before{margin-right:7px}.intro,.services,.workflow,.faq,.contact{padding:64px 0}.intro-grid,.linen-grid,.faq-grid,.contact-grid{grid-template-columns:1fr;gap:28px}.intro-grid>.eyebrow{padding:0;margin:0}.intro-grid p:not(.eyebrow){font-size:16px}.section-top{display:block;margin-bottom:30px}.section-top>p{margin-top:22px;max-width:400px;font-size:14px}.service-list article{grid-template-columns:1fr;gap:14px;padding:27px 0}.service-list h3{font-size:23px}.service-list ul{grid-column:1;margin-top:2px;font-size:12px}.service-list p{font-size:14px}.linen{padding:50px 0}.linen-grid{gap:35px}.linen-art{min-height:300px;padding:24px}.linen-art svg{max-width:320px}.linen-label{font-size:23px}.linen-grid>div>p:not(.eyebrow){font-size:15px}.steps{grid-template-columns:1fr;gap:28px}.steps li{display:grid;grid-template-columns:35px 1fr;gap:0 15px;padding-top:24px}.step-num{grid-row:1/3;padding-top:4px;margin:0}.steps h3{max-width:none;font-size:21px}.steps p{grid-column:2}.welcome{padding:60px 0}.welcome h2{font-size:clamp(42px,11vw,65px)}.faq-grid{gap:24px}.faq summary{font-size:14px}.faq details{padding:20px 0}.contact-grid>div>p:not(.eyebrow){max-width:450px}.contact-aside{padding-top:5px}.form-panel{padding:24px 20px}form{grid-template-columns:1fr;gap:16px}.full,.form-note,.cf-turnstile,form .button{grid-column:auto}form .button{width:100%;justify-content:space-between;font-size:12px}.footer-top{display:block}.footer-top nav{gap:8px 24px}.footer-base{flex-direction:column;font-size:10px;gap:12px;margin-top:22px}.footer-top p{margin-bottom:26px}}
@media(max-width:360px){.shell{width:calc(100% - 32px)}.brand{font-size:15px}.nav .button{font-size:10px;padding:10px}h1{font-size:44px}.form-panel{padding:22px 16px}.hero-visual figcaption{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Service detail and original illustrations */
.hero h1{font-size:clamp(52px,4.8vw,68px)}
.service-illustration{width:140px;height:auto;align-self:center}.step-illustration{width:160px;height:auto;display:block;margin:0 0 24px}.steps h3{max-width:none}.scope-note{font-size:14px;color:var(--muted);max-width:800px;margin:24px 0 0}.turnover-scope{padding:80px 0;background:var(--oat)}.scope-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}.scope-grid article{border-top:1px solid var(--line);padding-top:24px}.scope-grid h3{font-size:21px}.scope-grid ul{margin:0;padding-left:18px;font-size:14px;color:var(--muted)}.scope-grid li{padding:5px 0}.linen-grid>div>p:not(.eyebrow){font-size:16px}.service-list ul{font-size:14px}.service-list p{font-size:15px}
@media(max-width:1000px){.service-illustration{width:110px}.scope-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.hero h1{font-size:clamp(48px,12vw,60px)}.service-list article{grid-template-columns:1fr;gap:16px}.service-illustration{width:120px}.service-list ul{grid-column:1;font-size:14px}.turnover-scope{padding:64px 0}.scope-grid{gap:28px}.steps li{display:block}.step-illustration{width:140px;margin-bottom:20px}.steps p{grid-column:auto}.service-list h3{margin-bottom:10px}}
@media(max-width:430px){.scope-grid{grid-template-columns:1fr}.hero h1{font-size:46px}}

header#top{position:sticky;top:0;z-index:100;background:var(--oat)}
@media(max-width:760px){html{scroll-padding-top:104px}.hero-content .button{justify-content:center}}

/* Keep section labels comfortably readable at every breakpoint. */
.eyebrow{font-size:16px;letter-spacing:.06em;line-height:1.5}
.hero .eyebrow{font-size:18px;letter-spacing:.04em;text-transform:none}
@media(max-width:760px){.eyebrow{font-size:16px}.hero .eyebrow{font-size:18px}}

/* Readable header navigation and primary action. */
.nav nav>a:not(.button){font-size:18px}.nav .button{font-size:16px}
@media(max-width:1000px) and (min-width:761px){.nav nav{gap:18px}.nav nav>a:not(.button){font-size:16px}.nav .button{padding:12px 16px}}
@media(max-width:760px){.nav .button{font-size:16px;padding:10px 12px}}
@media(max-width:430px){.nav{flex-wrap:wrap;padding:14px 0;gap:10px}.nav nav{width:100%}.nav .button{width:100%}html{scroll-padding-top:150px}}

/* Shared, readable header navigation. */
header#top .nav{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:104px;padding:16px 0;flex-wrap:nowrap}
header#top .brand{font-family:Manrope,Arial,sans-serif;font-size:25px;font-weight:800;gap:12px;letter-spacing:-.04em;flex-shrink:0}
header#top .brand img{width:56px;height:56px;object-fit:contain;padding:5px}
header#top .nav nav{display:flex;align-items:center;justify-content:flex-end;gap:16px;flex-wrap:wrap;width:auto}
header#top .nav nav>a{display:inline-flex;align-items:center;white-space:nowrap;font-family:Manrope,Arial,sans-serif;font-size:18px;font-weight:400;line-height:1.5;min-height:44px;width:auto}
header#top .nav nav>a[aria-current="page"]{color:var(--clay);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:7px}
header#top .nav nav>.button{padding:12px 16px}
html{scroll-padding-top:calc(var(--header-height,104px) + 24px)}
@media(max-width:900px){header#top .nav{flex-wrap:wrap;gap:12px}header#top .nav nav{width:100%;justify-content:flex-start;gap:8px 16px}}
@media(max-width:360px){header#top .brand{gap:8px}}
