:root{--paper:#faf8f3;--cream:#efe5d5;--taupe:#9b8a77;--brown:#8a6245;--green:#17372a;--espresso:#201a17;--muted:#6e625b;--line:#cfc5b9;--max:1180px;--serif:Georgia,"Times New Roman",serif;--sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;color:var(--espresso);background:var(--paper);font-family:var(--sans);line-height:1.6;overflow-x:hidden}img{display:block;max-width:100%}a{color:inherit}button,input,select,textarea{font:inherit}a,button{-webkit-tap-highlight-color:transparent}.skip-link{position:fixed;z-index:1000;top:8px;left:8px;min-width:190px;min-height:48px;display:grid;place-items:center;padding:10px 16px;color:white;background:var(--green);font-weight:800;text-decoration:none;transform:translateY(-140%);opacity:0}.skip-link:focus{transform:translateY(0);opacity:1}.site-header{position:sticky;z-index:50;top:0;background:rgba(250,248,243,.97);border-bottom:1px solid var(--espresso)}.header-inner{min-height:84px;max-width:var(--max);margin:auto;padding:8px 20px;display:flex;align-items:center;gap:26px}.brand{min-height:52px;display:inline-flex;align-items:center;font:italic 400 1.8rem var(--serif);text-decoration:none;color:var(--brown);white-space:nowrap}.site-nav{display:flex;align-items:center;margin-left:auto}.site-nav a{min-height:46px;display:inline-flex;align-items:center;padding:10px 14px;font-family:var(--serif);font-size:.82rem;text-transform:uppercase;text-decoration:none;letter-spacing:.04em}.site-nav a:hover,.site-nav a:focus-visible{color:var(--brown)}.header-action{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;color:white;background:var(--green);border:2px solid var(--green);font-size:.76rem;font-weight:800;text-decoration:none;text-align:center;white-space:nowrap}.header-action:hover,.header-action:focus-visible{color:var(--green);background:var(--cream)}.menu-button{display:none}.hero{position:relative;min-height:760px;overflow:hidden;background:var(--espresso)}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 31%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,12,10,.06) 0%,rgba(15,12,10,.16) 43%,rgba(15,12,10,.9) 100%)}.hero-copy{position:relative;z-index:1;width:min(600px,47vw);min-height:760px;margin-left:auto;margin-right:max(20px,calc((100vw - var(--max))/2 + 20px));display:flex;flex-direction:column;justify-content:center;padding:70px 20px 108px;color:white}.eyebrow{margin:0 0 14px;color:#d7c9b7;font-size:.69rem;font-weight:850;letter-spacing:.16em;text-transform:uppercase}.eyebrow.brown{color:var(--brown)}.eyebrow.cream{color:#e9d4b8}h1,h2,h3,p{overflow-wrap:anywhere}h1{max-width:620px;margin:0;font:700 clamp(3.6rem,5.7vw,6.6rem)/.92 var(--serif);letter-spacing:-.052em}h1 em,h2 em{color:#d9b895;font-weight:400}.hero-copy>p:not(.eyebrow){max-width:540px;margin:25px 0 0;color:#eee7df;font-size:1.02rem}.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:29px}.button{min-width:164px;min-height:50px;display:inline-flex;align-items:center;justify-content:center;padding:11px 19px;border:2px solid transparent;border-radius:0;font-size:.82rem;font-weight:850;text-align:center;text-decoration:none;cursor:pointer}.button-cream{color:var(--espresso);background:var(--cream);border-color:var(--cream)}.button-cream:hover,.button-cream:focus-visible{background:white;border-color:white}.button-ghost{color:white;background:transparent;border-color:white}.button-ghost:hover,.button-ghost:focus-visible{color:var(--espresso);background:white}.button-dark{color:white;background:var(--green);border-color:var(--green)}.button-dark:hover,.button-dark:focus-visible{color:var(--green);background:var(--cream)}.hero-note{position:absolute;z-index:2;right:0;bottom:0;width:min(600px,54vw);min-height:66px;display:flex;align-items:center;padding:14px max(20px,calc((100vw - var(--max))/2 + 20px)) 14px 28px;color:var(--espresso);background:var(--cream);font:italic 700 .9rem var(--serif)}.work-section{max-width:var(--max);margin:auto;padding:104px 20px 98px}.section-intro{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:end;margin-bottom:44px}.section-intro .eyebrow{grid-column:1/-1;margin-bottom:-20px}.section-intro h2,.services-lead h2,.extension-copy h2,.jacqui-copy h2,.contact-details h2{margin:0;font:700 clamp(3rem,5.2vw,5.8rem)/.95 var(--serif);letter-spacing:-.045em}.section-intro h2 em,.jacqui-copy h2 em{color:var(--brown)}.section-intro>p:last-child{max-width:470px;margin:0;color:var(--muted)}.work-grid{display:grid;grid-template-columns:1.2fr .8fr 1fr;grid-template-rows:390px 320px;gap:12px}.work-grid figure{position:relative;margin:0;overflow:hidden;background:var(--taupe)}.work-grid img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.work-grid figure:hover img{transform:scale(1.02)}.work-grid figcaption{position:absolute;left:12px;bottom:12px;min-height:44px;display:flex;align-items:center;padding:8px 12px;color:white;background:rgba(32,26,23,.88);font:italic 700 .8rem var(--serif)}.work-a{grid-row:span 2}.work-b{grid-column:2}.work-c{grid-column:3}.work-d{grid-column:2}.work-e{grid-column:3}.work-f{display:none}.text-link{min-height:48px;display:inline-flex;align-items:center;gap:12px;margin-top:25px;color:var(--brown);font-weight:800;text-decoration:none;border-bottom:1px solid var(--brown)}.text-link span{font-size:1.2rem}.services-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;padding:104px max(20px,calc((100% - var(--max))/2 + 20px));color:white;background:var(--green)}.services-lead h2 em,.extension-copy h2 em,.contact-details h2 em{color:#d9b895}.services-lead>p:last-child{max-width:480px;color:#d8d0c8}.service-list{border-top:1px solid #839088}.service-list article{display:grid;grid-template-columns:44px 150px 1fr;gap:15px;align-items:start;padding:23px 0;border-bottom:1px solid #839088}.service-list span{color:#d9b895;font-size:.72rem;font-weight:850}.service-list h3{margin:0;font:700 1.5rem var(--serif)}.service-list p{margin:2px 0 0;color:#d8d0c8;font-size:.88rem}.extensions-section{display:grid;grid-template-columns:.82fr 1.18fr;min-height:720px;background:var(--espresso)}.extension-image{position:relative;min-width:0;overflow:hidden}.extension-image img{width:100%;height:100%;min-height:720px;object-fit:cover}.extension-image span{position:absolute;left:18px;bottom:18px;padding:9px 12px;color:var(--espresso);background:var(--cream);font:italic 700 .8rem var(--serif)}.extension-copy{padding:86px max(20px,calc((100vw - var(--max))/2 + 20px)) 86px 70px;color:white}.extension-copy>p:not(.eyebrow){max-width:650px;color:#d7cfca}.method-list{margin:31px 0;border-top:1px solid #6f6560}.method-list article{display:grid;grid-template-columns:150px 1fr;gap:22px;padding:19px 0;border-bottom:1px solid #6f6560}.method-list h3{margin:0;font:700 1.35rem var(--serif)}.method-list p{margin:0;color:#cfc4be;font-size:.87rem}.jacqui-section{max-width:var(--max);margin:auto;padding:108px 20px;display:grid;grid-template-columns:1.05fr .95fr;gap:85px;align-items:center}.jacqui-copy>p:not(.eyebrow){max-width:610px;color:var(--muted)}.jacqui-copy blockquote{max-width:610px;margin:30px 0;padding:23px 0;border-top:1px solid var(--brown);border-bottom:1px solid var(--brown);color:var(--brown);font:italic 700 clamp(1.6rem,3vw,2.5rem)/1.13 var(--serif)}.jacqui-image{position:relative;padding:28px 0 0 28px}.jacqui-image>div{position:absolute;inset:0 28px 28px 0;background:var(--green)}.jacqui-image img{position:relative;z-index:1;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}.jacqui-image span{position:absolute;z-index:2;right:10px;bottom:-12px;min-height:45px;display:flex;align-items:center;padding:9px 14px;color:white;background:var(--brown);font:italic 700 .82rem var(--serif)}.contact-section{display:grid;grid-template-columns:1.02fr .98fr;gap:72px;padding:98px max(20px,calc((100% - var(--max))/2 + 20px));color:white;background:var(--taupe)}.contact-details>p:not(.eyebrow){max-width:520px;color:#f0eae3}.routes{margin-top:30px;border-top:1px solid #d5c9bd}.routes>a,.routes>div{min-height:73px;display:grid;grid-template-columns:82px 1fr;gap:14px;align-items:center;border-bottom:1px solid #d5c9bd;text-decoration:none}.routes span{font-size:.68rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.routes b{font-size:.87rem;overflow-wrap:anywhere}.routes a:hover b,.routes a:focus-visible b{color:var(--cream)}.socials{display:flex;gap:9px;margin-top:26px}.socials a{min-height:46px;display:inline-flex;align-items:center;padding:9px 15px;border:1px solid white;font-size:.78rem;font-weight:800;text-decoration:none}.socials a:hover,.socials a:focus-visible{color:var(--espresso);background:white}.inquiry-form{padding:30px;color:var(--espresso);background:var(--paper);border-top:7px solid var(--green)}.inquiry-form label{display:grid;gap:7px;margin-bottom:17px;font-size:.71rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.inquiry-form input,.inquiry-form select,.inquiry-form textarea{width:100%;min-height:50px;padding:11px 12px;color:var(--espresso);background:white;border:1px solid #9e9188;border-radius:0;text-transform:none}.inquiry-form textarea{min-height:145px;resize:vertical}.inquiry-form input:focus,.inquiry-form select:focus,.inquiry-form textarea:focus{outline:3px solid rgba(23,55,42,.18);border-color:var(--green)}.form-error{min-height:23px;margin:-5px 0 8px;color:#9b3e2e;font-size:.78rem;font-weight:800}.form-note{margin:13px 0 0;color:var(--muted);font-size:.73rem}.map-section{position:relative;height:430px;background:#d6d2ce}.map-section iframe{width:100%;height:100%;display:block;border:0}.map-section>a{position:absolute;left:50%;bottom:18px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:10px 18px;color:white;background:var(--green);border:2px solid white;font-size:.78rem;font-weight:850;text-align:center;text-decoration:none;transform:translateX(-50%)}.map-section>a:hover,.map-section>a:focus-visible{color:var(--green);background:var(--cream)}.site-footer{min-height:160px;padding:38px max(20px,calc((100% - var(--max))/2 + 20px));display:grid;grid-template-columns:1fr 1.2fr auto;gap:28px;align-items:center;color:white;background:var(--espresso)}.site-footer a{min-height:46px;display:inline-flex;align-items:center;font-weight:800;text-decoration:none}.footer-brand{font:italic 700 1.55rem var(--serif)}.site-footer p{color:#bdb1aa;font-size:.79rem}
@media(max-width:980px){.header-action{display:none}.hero-copy{width:min(620px,55vw)}.services-section{gap:40px}.extension-copy{padding-left:42px}.jacqui-section{gap:48px}.contact-section{gap:40px}}
@media(max-width:840px){html{scroll-padding-top:78px}.header-inner{min-height:78px;padding:7px 14px;justify-content:space-between}.brand{font-size:1.55rem}.menu-button{width:56px;min-width:56px;height:56px;display:grid;place-content:center;gap:4px;padding:6px;color:var(--espresso);background:var(--paper);border:2px solid var(--espresso);cursor:pointer}.menu-button i{width:23px;height:2px;display:block;background:currentColor}.menu-button b{margin-top:1px;font-size:.55rem;text-transform:uppercase}.site-nav{position:absolute;top:calc(100% + 1px);left:0;right:0;display:none;margin:0;padding:8px 14px 14px;background:var(--paper);border-bottom:1px solid var(--espresso);box-shadow:0 16px 22px rgba(32,26,23,.14)}.site-nav[data-open="true"]{display:grid}.site-nav a{min-height:50px;padding:11px 4px;border-bottom:1px solid var(--line)}.hero-copy{width:60vw;margin-right:14px}.work-section,.jacqui-section{padding-left:14px;padding-right:14px}.services-section,.contact-section{padding-left:14px;padding-right:14px}.work-grid{grid-template-rows:330px 270px}.extensions-section{grid-template-columns:.75fr 1.25fr}.extension-copy{padding:70px 28px}.jacqui-section{gap:35px}}
@media(max-width:600px){.hero{display:flex;flex-direction:column;min-height:0}.hero>img{position:relative;height:500px;object-position:center 27%}.hero-shade{display:none}.hero-copy{width:auto;min-height:0;margin:0;padding:42px 14px;color:white;background:var(--espresso)}h1{font-size:clamp(2.8rem,14vw,4.2rem)}.hero-copy>p:not(.eyebrow){font-size:.98rem}.hero-actions{display:grid}.button{width:100%}.hero-note{position:relative;width:100%;min-height:64px;padding:14px;text-align:center;justify-content:center}.section-intro{grid-template-columns:1fr;gap:18px}.section-intro .eyebrow{grid-column:auto;margin-bottom:0}.section-intro h2,.services-lead h2,.extension-copy h2,.jacqui-copy h2,.contact-details h2{font-size:clamp(2.55rem,13vw,3.8rem)}.work-section{padding-top:78px;padding-bottom:75px}.work-grid{grid-template-columns:1fr 1fr;grid-template-rows:390px 260px 260px}.work-a{grid-column:1/-1;grid-row:auto}.work-b,.work-c,.work-d,.work-e{grid-column:auto}.services-section{grid-template-columns:1fr;gap:38px;padding-top:78px;padding-bottom:78px}.service-list article{grid-template-columns:35px 125px 1fr}.extensions-section{grid-template-columns:1fr}.extension-image{height:520px}.extension-image img{min-height:0;height:520px}.extension-copy{padding:62px 14px}.method-list article{grid-template-columns:1fr;gap:4px}.jacqui-section{grid-template-columns:1fr;padding-top:78px;padding-bottom:90px}.jacqui-image{padding-left:18px}.contact-section{grid-template-columns:1fr;padding-top:78px;padding-bottom:78px}.form-row{grid-template-columns:1fr;gap:0}.map-section{height:410px}.map-section>a{width:calc(100% - 28px)}.site-footer{grid-template-columns:1fr;gap:8px}}
@media(max-width:430px){.service-list article{grid-template-columns:35px 1fr}.service-list article p{grid-column:2}}
@media(max-width:350px){.header-inner,.work-section,.services-section,.extension-copy,.jacqui-section,.contact-section{padding-left:10px;padding-right:10px}.brand{font-size:1.35rem}.hero>img{height:450px}h1{font-size:2.75rem}.work-grid{grid-template-columns:1fr;grid-template-rows:390px repeat(4,270px)}.work-a{grid-column:auto}.service-list article{grid-template-columns:35px 1fr}.service-list article p{grid-column:2}.routes>a,.routes>div{grid-template-columns:1fr;gap:2px;align-content:center;padding:11px 0}.site-footer p{max-width:240px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
