@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--ink:#172b35;--paper:#f8f6f1;--white:#fff;--muted:#52636a;--line:#dcded8;--gold:#9b713e;--soft:#eeeee7;--serif:'Libre Caslon Display',Georgia,serif;--body:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font:16px/1.65 var(--body);color:var(--ink);background:var(--paper)}img{display:block;max-width:100%;height:auto}a{color:inherit;text-underline-offset:4px}button,input,textarea,select{font:inherit}button,a,input,textarea,select{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #b88b50;outline-offset:5px}.wrap{width:min(1200px,calc(100% - 80px));margin:auto}.skip{position:absolute;left:-9999px}.skip:focus{left:20px;top:15px;background:white;padding:12px;z-index:100}.topline{background:var(--ink);color:#fff;padding:7px 0;font-size:11px;letter-spacing:.06em}.topline .wrap{display:flex;justify-content:space-between;gap:15px}.topline a{text-decoration:none}.header{position:sticky;top:0;z-index:30;background:rgba(248,246,241,.98);border-bottom:1px solid var(--line)}.navwrap{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:90px}.brand{text-decoration:none;font:34px/1 var(--serif);white-space:nowrap}.brand small{display:block;font:8px/1.5 var(--body);letter-spacing:.22em;text-transform:uppercase;margin-top:7px}.nav{display:flex;align-items:center;gap:22px}.nav a{text-decoration:none;font-size:13px}.nav a[aria-current]{border-bottom:1px solid var(--gold)}.nav .button{font-size:12px;min-height:44px}.menu{display:none;border:1px solid var(--line);background:transparent;padding:9px 14px;color:var(--ink)}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;text-decoration:none;border:1px solid var(--ink);background:var(--ink);color:white;min-height:52px;padding:13px 24px;font-size:13px;letter-spacing:.025em;cursor:pointer;font-weight:600}.button:hover{background:#2b4753}.button.light{background:transparent;color:var(--ink)}.button.light:hover{background:var(--soft)}.button.white{background:var(--paper);color:var(--ink);border-color:var(--paper)}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.eyebrow{font-size:10px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--gold);margin:0 0 17px}h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.05;letter-spacing:-.035em;margin:0 0 24px}h1{font-size:clamp(48px,5.5vw,82px)}h2{font-size:clamp(38px,4vw,57px)}h3{font-size:29px;letter-spacing:-.02em;margin-bottom:14px}p{margin:0 0 20px}.lead{color:var(--muted);font-size:17px;max-width:650px}.hero{padding:60px 0 66px}.hero-grid{display:grid;grid-template-columns:.95fr 1.05fr;align-items:center;gap:65px}.hero-photo{position:relative}.hero-photo img{width:100%;height:560px;object-fit:cover;object-position:50% 50%}.hero-photo .caption{position:absolute;bottom:14px;left:14px;right:14px;background:rgba(23,43,53,.8);padding:9px 14px;color:#fff;font-size:10px;letter-spacing:.08em}.proof-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0}.proof-strip .wrap{display:flex;gap:25px;justify-content:space-between;flex-wrap:wrap;font-size:12px}.proof-strip strong{font-weight:600}.section{padding:90px 0}.section.soft{background:var(--soft)}.section.dark{background:var(--ink);color:var(--paper)}.section.dark .lead,.section.dark .muted{color:#bfc9c9}.section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:38px}.section-title h2{margin-bottom:0}.section-title p{max-width:420px;color:var(--muted);margin:0}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.card{display:block;text-decoration:none;min-width:0}.card .photo{margin-bottom:20px;overflow:hidden}.card h3{font-size:29px}.card p{font-size:14px;color:var(--muted)}.card .arrow{font-size:12px;text-transform:uppercase;letter-spacing:.12em;border-bottom:1px solid var(--line);padding-bottom:10px;display:block}.photo{aspect-ratio:3/2;background:var(--soft);background-size:200% 200%;background-repeat:no-repeat;position:relative;overflow:hidden}.photo img{width:100%;height:100%;object-fit:cover}.q0{background-position:0 0}.q1{background-position:100% 0}.q2{background-position:0 100%}.q3{background-position:100% 100%}.illustration{position:absolute;bottom:8px;right:8px;padding:3px 7px;background:rgba(255,255,255,.88);color:#52636a;font-size:8px;letter-spacing:.03em}.split{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:start}.copy p{color:var(--muted)}.scope{display:grid;grid-template-columns:1fr 1fr;gap:0 30px;margin:25px 0;padding:0;list-style:none}.scope li{border-top:1px solid var(--line);padding:13px 0;font-size:14px}.scope li:before{content:'↗';color:var(--gold);margin-right:10px}.step{padding:25px 0;border-top:1px solid var(--line)}.step small{color:var(--gold);font-size:11px;letter-spacing:.12em}.step h3{font-size:28px;margin:8px 0 12px}.step p{font-size:14px;color:var(--muted)}.process{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.note{border-left:2px solid var(--gold);padding-left:18px;font-size:12px;color:var(--muted)}.breadcrumb{font-size:11px;color:var(--muted);margin:0 0 25px}.service-hero{padding:55px 0 65px}.service-hero .hero-grid{gap:55px}.service-hero h1{font-size:clamp(42px,4.8vw,67px)}.service-hero .photo{aspect-ratio:3/2;width:100%}.pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.pills span,.pills a{border:1px solid var(--line);padding:7px 12px;text-decoration:none;font-size:11px}.faq details{border-top:1px solid var(--line);padding:18px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{font-size:15px;cursor:pointer;font-weight:500}.faq details p{color:var(--muted);font-size:14px;margin:16px 0 0}.consultation{background:#e9e9e0}.form{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}.form label{font-size:11px;font-weight:600;display:block;letter-spacing:.025em}.form input,.form textarea,.form select,.search{display:block;width:100%;border:1px solid #bcc4bf;background:var(--paper);color:var(--ink);padding:12px;margin-top:7px;min-height:48px;border-radius:0}.form textarea{min-height:110px;resize:vertical}.form .full{grid-column:1/-1}.form .hp{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.form .button{width:100%}.form .consent{font-weight:400;color:var(--muted);font-size:10px}.form [data-form-status]{font-size:14px;font-weight:600;margin:0;min-height:1.65em}.form button:disabled{opacity:.55;cursor:wait}.form [data-form-status]:empty{display:none}.footer{background:#14262f;color:#dce2df;padding:60px 0 100px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px}.footer .brand{font-size:36px}.footer p{font-size:12px;color:#b5c1c2}.footer ul{padding:0;list-style:none;margin:0}.footer li{margin-bottom:8px}.footer a{font-size:12px;text-decoration:none}.footer .brand{font-size:36px}.footer h3{font:11px var(--body);text-transform:uppercase;letter-spacing:.15em;margin-bottom:18px;color:#dfc7a6}.footer-bottom{border-top:1px solid #38505a;margin-top:40px;padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#b5c1c2}.mobile-actions{display:none}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.gallery-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;cursor:zoom-in}.gallery-grid a{display:block}.quote{padding:30px;border:1px solid var(--line);background:var(--white)}.quote blockquote{font:26px/1.4 var(--serif);margin:0 0 20px}.quote cite{font-style:normal;font-size:12px;color:var(--muted)}.quote a{font-size:11px}.trade-search{margin:30px 0;max-width:550px}.search{font-size:14px}.trade-group{padding:20px 0 45px;scroll-margin-top:120px}.trade-group h2{font-size:40px}.hidden,[hidden]{display:none!important}.empty{padding:30px;background:var(--soft)}.legal{max-width:800px}.legal h2{font-size:30px;margin-top:40px}.legal li{margin-bottom:10px}.license-link{text-decoration:none;border-bottom:1px solid var(--gold)}.logo-mark{color:var(--gold)}.lightbox{position:fixed;inset:0;z-index:100;background:rgba(12,22,29,.96);padding:50px;display:grid;place-items:center}.lightbox img{max-height:85vh;object-fit:contain}.lightbox button{position:absolute;top:15px;right:20px;color:white;background:transparent;border:1px solid white;padding:10px 17px;cursor:pointer}.lightbox figcaption{color:#eee;text-align:center;font-size:12px;margin-top:10px}.lightbox figure{margin:0;max-height:95vh}.service-directory h3{margin-bottom:20px}.contact-line{font-size:26px;font-family:var(--serif)}.contact-line a{text-decoration:none}.eyebrow+.lead{margin-top:0}.band{padding:45px 0;background:var(--ink);color:var(--paper)}.band .wrap{display:flex;align-items:center;justify-content:space-between;gap:25px}.band h2{font-size:35px;margin:0}.muted{color:var(--muted)}
@media(min-width:1500px){.hero-photo img{height:610px}}@media(max-width:1050px){.nav{gap:15px}.nav a{font-size:11px}.navwrap{gap:18px}.nav .button{padding:10px 13px}.brand{font-size:29px}.hero-grid{gap:35px}.wrap{width:calc(100% - 48px)}.hero-photo img{height:510px}.split{gap:40px}.section{padding:70px 0}}
@media(max-width:800px){.topline .wrap>span:last-child{display:none}.navwrap{min-height:75px}.menu{display:block}.nav{display:none;position:absolute;left:0;right:0;top:75px;background:var(--paper);padding:18px 24px 26px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;max-height:calc(100dvh - 110px);overflow:auto}.nav.open{display:flex}.nav a{font-size:15px;padding:8px 0}.nav .button{margin-top:8px;padding:12px}.hero-grid,.split{grid-template-columns:1fr;gap:30px}.hero{padding:42px 0}.hero-photo img{height:430px}.hero h1{max-width:600px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.process{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.section-title{display:block}.section-title p{margin-top:20px}.gallery-grid{grid-template-columns:1fr 1fr}.service-hero{padding:35px 0 45px}.service-hero .hero-grid{gap:30px}.mobile-actions{display:grid;grid-template-columns:1fr 1.4fr;position:fixed;bottom:0;left:0;right:0;z-index:40;background:var(--paper);border-top:1px solid var(--line);padding:8px 12px max(8px,env(safe-area-inset-bottom));gap:10px}.mobile-actions .button{min-height:44px;font-size:12px;padding:9px}.footer-bottom{padding-bottom:20px}.section{padding:55px 0}.band .wrap{display:block}.band .button{margin-top:20px}}
@media(max-width:480px){.wrap{width:calc(100% - 36px)}h1{font-size:48px}.hero-photo img{height:310px}.hero-grid{gap:32px}.lead{font-size:15px}.proof-strip .wrap{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:10px}.grid,.grid.two{grid-template-columns:1fr}.process{gap:20px}.scope{grid-template-columns:1fr}.form{gap:16px 14px}.form label{font-size:10px}.form .phone,.form .name{grid-column:1/-1}.footer-grid{gap:30px}.section-title h2,h2{font-size:39px}.gallery-grid{gap:10px}.lightbox{padding:20px}.actions .button{flex:1;padding:12px;white-space:nowrap;font-size:11px}.hero .actions{flex-direction:column}.service-hero h1{font-size:43px}.service-hero .photo{min-height:0}.topline{font-size:9px}.footer-bottom{display:block}.footer-bottom a{display:inline-block;margin-top:10px}.hero-photo .caption{font-size:8px}.quote{padding:25px}.service-directory .grid{gap:35px}.band h2{font-size:33px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
