@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--black:#111111;--accent:#111111;--bright:#dddddd;--ink:#171717;--muted:#595959;--pale:#f5f5f5;--border:#dedede;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem}body{margin:0;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:1rem;line-height:1.65;background:white}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,summary,select,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:5px}h1,h2,h3{font-family:'Manrope',Arial,sans-serif;line-height:1.08;letter-spacing:-.045em;margin:0;font-weight:800}h2{font-size:clamp(2.2rem,4vw,3.4rem)}h3{font-size:1.45rem}p{margin:1rem 0}header{border-bottom:1px solid var(--border);background:#fff;position:relative;z-index:4}.navwrap{max-width:1440px;margin:auto;padding:1.5rem 4.2%;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{display:flex;align-items:center;gap:.8rem}.monogram{font-weight:800;letter-spacing:-.06em;font-size:1.9rem;line-height:1;color:var(--black)}.monogram span{color:var(--accent)}.brandname{font-size:1.1rem;line-height:1.25}.brandname b{display:block;font-weight:800}.navwrap nav{display:flex;gap:2rem;font-size:.94rem}.navwrap nav a:hover{color:var(--accent)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:3.2rem;padding:.85rem 1.5rem;background:var(--accent);color:white;border:1px solid var(--accent);font-size:.95rem;font-weight:700;border-radius:.35rem;cursor:pointer;line-height:1.4;text-align:center;transition:background .15s,transform .15s}.button:hover{background:#333333;transform:translateY(-2px)}.button.secondary{background:transparent;color:var(--ink);border-color:#bfbfbf}.button.secondary:hover{background:#eeeeee}header .button{min-height:2.9rem;padding:.65rem 1.3rem}.hero{display:grid;grid-template-columns:1.1fr 1fr;max-width:1440px;margin:auto;padding:4.7rem 4.2% 4rem;gap:4rem;align-items:center}.eyebrow{font-size:.78rem;letter-spacing:.13em;font-weight:700;text-transform:uppercase;color:var(--muted);line-height:1.6;margin:0 0 1.4rem}.hero .eyebrow{font-size:.72rem;display:flex;align-items:center;gap:.7rem}.line{width:1.6rem;height:2px;background:var(--accent);display:inline-block}.hero h1{font-size:clamp(3.4rem,5.5vw,5.6rem);letter-spacing:-.055em}.hero h1 em{color:var(--accent);font-style:normal}.lead{font-size:1.18rem;line-height:1.6;font-weight:500}.hero .lead{margin-top:1.8rem}.hero-desc{max-width:32rem;color:var(--muted)}.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.8rem 0 1rem}.micro{font-size:.83rem;color:var(--muted);line-height:1.6}.hero-visual{position:relative;min-height:38rem;align-self:stretch;background:var(--black);border-radius:.5rem;overflow:hidden}.hero-visual img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:54% center}.hero-visual:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(17,17,17,.97))}.visual-caption{position:absolute;z-index:1;left:2.4rem;right:2.4rem;bottom:2.1rem;color:#fff}.visual-caption span{font-size:.72rem;letter-spacing:.18em;color:#dddddd}.visual-caption strong{display:block;font-family:Manrope,Arial,sans-serif;font-size:2.8rem;line-height:1.1;letter-spacing:-.045em;margin:1rem 0}.visual-caption p{font-size:.86rem;color:#d1d1d1}.pillars{background:var(--black);color:#fff;display:flex;justify-content:space-between;gap:2rem;padding:1.9rem max(4.2%,calc((100% - 1320px)/2));font-size:.82rem}.pillars span{display:flex;gap:.8rem;align-items:center;color:var(--bright)}.pillars b{color:#fff;font-size:1.06rem;letter-spacing:-.02em;white-space:nowrap}.section{max-width:1440px;margin:auto;padding:5.5rem 4.2%}.sectionhead{display:flex;align-items:flex-end;justify-content:space-between;gap:3rem;margin-bottom:2.4rem}.sectionhead>p{max-width:27rem;color:var(--muted);margin:0}.filters{display:flex;gap:.5rem;flex-wrap:wrap;margin:2.8rem 0 2rem}.filters button{border:1px solid var(--border);padding:.65rem 1rem;border-radius:2rem;background:#fff;color:var(--muted);font-size:.9rem;cursor:pointer}.filters button[aria-pressed=true]{background:var(--black);border-color:var(--black);color:white}.servicegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}.servicecard{border:1px solid var(--border);border-radius:.4rem;padding:1.7rem;display:flex;flex-direction:column;transition:transform .2s,border-color .2s,box-shadow .2s}.servicecard:hover{border-color:var(--accent);transform:translateY(-4px);box-shadow:0 10px 25px #11111109}.cardtop{display:flex;justify-content:space-between;gap:1rem;margin-bottom:1.8rem}.cardtop .eyebrow{margin:0;color:var(--accent);font-size:.68rem}.cardnumber{color:#999999;font-size:.82rem}.servicecard h3{font-size:1.45rem;line-height:1.2;letter-spacing:-.03em}.servicecard p{color:var(--muted);font-size:.94rem;line-height:1.65;margin:1rem 0 1.8rem}.cardbottom{border-top:1px solid var(--border);padding-top:1.2rem;margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:.75rem;font-size:.8rem;flex-wrap:wrap}.cardbottom b{font-size:1.12rem}.cardbottom small{font-size:.77rem}.textlink{font-size:.82rem;font-weight:700;color:var(--accent)}.process{max-width:none;background:var(--pale);padding-left:max(4.2%,calc((100% - 1320px)/2));padding-right:max(4.2%,calc((100% - 1320px)/2))}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem;margin-top:3.5rem}.steps article{border-top:1px solid #d0d0d0;padding-top:1.3rem}.steps span{font-size:1rem;color:var(--accent);font-weight:700}.steps h3{margin:1.5rem 0;font-size:1.8rem;line-height:1.15}.steps p{font-size:.95rem;color:var(--muted);max-width:23rem}.workgrid{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}.worktile{background:var(--black);padding:3.5rem;border-radius:.45rem;color:#fff}.worktile .eyebrow{color:#c5c5c5}.worktile h3{font-size:2.5rem}.worktile p{max-width:28rem;color:#d2d2d2}.worktile .textlink{display:block;margin-top:2.5rem;color:#eeeeee}.worktile.light{background:#eeeeee;color:var(--black)}.worktile.light p,.worktile.light .eyebrow{color:var(--muted)}.worktile.light .textlink{color:var(--accent)}.worktile:hover{box-shadow:0 12px 25px #11111115}.faqsection{display:grid;grid-template-columns:1fr 1.35fr;gap:4rem;padding-top:2rem}.faqs details{border-bottom:1px solid var(--border);padding:1.3rem 0}.faqs summary{cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:1rem;line-height:1.5}.faqs summary:after{content:'+';font-size:1.5rem;font-weight:400;color:var(--accent)}.faqs details[open] summary:after{content:'−'}.faqs p{font-size:.95rem;color:var(--muted);padding-right:1.7rem}.cta{display:flex;justify-content:space-between;align-items:center;gap:3rem;background:var(--accent);color:#fff;padding:4.5rem max(4.2%,calc((100% - 1320px)/2))}.cta .eyebrow{color:#e3e3e3}.cta p{max-width:35rem}.cta .button{background:#fff;color:var(--accent);border-color:#fff;white-space:nowrap}.cta .button:hover{background:#ededed}footer{background:var(--black);color:#fff;padding:3.8rem max(4.2%,calc((100% - 1320px)/2)) 1.4rem}.footergrid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:3rem}.footergrid .monogram{color:#fff}.footergrid .brandname{font-size:1.15rem}.footergrid p{color:#bdbdbd;font-size:.92rem}.footergrid h2{font:700 .78rem 'DM Sans',Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;margin-bottom:1.2rem;color:#bdbdbd}.footergrid>div>a:not(.brand){display:block;font-size:.92rem;margin:.55rem 0}.footergrid a:hover{color:var(--bright)}.footerbottom{border-top:1px solid #444444;margin-top:3rem;padding-top:1.3rem;display:flex;justify-content:space-between;gap:2rem;font-size:.78rem;color:#bdbdbd}.servicehero{max-width:1440px;margin:auto;padding:3rem 4.2% 4.2rem;background:linear-gradient(100deg,white,#f7f7f7)}.backlink{font-size:.9rem;display:block;color:var(--accent);margin-bottom:3.5rem}.servicehero h1{font-size:clamp(2.9rem,5.2vw,5rem);max-width:62rem}.servicehero .lead{max-width:48rem;color:var(--muted);margin-top:1.8rem}.servicehero .eyebrow{color:var(--accent)}.packagegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}.package{border:1px solid var(--border);padding:2rem;border-radius:.45rem;display:flex;flex-direction:column;background:#fff}.package.featured{border:2px solid var(--accent);background:#f8f8f8;padding:calc(2rem - 1px)}.package .eyebrow{font-size:.7rem;margin-bottom:1rem;color:var(--accent)}.price{font-family:Manrope,Arial,sans-serif;font-size:2.8rem;font-weight:800;letter-spacing:-.045em;line-height:1.25;margin:1.2rem 0 .4rem;white-space:nowrap}.price small{font:400 .82rem 'DM Sans',Arial,sans-serif;letter-spacing:0;margin-left:.4rem}.setup{font-size:.84rem;color:var(--muted);margin:.2rem 0 .7rem}.package ul{padding:0;list-style:none;margin:1.5rem 0 2rem;flex:1}.package li{font-size:.94rem;padding:.55rem 0 .55rem 1.3rem;position:relative;line-height:1.5}.package li:before{content:'✓';position:absolute;left:0;color:var(--accent);font-weight:700}.package .button{width:100%;font-size:.87rem}.costnote{font-size:.86rem;color:var(--muted);margin-top:1.7rem;max-width:70rem}.notice{background:#efefef;border-left:3px solid var(--accent);padding:1.25rem 1.5rem;margin-bottom:2rem;font-size:.95rem}.scope{display:grid;grid-template-columns:1fr 1fr;gap:4rem;background:var(--pale);max-width:none;padding-left:max(4.2%,calc((100% - 1320px)/2));padding-right:max(4.2%,calc((100% - 1320px)/2))}.scope h2{font-size:2.4rem}.scope ul{padding-left:1.2rem;color:var(--muted);margin:2rem 0 0}.scope li{padding:.5rem 0;line-height:1.7}.servicehero~.faqsection{padding-top:5rem}.related h2{margin-bottom:2.4rem;font-size:2.5rem}.tuneup{padding:2.5rem;background:var(--pale);border-radius:.45rem;display:grid;grid-template-columns:1.5fr 1fr;gap:3rem;margin-bottom:2rem;align-items:center}.tuneup h3{font-size:2rem}.tuneup>div:last-child{border-left:1px solid var(--border);padding-left:3rem}.tuneup p,.tuneup li{color:var(--muted)}.inquiry{display:grid;grid-template-columns:.9fr 1.2fr;gap:5rem;align-items:start}.inquiry h1{font-size:clamp(3rem,4.6vw,4.3rem)}.inquiryintro>p{max-width:29rem;color:var(--muted)}.inquiryintro .eyebrow{color:var(--accent)}.contactblock{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:1.7rem 0;margin:2rem 0}.contactblock a{display:block;font-size:1.12rem;font-weight:500;overflow-wrap:anywhere;margin:.5rem 0}.contactblock p{font-size:.9rem;color:var(--muted)}form{padding:2.5rem;border:1px solid var(--border);border-radius:.5rem;background:var(--pale)}form h2{font-size:1.7rem}form>p{font-size:.9rem;color:var(--muted)}form label{display:block;font-size:.9rem;font-weight:500;margin:1.15rem 0}form label span{font-weight:400;font-size:.78rem;color:var(--muted)}input:not([type=radio]),select,textarea{width:100%;min-height:3rem;margin-top:.5rem;padding:.75rem .9rem;color:var(--ink);background:white;border:1px solid #c7c7c7;border-radius:.25rem;font-size:1rem}textarea{resize:vertical;line-height:1.5}fieldset{border:0;border-bottom:1px solid var(--border);padding:1rem 0;margin:1rem 0}legend{font-size:.9rem;font-weight:600}label.radio{font-weight:400;display:flex;align-items:center;gap:.6rem;margin:.6rem 0}input[type=radio]{accent-color:var(--accent);width:1rem;height:1rem;flex-shrink:0}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.formgrid label{margin:.5rem 0}#draft-fallback{border-top:1px solid var(--border);margin-top:2rem;padding-top:1rem;font-size:.9rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
@media(min-width:1600px){.hero{padding-top:5.5rem;padding-bottom:5rem}.hero-visual{min-height:40rem}}@media(max-width:1050px){.hero{gap:2rem}.hero-visual{min-height:35rem}.navwrap nav{gap:1rem}.hero h1{font-size:4rem}.servicegrid{grid-template-columns:repeat(2,1fr)}.pillars{gap:1rem;flex-wrap:wrap}.pillars span{width:calc(50% - 1rem)}.package{padding:1.4rem}.package.featured{padding:calc(1.4rem - 1px)}.price{font-size:2.3rem}.inquiry{gap:2rem}.worktile{padding:2.5rem}.package .button{padding:.8rem .7rem}.section{padding-top:4.3rem;padding-bottom:4.3rem}}@media(max-width:760px){.navwrap{padding:1rem 5%;gap:1rem;flex-wrap:wrap}.navwrap nav{order:3;width:100%;justify-content:space-between;font-size:.86rem}.brandname{font-size:1rem}header .button{font-size:.83rem;padding:.65rem 1rem}.hero{padding:3rem 5%;grid-template-columns:1fr;gap:2rem}.hero h1{font-size:clamp(3.3rem,11vw,4.6rem)}.hero h1 br:nth-of-type(3){display:none}.hero-visual{min-height:26rem}.hero-visual img{object-position:50% 40%}.visual-caption strong{font-size:2.3rem}.visual-caption{left:1.7rem;bottom:1.5rem}.eyebrow{font-size:.72rem}.hero .eyebrow{font-size:.65rem;letter-spacing:.09em}.hero .lead{font-size:1.1rem}.hero-desc{font-size:.98rem}.actions .button{font-size:.86rem;padding:.85rem 1rem}.pillars{padding:1.5rem 5%;row-gap:1.25rem}.pillars b{font-size:.9rem}.pillars span{font-size:.7rem;gap:.5rem}.section{padding:3.7rem 5%}.sectionhead{display:block;margin-bottom:2rem}.sectionhead>p{margin-top:1.5rem;max-width:100%}h2{font-size:2.45rem}.filters{margin-top:2rem}.filters button{font-size:.79rem;padding:.6rem .85rem}.servicegrid{grid-template-columns:1fr}.servicecard{padding:1.5rem}.cardtop{margin-bottom:1.2rem}.servicecard p{margin-bottom:1.3rem}.steps{grid-template-columns:1fr;gap:1.6rem;margin-top:2.5rem}.steps h3{font-size:1.6rem}.steps p{max-width:100%}.steps h3 br{display:none}.workgrid{grid-template-columns:1fr}.worktile{padding:2.3rem}.worktile h3{font-size:2rem}.faqsection{grid-template-columns:1fr;gap:1.6rem}.cta{padding:3rem 5%;display:block}.cta .button{margin-top:1rem}.footergrid{grid-template-columns:1fr;gap:2rem}footer{padding:3rem 5% 1.5rem}.footerbottom{display:block;line-height:2}.footerbottom span{display:block}.servicehero{padding:2rem 5% 3rem}.backlink{margin-bottom:2rem}.servicehero h1{font-size:3rem}.servicehero .lead{font-size:1.1rem}.packagegrid{grid-template-columns:1fr}.package,.package.featured{padding:2rem}.price{font-size:2.8rem}.scope{grid-template-columns:1fr;gap:2.8rem}.scope h2{font-size:2.2rem}.scope ul{margin-top:1.5rem}.tuneup{grid-template-columns:1fr;padding:1.7rem;gap:1rem}.tuneup>div:last-child{border-left:0;border-top:1px solid var(--border);padding:1.5rem 0 0}.inquiry{grid-template-columns:1fr;gap:1.5rem}.inquiry h1{font-size:3.2rem}form{padding:1.5rem}.formgrid{grid-template-columns:1fr;gap:0}.related h2{font-size:2.2rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}@media(prefers-contrast:more){:root{--muted:#3c3c3c;--border:#737373}.eyebrow{color:var(--ink)}}

/* Temporary brand treatment; replace the source photograph with client assets when supplied. */
.hero-visual img{filter:grayscale(1);mix-blend-mode:luminosity;opacity:.78}

/* Monochrome motion banner */
.hero-banner{max-width:none;display:block;position:relative;isolation:isolate;overflow:hidden;background:#080808;color:#fff;text-align:center;padding:6.5rem 5% 5.5rem;min-height:42rem}
.hero-banner .hero-copy{position:relative;z-index:1;max-width:72rem;margin:auto}
.hero-banner .eyebrow{display:block;color:#bcbcbc;font-size:.78rem;letter-spacing:.18em;animation:banner-enter .9s both}
.hero-banner h1{font-size:clamp(2.8rem,5.6vw,5.8rem);line-height:1.15;letter-spacing:-.05em;animation:banner-enter 1.1s .1s both}
.hero-banner .heading-intro,.hero-banner h1 em{display:block}
.hero-banner h1 em{background:linear-gradient(110deg,#fff 20%,#a6a6a6 40%,#fff 48%,#fff 55%,#a6a6a6 65%,#fff 80%);background-size:250% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:silver-sweep 9s ease-in-out infinite}
.hero-banner .lead{margin:1.8rem auto 1rem;color:#efefef;animation:banner-enter 1s .25s both}
.hero-banner .hero-desc{max-width:38rem;margin:1rem auto;color:#bdbdbd}
.hero-banner .actions{justify-content:center;margin-top:2rem}
.hero-banner .button{background:#fff;border-color:#fff;color:#111;min-height:3.4rem}.hero-banner .button:hover{background:#dedede}
.hero-banner .button.secondary{background:#ffffff08;border-color:#777;color:#fff}.hero-banner .button.secondary:hover{background:#ffffff18}
.hero-banner .micro{color:#a9a9a9;margin-top:1.5rem}
.banner-light{position:absolute;inset:-30%;z-index:0;pointer-events:none;background:radial-gradient(ellipse at 36% 45%,#ffffff28 0,transparent 30%),radial-gradient(ellipse at 68% 62%,#ffffff12 0,transparent 32%);filter:blur(26px);animation:light-drift 16s ease-in-out infinite alternate;transform:rotate(-12deg)}
.motion-toggle{position:absolute;bottom:1.3rem;right:2rem;z-index:2;background:transparent;border:1px solid #555;color:#bdbdbd;border-radius:2rem;padding:.45rem .9rem;font-size:.8rem;cursor:pointer}.motion-toggle:hover{color:white;border-color:#aaa}
.hero-banner.motion-paused *{animation-play-state:paused!important}
@keyframes silver-sweep{0%,100%{background-position:100% 0}50%{background-position:0 0}}
@keyframes light-drift{from{transform:translate(-6%,-4%) rotate(-12deg) scale(1)}to{transform:translate(8%,7%) rotate(10deg) scale(1.15)}}
@keyframes banner-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:760px){.hero-banner{padding:4.5rem 5% 5rem;min-height:39rem}.hero-banner h1{font-size:clamp(2.7rem,9.5vw,4rem);line-height:1.16}.hero-banner .eyebrow{font-size:.75rem;letter-spacing:.1em}.hero-banner .hero-desc{font-size:1rem}.hero-banner .actions{gap:.8rem}.motion-toggle{right:1rem;bottom:1rem}}
@media(prefers-reduced-motion:reduce){.hero-banner *, .banner-light{animation:none!important}.hero-banner h1 em{background:none;color:#fff}.motion-toggle{display:none}}
