:root{--cream:#f6f3ec;--ivory:#fcfaf5;--ink:#322e27;--gold:#8b683c;--line:#d9cfbe;--muted:#6c655a;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.7}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}img{display:block;max-width:100%}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:6px}.skip-link{position:absolute;top:-100px;left:20px;background:var(--ink);color:#fff;padding:12px;z-index:30}.skip-link:focus{top:12px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400}h1,h2{letter-spacing:-.045em}h2{font-size:clamp(38px,4.1vw,64px);line-height:1.13;margin-bottom:24px}h2 em,h1 em{font-weight:400;color:var(--gold)}p{margin-bottom:18px}::selection{background:#d7bd92;color:#322e27}.review-bar{background:#e9e1d5;min-height:30px;padding:7px 20px;text-align:center;font-size:9px;font-weight:500;letter-spacing:.17em;line-height:1.5;color:#64573f}.review-bar span{padding:0 12px}.header{padding:25px 4.2%;display:flex;justify-content:space-between;align-items:center;gap:28px;min-height:128px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:19px;flex-shrink:0}.brand-monogram{width:86px;height:60px;object-fit:contain;mix-blend-mode:multiply}.brand-type{border-left:1px solid #b7a383;padding-left:20px;display:flex;flex-direction:column}.brand-name{font-family:var(--serif);letter-spacing:.28em;line-height:1.2;font-size:32px;color:#785630}.brand-byline{font-family:var(--serif);font-style:italic;font-size:13px;line-height:1.8;letter-spacing:.015em}.nav{display:flex;align-items:center;gap:28px;font-size:11px;letter-spacing:.06em}.nav a{padding:8px 0}.nav a:hover{color:var(--gold)}.nav .nav-inquire{border:1px solid #b3a087;padding:12px 20px;display:flex;gap:22px;align-items:center}.nav-inquire span{font-size:19px;line-height:1}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:48% 52%;min-height:680px;border-bottom:1px solid var(--line)}.hero-copy{padding:77px 8.8% 25px;display:flex;align-items:flex-start;flex-direction:column}.eyebrow{font-size:10px;letter-spacing:.18em;line-height:1.8;color:var(--gold);font-weight:400;margin-bottom:25px}.hero .eyebrow{font-size:9px;letter-spacing:.11em}.hero .eyebrow span{padding:0 5px}h1{font-size:clamp(66px,7.1vw,112px);line-height:1.02;margin-bottom:30px}.hero-description{font-size:15px;line-height:1.9;color:var(--muted);margin-bottom:31px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:45px;padding:17px 25px;font-size:11px;letter-spacing:.09em;transition:background .2s,color .2s;line-height:1.6}.button span{font-size:21px;line-height:1}.button-dark{background:var(--ink);color:var(--cream);border:1px solid var(--ink)}.button-dark:hover{background:var(--gold);border-color:var(--gold)}.hero-foot{margin-top:auto;padding-top:52px;display:flex;align-items:center;justify-content:space-between;width:100%;font-size:8px;letter-spacing:.12em;color:var(--muted);gap:18px}.hero-foot a{border:1px solid var(--line);border-radius:50%;width:36px;height:36px;display:grid;place-items:center;font-size:17px}.hero-visual{position:relative;overflow:hidden;background:#7b644b;min-height:680px}.hero-visual>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center 50%}.hero-visual::after{position:absolute;inset:60% 0 0;content:'';background:linear-gradient(transparent,rgba(15,11,7,.5));pointer-events:none}.image-note{position:absolute;bottom:24px;left:30px;right:30px;z-index:1;color:#fff;display:flex;justify-content:space-between;font-size:8px;letter-spacing:.13em;gap:18px}.section-wrap{padding:98px 6%}.intro{display:grid;grid-template-columns:1.1fr 1fr;gap:9%;border-bottom:1px solid var(--line)}.intro h2{font-size:clamp(37px,3.7vw,57px)}.intro-copy{padding-top:23px;max-width:560px}.intro-copy p,.about-copy>p:not(.eyebrow):not(.locations){color:var(--muted);font-size:15px;line-height:1.9}.text-link{display:inline-flex;align-items:center;gap:27px;font-size:11px;letter-spacing:.04em;padding:9px 0;border-bottom:1px solid #b6a58d}.text-link span{font-size:17px;line-height:1}.text-link:hover{color:var(--gold);border-color:var(--gold)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:45px}.section-heading h2{margin:0}.section-heading>p,.portfolio-aside>p{font-size:13px;line-height:1.9;color:var(--muted);max-width:250px;margin-bottom:3px}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.service-photo{position:relative;aspect-ratio:4/4.7;background:#c2b5a2;overflow:hidden}.service-photo img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.service-card a:hover .service-photo img{transform:scale(1.035)}.service-title{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:24px 0 13px}.service-title h3{font-size:32px;letter-spacing:-.025em;margin:0}.service-title>span{font-size:24px;color:var(--gold)}.service-card>p{font-size:13px;line-height:1.9;color:var(--muted);max-width:360px;margin-bottom:0}.photo-number{position:absolute;left:16px;bottom:16px;color:#fff;background:rgba(30,25,20,.4);backdrop-filter:blur(5px);font-size:10px;letter-spacing:.1em;padding:3px 9px}.portfolio{background:#eae3d7;padding-bottom:75px}.portfolio .section-heading{padding-top:85px;padding-bottom:0;margin-bottom:42px}.portfolio-aside{text-align:right}.portfolio-aside>p{max-width:280px;font-size:12px;margin-bottom:10px}.portfolio-grid{display:grid;grid-template-columns:1.36fr 1fr;gap:22px;padding:0 6%;grid-template-rows:330px 330px}.gallery-item{position:relative;overflow:hidden;border:0;background:#726652;padding:0;cursor:zoom-in;text-align:left}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.gallery-item:hover img{transform:scale(1.025)}.gallery-tall{grid-column:2;grid-row:1/3}.gallery-label{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(20,15,9,.65));padding:60px 24px 19px;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:18px;font-size:11px;letter-spacing:.015em}.gallery-label>span{font-size:27px;font-weight:300}.about{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.about-brand{text-align:center;padding:52px 22px;border:1px solid var(--line);display:flex;align-items:center;flex-direction:column}.about-brand>.eyebrow{font-size:8px;margin-bottom:36px}.about-brand img{width:min(75%,310px);height:auto;mix-blend-mode:multiply;margin:0 auto 23px}.about-brand p{font-family:var(--serif);font-style:italic;color:#795733;font-size:17px;letter-spacing:.03em}.fine-rule{display:block;height:1px;background:var(--gold);width:34px;margin:8px auto 20px}.about-tagline{font-size:9px;letter-spacing:.19em;color:var(--gold)}.about-copy h2{font-size:clamp(38px,3.7vw,56px)}.about-copy .locations{font-size:9px;letter-spacing:.1em;line-height:2.2;color:var(--gold);margin:25px 0 12px}.kind-words{padding:87px 15% 80px;border-top:1px solid var(--line);text-align:center;background:var(--ivory)}.kind-words .eyebrow{font-size:9px}.kind-words blockquote{max-width:870px;margin:30px auto;font:italic 37px/1.4 var(--serif);letter-spacing:-.025em}.quote-credit{font-size:9px;letter-spacing:.15em;margin-bottom:25px}.quote-credit span{color:var(--muted);font-size:8px;margin-left:8px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center;background:var(--ink);color:var(--cream);padding-top:75px;padding-bottom:75px}.contact .eyebrow{color:#c3a576;font-size:9px}.contact h2{font-size:clamp(48px,5.5vw,78px);margin-bottom:22px}.contact h2 em{color:#c6a679}.contact>div>p:not(.eyebrow){font-size:14px;color:#d5cec2;line-height:1.8}.contact-actions{display:flex;flex-direction:column;align-items:flex-start;padding-top:20px}.button-cream{background:var(--cream);color:var(--ink);width:100%;max-width:345px}.button-cream:hover{background:#dec9a7}.contact-email{margin:24px 0 15px;font-size:14px;border-bottom:1px solid #86755a;max-width:100%;overflow-wrap:anywhere}.contact-actions .preview-note{font-size:10px!important;line-height:1.8;color:#c1b8ab!important;max-width:345px}.footer{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:37px 6%}.footer-brand{font:28px/1.2 var(--serif);letter-spacing:.2em;color:var(--gold)}.footer-brand span{display:block;font:italic 11px/1.7 var(--serif);letter-spacing:0;color:var(--ink);margin-top:5px}.footer>p{font-size:8px;letter-spacing:.15em;margin:0;color:var(--muted)}.copyright{font-size:9px;color:var(--muted)}.lightbox{padding:48px 35px 20px;width:min(94vw,1400px);max-width:94vw;max-height:94vh;background:#211e19;color:var(--cream);border:0}.lightbox::backdrop{background:rgba(16,14,11,.88)}.lightbox figure{margin:0}.lightbox img{max-width:100%;max-height:75vh;width:auto;height:auto;object-fit:contain;margin:0 auto;min-height:120px}.lightbox figcaption{font-size:12px;text-align:center;padding:14px 0 0}.lightbox-close{position:absolute;right:13px;top:3px;border:0;background:none;color:#fff;font-size:32px;cursor:pointer;width:40px;height:40px;line-height:1}
@media(min-width:1600px){body{max-width:1800px;margin:0 auto}.hero{min-height:790px}.hero-visual{min-height:790px}.hero-copy{padding-top:108px}.hero h1{font-size:122px}.portfolio-grid{grid-template-rows:400px 400px}}
@media(max-width:1150px){.header{padding:23px 4%;gap:20px}.nav{gap:17px;font-size:10px}.brand-monogram{width:70px;height:51px}.brand{gap:14px}.brand-type{padding-left:14px}.brand-name{font-size:29px}.brand-byline{font-size:11px}.nav .nav-inquire{padding:10px 13px;gap:14px}.hero-copy{padding-top:70px}.hero,.hero-visual{min-height:630px}.hero h1{font-size:7.35vw}.hero .eyebrow{font-size:8px;letter-spacing:.08em}.hero-description{font-size:13px}.section-wrap{padding:77px 5%}.service-grid{gap:22px}.service-title h3{font-size:29px}.about{gap:7%}.portfolio-grid{padding:0 5%;grid-template-rows:290px 290px}.hero-foot{font-size:7px;letter-spacing:.05em}.kind-words blockquote{font-size:33px}}
@media(max-width:900px){.header{min-height:112px}.menu-toggle{display:flex;align-items:center;gap:16px;background:none;border:0;padding:12px 0;cursor:pointer;font-size:10px;text-transform:uppercase;letter-spacing:.12em}.menu-lines{position:relative;display:block;width:23px;height:11px;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.nav{display:none;position:absolute;top:142px;left:0;right:0;z-index:10;background:var(--cream);padding:25px 6% 32px;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;font-size:13px;gap:12px}.nav.is-open{display:flex}.hero,.hero-visual{min-height:570px}.hero-copy{padding:65px 8% 25px}.hero-description br{display:none}.hero-foot span{max-width:165px;line-height:1.8}.eyebrow{font-size:9px}.intro{gap:6%}.intro h2{font-size:37px}.intro-copy{padding-top:7px}.intro-copy p,.about-copy>p:not(.eyebrow):not(.locations){font-size:13px}.service-grid{gap:19px}.service-card>p{font-size:12px}.service-title h3{font-size:26px}.section-heading{gap:30px}.portfolio-grid{grid-template-rows:240px 240px;gap:16px}.portfolio-aside>p{font-size:11px}.about-brand{padding:40px 15px}.about-brand>.eyebrow{font-size:7px}.about-copy h2{font-size:37px}.about-brand p{font-size:14px}.about-tagline{font-size:8px}.contact-email{font-size:12px}.footer{flex-wrap:wrap;padding-top:30px;padding-bottom:30px}.footer>p{display:none}}
@media(max-width:650px){.review-bar{font-size:7px;letter-spacing:.08em;padding:7px 8px}.review-bar span{padding:0 5px}.header{min-height:100px;padding:20px 6%}.brand-monogram{width:64px;height:45px}.brand-name{font-size:27px}.brand-byline{font-size:10px}.brand{gap:12px}.brand-type{padding-left:13px}.nav{top:130px}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:42px 7% 26px}.hero .eyebrow{font-size:8px;letter-spacing:.07em;margin-bottom:22px}.hero h1{font-size:clamp(62px,12.5vw,81px);margin-bottom:21px}.hero-description{font-size:14px;max-width:310px;margin-bottom:23px}.button{font-size:10px;padding:14px 21px;gap:35px}.hero-foot{padding-top:27px;font-size:7px;letter-spacing:.07em}.hero-foot span{max-width:none}.hero-visual{min-height:440px;height:108vw;max-height:570px}.hero-visual>img{object-position:center 45%}.image-note{font-size:7px;left:23px;right:23px;bottom:19px}.section-wrap{padding:58px 7%}.intro{grid-template-columns:1fr;gap:12px}.intro h2{font-size:40px}.intro-copy{max-width:100%;padding-top:0}.intro-copy p,.about-copy>p:not(.eyebrow):not(.locations){font-size:14px}.eyebrow{font-size:8px;letter-spacing:.14em;margin-bottom:18px}h2{font-size:43px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:20px;font-size:12px;max-width:100%}.section-heading>p br{display:none}.service-grid{grid-template-columns:1fr;gap:38px}.service-photo{aspect-ratio:4/4.15}.service-title{margin-top:19px;margin-bottom:9px}.service-title h3{font-size:31px}.service-card>p{font-size:13px;max-width:100%}.portfolio{padding-bottom:48px}.portfolio .section-heading{padding-top:55px;margin-bottom:27px}.portfolio-aside{text-align:left;margin-top:24px}.portfolio-aside>p{max-width:100%;font-size:11px;margin-bottom:4px}.portfolio-grid{display:flex;flex-direction:column;padding:0 7%;gap:18px}.gallery-wide{aspect-ratio:1.35}.gallery-tall{aspect-ratio:.9}.gallery-label{font-size:10px;padding-left:18px;padding-right:18px}.about{display:flex;flex-direction:column-reverse;gap:36px}.about-copy h2{font-size:43px}.about-brand{width:100%;padding:35px 20px}.about-brand>.eyebrow{font-size:7px;margin-bottom:25px}.about-brand img{max-width:235px;margin-bottom:18px}.about-brand p{font-size:15px}.kind-words{padding:55px 8%}.kind-words blockquote{font-size:28px;margin:25px auto}.kind-words>.eyebrow{font-size:8px}.quote-credit{font-size:8px}.contact{grid-template-columns:1fr;gap:0;padding-top:55px;padding-bottom:45px}.contact h2{font-size:55px}.contact-actions{padding-top:10px}.button-cream{max-width:100%;width:100%}.contact-email{font-size:13px}.contact-actions .preview-note{max-width:100%}.footer{padding:27px 7%;gap:24px;align-items:flex-start;flex-direction:column}.footer-brand{font-size:27px}.copyright{font-size:8px}.lightbox{padding:48px 12px 12px}.lightbox figcaption{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
