
:root{--ink:#332e2b;--muted:#776f6a;--sand:#f9f5f1;--cream:#fffdfb;--rose:#b9877e;--rose-dark:#885e57;--rose-soft:#e9dcd5;--line:#eadfd9;--white:#fff;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:var(--sans);line-height:1.62;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:hover{color:var(--rose-dark)}img{max-width:100%;display:block}button,input,textarea,select{font:inherit}button{cursor:pointer}.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.container{max-width:1250px;margin:0 auto;padding:0 28px}.topline{background:#f2e7e0;color:#775f55;letter-spacing:.19em;font-size:10px;display:flex;justify-content:space-between;padding:9px max(calc((100vw - 1230px)/2),28px);font-weight:700}.site-head{z-index:20;position:sticky;top:0;background:rgba(255,253,251,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.nav-wrap{max-width:1370px;margin:auto;padding:12px 25px;display:flex;align-items:center;gap:26px}.brand{flex:0 0 285px}.brand img{height:61px;width:285px;object-fit:contain}.nav-desktop{display:flex;align-items:center;justify-content:center;gap:25px;margin-left:auto}.nav-desktop a{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;padding:15px 0;white-space:nowrap;border-bottom:1px solid transparent}.nav-desktop a.active,.nav-desktop a:hover{color:var(--rose-dark);border-color:var(--rose)}.head-cta{background:var(--rose);color:white!important;font-size:10px;letter-spacing:.13em;padding:15px 18px;white-space:nowrap;font-weight:bold}.head-cta:hover{background:var(--rose-dark)}.menu-toggle{display:none;background:none;border:1px solid var(--line);padding:6px 11px;font-size:23px}.nav-mobile[hidden]{display:none!important}.nav-mobile{padding:20px;display:grid;gap:12px}.nav-mobile a{padding:8px;border-bottom:1px solid var(--line)}.eyebrow{text-transform:uppercase;letter-spacing:.28em;font-size:11px;font-weight:700;color:var(--rose-dark)}.eyebrow.light{color:#f2dcd0}.serif{font-family:var(--serif)}h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.025em;line-height:1.13}h1{font-size:clamp(3rem,5vw,6rem);margin:12px 0 21px}h2{font-size:clamp(2.25rem,3.5vw,4rem);margin:10px 0 20px}h3{font-size:clamp(1.45rem,2vw,2.1rem);margin:10px 0 14px}p{margin:0 0 20px}.muted{color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:13px 22px;font-size:11px;font-weight:bold;letter-spacing:.15em;text-transform:uppercase;transition:background .2s,color .2s;white-space:nowrap;border:1px solid transparent}.btn-primary{background:var(--rose);color:white!important}.btn-primary:hover{background:var(--rose-dark)}.btn-outline{border:1px solid #927d73;color:var(--ink)}.btn-outline:hover{background:#efe4dd}.btn-light{background:white;color:#544039!important}.actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:28px}.home-hero{display:grid;grid-template-columns:49% 51%;min-height:680px;background:#f4ece6}.home-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:90px max(30px,calc((100vw - 1240px)/2)) 90px max(30px,calc((100vw - 1240px)/2));padding-right:45px}.home-hero h1{font-size:clamp(3.2rem,5.4vw,6.8rem)}.home-hero h1 em{font-weight:normal;color:var(--rose-dark)}.home-hero p{font-size:17px;max-width:540px}.home-hero-img{display:grid;grid-template-columns:55% 45%;gap:8px;padding:22px 24px 22px 0;max-height:680px}.home-hero-img img{width:100%;height:100%;object-fit:cover}.home-hero-img .stack{display:grid;gap:8px;grid-template-rows:1fr 1fr;min-height:0}.intro-mark{padding:44px 20px;text-align:center;background:white;border-block:1px solid var(--line)}.intro-mark p{margin:auto;max-width:720px;font-family:var(--serif);font-size:clamp(1.2rem,2.2vw,1.8rem)}.section{padding:95px 0}.section-soft{background:var(--sand)}.center{text-align:center}.section-title{max-width:820px;margin:0 auto 46px}.section-title p{color:var(--muted)}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.service-card{display:block;background:white;border:1px solid var(--line);overflow:hidden}.service-card img{width:100%;aspect-ratio:1.13;object-fit:cover;transition:transform .5s}.service-card:hover img{transform:scale(1.035)}.service-card .card-info{padding:25px 27px 30px}.service-card h3{font-size:28px}.service-card p{font-size:14px;color:var(--muted)}.text-link{text-transform:uppercase;letter-spacing:.15em;font-size:11px;font-weight:bold;color:var(--rose-dark);border-bottom:1px solid currentColor;padding-bottom:5px}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.split img{width:100%;height:550px;object-fit:cover}.split-copy p{max-width:560px}.photo-pair{display:grid;grid-template-columns:1.1fr .9fr;gap:16px}.photo-pair img:nth-child(1){height:540px}.photo-pair img:nth-child(2){height:440px;margin-top:60px}.photo-pair img{object-fit:cover;width:100%}.quote-band{background:#e9d7cf;padding:80px 20px;text-align:center}.quote-band blockquote{max-width:970px;margin:0 auto;font-family:var(--serif);font-size:clamp(1.7rem,3vw,3rem);line-height:1.35}.quote-band cite{display:block;margin-top:26px;font-size:12px;font-style:normal;letter-spacing:.18em;text-transform:uppercase}.cta-block{padding:95px 20px;text-align:center}.cta-block p{max-width:640px;margin:auto;color:var(--muted)}.page-hero{background:var(--sand);padding:90px 0 80px;border-bottom:1px solid var(--line)}.page-hero .container{display:grid;grid-template-columns:1.04fr .96fr;align-items:center;gap:60px}.page-hero p{max-width:640px;color:var(--muted);font-size:17px}.page-hero img{width:100%;max-height:410px;object-fit:cover}.breadcrumbs{font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:#8a817b;margin-bottom:28px}.breadcrumbs a{text-decoration:underline;text-underline-offset:4px}.prose{max-width:820px;margin:auto}.prose p{font-size:16px}.prose ul{padding-left:21px}.prose li{margin-bottom:8px}.prose strong{font-weight:700}.prose h2{font-size:36px}.prose h3{font-size:25px}.prose a:not(.btn){color:var(--rose-dark);text-decoration:underline}.chip-list{display:flex;gap:9px;flex-wrap:wrap}.chip-list a{border:1px solid var(--line);padding:8px 13px;background:white;font-size:12px}.badge-text{font-size:11px;letter-spacing:.1em;color:var(--rose-dark);font-weight:bold;text-transform:uppercase}.callout{border-left:3px solid var(--rose);background:#faf2ed;padding:18px 25px;color:#625750;margin:24px 0}.masonry{columns:3;column-gap:16px}.masonry figure{margin:0 0 16px;break-inside:avoid;position:relative;cursor:zoom-in;overflow:hidden}.masonry img{width:100%;height:auto}.masonry figcaption{font-size:12px;padding:8px 0 2px;color:var(--muted)}.filters{display:flex;justify-content:center;flex-wrap:wrap;gap:9px;margin-bottom:35px}.filter{background:transparent;border:1px solid var(--line);padding:10px 16px;text-transform:uppercase;font-size:10px;letter-spacing:.12em}.filter[aria-pressed="true"]{background:var(--rose);color:white;border-color:var(--rose)}.lightbox{position:fixed;inset:0;z-index:100;background:rgba(22,18,17,.94);display:grid;place-items:center;padding:30px}.lightbox[hidden]{display:none}.lightbox img{max-width:90vw;max-height:84vh;object-fit:contain}.lightbox button{position:absolute;top:15px;right:24px;border:0;background:none;color:white;font-size:35px}.mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:23px}.feature{background:white;border:1px solid var(--line);padding:27px}.feature h3{margin:8px 0;font-size:25px}.feature p{font-size:14px;color:var(--muted);margin:0}.collection{display:grid;grid-template-columns:1fr 1.5fr;gap:40px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line)}.collection img{width:100%;height:330px;object-fit:cover}.price-list{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.price{padding:27px;background:white;border:1px solid var(--line)}.price h3{font-size:25px}.price strong{font-size:18px;color:var(--rose-dark)}.price small{display:block;color:var(--muted);margin-top:8px}.quote-card{background:white;padding:35px;border:1px solid var(--line)}.quote-card p{font-family:var(--serif);font-size:20px}.quote-card strong{font-family:var(--sans);font-size:12px;letter-spacing:.14em;text-transform:uppercase}.faq-item{border-bottom:1px solid var(--line)}.faq-item summary{cursor:pointer;padding:21px 0;font-family:var(--serif);font-size:23px}.faq-item p{max-width:760px;color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid label{display:grid;gap:7px;font-size:12px;text-transform:uppercase;letter-spacing:.11em;font-weight:bold}.form-grid input,.form-grid textarea,.form-grid select{width:100%;padding:13px 14px;border:1px solid #dfd4ce;background:white;border-radius:0;color:var(--ink)}.form-grid .wide{grid-column:span 2}.form-grid textarea{min-height:130px}.form-grid button{justify-self:start}.form-note{font-size:12px;color:#71655d;margin-top:14px}.result-message{margin-top:15px;border:1px solid var(--line);padding:12px;background:#f7f1ed}.table-wrapper{overflow-x:auto}table.prices{width:100%;border-collapse:collapse;background:white}table.prices th,table.prices td{border-bottom:1px solid var(--line);padding:18px;text-align:left;font-size:14px}table.prices th{background:#efe4df;text-transform:uppercase;font-size:10px;letter-spacing:.15em}.pill{background:#f1e0d7;color:#865c4f;padding:4px 8px;font-size:11px}.footnote{font-size:12px;color:var(--muted)}.directory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.directory-col{background:#fff;border:1px solid var(--line);padding:24px}.directory-col a{display:block;font-size:13px;padding:7px 0;border-bottom:1px solid #f0ebe8}.directory-col h3{font-size:24px}.footer{background:#3b3530;color:#f5eee8}.footer-inner{max-width:1250px;margin:auto;padding:0 28px}.footer-message{text-align:center;padding:90px 0;border-bottom:1px solid #695c56}.footer-message h2{font-size:clamp(2.8rem,4.4vw,5rem)}.footer-message h2 em{color:#e1b4a0}.footer-bottom{padding:35px 0 50px;display:grid;grid-template-columns:1.4fr 2fr auto;gap:30px;align-items:start}.footer-bottom img{max-width:220px;filter:grayscale(1) brightness(10)}.footer-bottom p{font-size:12px;color:#cdbeb4}.footer-bottom nav{display:flex;gap:18px;flex-wrap:wrap}.footer-bottom nav a,.footer-bottom small{font-size:11px;color:#d7cbc3}.footer-bottom nav a:hover{color:white}
@media(max-width:1100px){.brand{flex-basis:235px}.brand img{width:235px}.nav-desktop{gap:13px}.nav-desktop a{font-size:10px}.head-cta{display:none}.home-hero-copy{padding-left:40px}.footer-bottom{grid-template-columns:1fr 1fr}}
@media(max-width:860px){.topline{font-size:9px}.nav-desktop{display:none}.menu-toggle{display:block;margin-left:auto}.head-cta{display:inline-flex;margin-left:auto}.home-hero{grid-template-columns:1fr;min-height:unset}.home-hero-copy{padding:75px 35px}.home-hero-img{height:450px;padding:0}.page-hero .container{grid-template-columns:1fr;gap:30px}.page-hero{padding:65px 0}.split{grid-template-columns:1fr;gap:32px}.split img{height:410px}.card-grid{grid-template-columns:repeat(2,1fr)}.footer-bottom{grid-template-columns:1fr}.directory-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.container,.footer-inner{padding:0 20px}.topline{justify-content:center}.topline span:nth-child(2){display:none}.brand{flex:0 1 220px}.brand img{width:215px}.head-cta{display:none}.home-hero-copy{padding:64px 24px}.home-hero-img{height:320px;gap:5px}.home-hero h1{font-size:3.3rem}.section{padding:65px 0}.card-grid,.mini-grid,.price-list,.directory-grid{grid-template-columns:1fr}.masonry{columns:2}.collection{grid-template-columns:1fr}.collection img{height:240px}.photo-pair img:nth-child(1){height:360px}.photo-pair img:nth-child(2){height:300px}.split img{height:350px}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.footer-message{padding:70px 0}.footer-bottom{padding:25px 0 40px}.page-hero .container{gap:24px}.page-hero img{max-height:280px}.actions{gap:9px}.btn{white-space:normal;text-align:center}.masonry{column-gap:8px}.masonry figure{margin-bottom:8px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
