@font-face{font-family:Cormorant;src:url('/fonts/cormorant-vietnamese.woff2') format('woff2');font-weight:500;font-display:swap}@font-face{font-family:Cormorant;src:url('/fonts/cormorant-latin.woff2') format('woff2');font-weight:500;font-display:swap;unicode-range:U+0000-00FF}@font-face{font-family:BeVietnam;src:url('/fonts/be-vietnam-vietnamese.woff2') format('woff2');font-weight:100 900;font-display:swap}@font-face{font-family:BeVietnam;src:url('/fonts/be-vietnam-latin.woff2') format('woff2');font-weight:100 900;font-display:swap;unicode-range:U+0000-00FF}
:root{--brown:#8c6a54;--clay:#b98a73;--cream:#fcf6f1;--sand:#f5efe7;--ink:#4a382d;--line:#d9c6b8;--serif:Cormorant,Georgia,'Times New Roman',serif;--sans:BeVietnam,Arial,sans-serif}*{box-sizing:border-box}html{scroll-padding-top:110px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--brown);outline-offset:5px}::selection{background:#e7d4c4;color:var(--ink)}.container{width:min(1184px,calc(100% - 96px));margin-inline:auto}.header{position:sticky;top:0;z-index:30;background:rgba(252,246,241,.97);border-bottom:1px solid #e8dbd0}.header-inner{height:104px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;gap:13px;align-items:center;color:var(--brown)}.brand-mark{width:48px;display:block}.brand-mark svg{width:100%;stroke:currentColor;stroke-width:1.7}.brand-name{font-family:var(--serif);font-size:30px;letter-spacing:.04em;display:block;line-height:1.1}.brand-tag{display:block;font-size:7px;letter-spacing:.16em;margin-top:5px}#main-nav{display:flex;align-items:center;gap:34px;font-size:13px}#main-nav>a:not(.button){padding:12px 0}#main-nav>a:hover,.text-link:hover{color:var(--brown)}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;background:var(--brown);color:var(--cream);border:1px solid var(--brown);padding:15px 26px;border-radius:2px;min-height:52px;font-size:13px;font-weight:500;transition:background .2s,transform .2s}.button:hover{background:var(--ink);transform:translateY(-2px)}.button.small{padding:10px 20px;min-height:44px;gap:20px}.button.outline{color:var(--brown);background:transparent}.button.outline:hover{background:#eee1d6}.text-link{display:inline-flex;gap:25px;align-items:center;font-size:13px;padding:12px 0;border-bottom:1px solid var(--line)}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:20px;align-items:center;min-height:720px;position:relative;padding-block:60px 94px}.eyebrow{font-size:10px;letter-spacing:.21em;font-weight:500;color:var(--brown);display:flex;gap:15px;align-items:center;margin:0 0 28px}.eyebrow-line{width:36px;height:1px;background:var(--clay)}h1,h2{font-family:var(--serif);font-weight:500;color:var(--brown);line-height:1.14;margin:0}h1{font-size:clamp(88px,9.5vw,144px);letter-spacing:-.045em;padding-bottom:10px}.hero-period{color:var(--clay)}.hero-intro{font-size:16px;line-height:1.9;margin:22px 0 32px}.hero-actions{display:flex;gap:32px;align-items:center}.hero-meta{display:flex;align-items:center;gap:14px;font-size:10px;letter-spacing:.16em;color:var(--brown);margin-top:54px}.hero-art{position:relative;max-width:435px;width:100%;justify-self:end;padding:14px 25px 36px 0}.arch{position:relative;height:490px;background:#eee4d8;border-radius:230px 230px 3px 3px;overflow:hidden;color:var(--clay);display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:43px}.arch-rim{position:absolute;inset:12px;border:1px solid #c8ad9666;border-radius:230px 230px 0 0}.arch>svg{position:absolute;height:425px;width:327px;top:-10px;left:-8px;transform:rotate(-17deg);stroke-width:1px}.foliage{fill:#f7f0e7;fill-opacity:.4}.arch-word{position:relative;z-index:1;font:42px var(--serif);letter-spacing:.09em;color:var(--brown)}.arch-tag{position:relative;font-size:7px;color:var(--brown);letter-spacing:.16em;margin-top:10px}.floating-seal{position:absolute;right:-6px;top:305px;width:92px;height:92px;border-radius:50%;display:grid;place-items:center;background:var(--cream);border:1px solid var(--line);box-shadow:0 0 0 8px var(--cream)}.floating-seal svg{width:54px;stroke:var(--brown);stroke-width:1.5}.art-caption{position:absolute;bottom:0;left:0;right:25px;text-align:center;font-size:8px;letter-spacing:.25em;color:var(--brown)}.scroll-cue{position:absolute;bottom:28px;left:0;display:flex;align-items:center;gap:16px;font-size:10px;color:var(--brown)}.scroll-cue>span{font-size:24px}.section{padding-block:92px;scroll-margin-top:100px}.services{background:var(--sand);border-top:1px solid #e8dbd0;border-bottom:1px solid #e8dbd0}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:44px}.section-heading .eyebrow{margin-bottom:16px}.section-heading h2,h2{font-size:clamp(48px,5vw,66px);letter-spacing:-.025em}.section-heading>p{font-size:12px;margin:0 0 7px;line-height:1.9}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.service-card{padding:22px 21px 24px;min-height:178px;display:flex;flex-direction:column;border:1px solid var(--line);background:rgba(252,246,241,.5);transition:background .2s,transform .2s}.service-card:hover{background:var(--cream);transform:translateY(-3px)}.card-top{display:flex;justify-content:space-between;align-items:center}.number{font-family:var(--serif);font-size:20px;color:var(--brown)}.card-arrow{color:var(--brown);font-size:20px}.service-card h3{font-size:12px;letter-spacing:.1em;font-weight:500;margin:22px 0 17px;line-height:1.6}.card-bottom{display:flex;flex-direction:column;gap:4px;font-size:11px}.card-bottom>span:last-child{color:var(--brown);font-size:12px}.prices{padding-bottom:64px}.category-nav{position:sticky;top:104px;z-index:20;background:var(--cream);border-block:1px solid var(--line);margin-bottom:50px}.chips{display:flex;gap:10px;align-items:center;padding-block:16px}.chips a{white-space:nowrap;font-size:11px;padding:10px 18px;border:1px solid var(--line);border-radius:40px;min-height:44px;display:flex;align-items:center;justify-content:center}.chips a:hover,.chips a[aria-current]{background:var(--brown);border-color:var(--brown);color:var(--cream)}.price-columns{columns:2;column-gap:64px}.price-group{break-inside:avoid;margin:0 0 45px;scroll-margin-top:205px;padding-top:3px}.group-heading{display:flex;gap:18px;align-items:center;border-bottom:1px solid var(--clay);padding-bottom:13px;margin-bottom:6px}.group-heading h3{font-size:12px;letter-spacing:.17em;font-weight:500;margin:0;color:var(--brown)}.price-group ul{list-style:none;padding:0;margin:0}.price-group li{display:flex;gap:12px;align-items:baseline;padding:17px 0;border-bottom:1px solid #e9ddd3;font-size:12px;line-height:1.9}.price-group li>span:first-child{max-width:76%}.dots{flex:1;border-bottom:1px dotted var(--line);min-width:8px}.price-group data{white-space:nowrap;color:var(--brown);font-size:12px;font-variant-numeric:tabular-nums;margin-left:auto}.contact{background:var(--sand);border-top:1px solid var(--line)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.contact h2{font-size:72px;line-height:1.13}.contact h2 em{font-weight:400}.contact-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px}.contact-details{padding-top:4px}.contact-row{padding:24px 0;border-bottom:1px solid var(--line)}.contact-row:first-child{padding-top:0}.contact-label{display:block;letter-spacing:.15em;font-size:9px;color:var(--brown);margin-bottom:12px}.phone{font-family:var(--serif);font-size:38px;color:var(--brown);letter-spacing:.02em}address{font-style:normal;font-size:14px;line-height:1.9}.map-link{font-size:11px;padding-bottom:5px;margin-top:9px}.hours{display:flex;align-items:baseline;justify-content:space-between}.hours .contact-label{margin:0}.hours>span:last-child{font-size:18px;color:var(--brown)}footer{background:var(--brown);color:var(--cream);padding-block:40px}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-brand{font-family:var(--serif);font-size:27px;letter-spacing:.06em}.footer-brand span{display:block;font-family:var(--sans);font-size:6px;letter-spacing:.17em;margin-top:5px}.footer-inner p,.back-top{font-size:10px}.back-top{display:flex;gap:20px;align-items:center;min-height:44px}.skip-link{position:fixed;left:16px;top:-100px;background:var(--ink);color:white;padding:15px;z-index:100}.skip-link:focus{top:10px}.menu-toggle{display:none}.mobile-contact{display:none}
@media(min-width:960px){.service-card:nth-child(5){grid-column:1}.service-card:nth-child(n+5){transform:translateX(52%)}.service-card:nth-child(n+5):hover{transform:translate(52%,-3px)}}
@media(max-width:1100px){.container{width:calc(100% - 64px)}.hero{min-height:650px}.arch{height:440px}.arch>svg{height:380px}.hero-art{max-width:365px}.floating-seal{top:270px;width:78px;height:78px}.price-columns{column-gap:36px}.chips{gap:7px}.chips a{padding-inline:14px}.contact-grid{gap:50px}}
@media(max-width:959px){.header-inner{height:84px}#main-nav{gap:20px}.brand-name{font-size:26px}.brand-mark{width:40px}.hero{min-height:600px;gap:10px}.hero h1{font-size:96px}.hero-intro{font-size:14px}.hero-art{max-width:310px}.arch{height:385px}.arch>svg{height:340px;width:285px;left:-12px}.arch-word{font-size:32px}.floating-seal{top:235px;width:65px;height:65px}.floating-seal svg{width:40px}.hero-actions{gap:20px}.button{padding-inline:20px}.service-grid{grid-template-columns:repeat(3,1fr)}.category-nav{top:84px}.chips{overflow-x:auto;scrollbar-width:thin}.price-columns{columns:1;max-width:680px;margin:auto}.price-group li{font-size:14px}.price-group data{font-size:14px}.contact h2{font-size:60px}.contact-grid{gap:35px}.section{padding-block:72px}}
@media(max-width:639px){.container{width:calc(100% - 40px)}.header-inner{height:76px}.brand-mark{width:35px}.brand{gap:9px}.brand-name{font-size:25px}.brand-tag{font-size:6px}.menu-toggle:not([hidden]){display:flex;align-items:center;gap:12px;border:1px solid var(--line);background:transparent;padding:10px 12px;min-height:44px;color:var(--ink);font-size:11px}.header-inner{flex-wrap:wrap}.js #main-nav{display:none;position:absolute;left:0;right:0;top:76px;background:var(--cream);padding:20px;border-bottom:1px solid var(--line);box-shadow:0 12px 18px #4a382d0c;flex-direction:column;align-items:stretch;gap:5px}.js #main-nav.open{display:flex}#main-nav{font-size:11px;gap:15px}body:not(.js) .header-inner{height:auto;padding-block:15px}body:not(.js) #main-nav{flex-wrap:wrap}.hero{grid-template-columns:1fr;min-height:auto;padding-block:45px 70px;gap:42px}.hero-copy{z-index:1}.eyebrow{font-size:9px;letter-spacing:.17em;margin-bottom:18px}.hero h1{font-size:100px;line-height:1.15}.hero-intro{font-size:14px;margin-top:15px;margin-bottom:25px}.hero-actions{gap:25px}.hero-actions .button{padding-inline:22px}.hero-meta{margin-top:28px;font-size:9px}.hero-art{justify-self:center;width:76%;max-width:310px;padding-right:15px;padding-bottom:28px}.arch{height:310px}.arch>svg{height:290px;width:250px;left:-6px;top:-40px}.arch-word{font-size:30px}.arch-tag{font-size:6px}.arch{padding-bottom:33px}.floating-seal{top:183px;right:-8px;width:62px;height:62px}.art-caption{font-size:6px;right:15px}.scroll-cue{bottom:18px;font-size:9px}.section{padding-block:56px}.section-heading{align-items:flex-start;flex-direction:column;gap:18px;margin-bottom:30px}.section-heading .eyebrow{margin-bottom:10px}h2,.section-heading h2{font-size:52px}.section-heading>p{font-size:11px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.service-card{padding:17px 15px;min-height:170px}.service-card h3{font-size:10px;letter-spacing:.08em;margin-block:18px 14px}.card-bottom{font-size:10px}.card-bottom>span:last-child{font-size:11px}.number{font-size:19px}.category-nav{top:76px;margin-bottom:32px}.chips{width:100%;padding:12px 20px;gap:8px}.chips a{font-size:10px;padding-inline:16px;min-height:44px}.price-group{margin-bottom:32px;scroll-margin-top:165px}.price-group li{font-size:12px;gap:8px;align-items:flex-start;line-height:1.9;padding-block:15px}.price-group li>span:first-child{max-width:none;flex:1}.price-group data{font-size:12px;flex-shrink:0}.dots{display:none}.group-heading h3{font-size:11px}.price-columns{columns:1}.contact-grid{grid-template-columns:1fr;gap:45px}.contact h2{font-size:63px}.contact-actions{margin-top:26px}.contact-actions .button{padding-inline:20px;font-size:12px}.contact-row{padding-block:22px}.phone{font-size:38px}address{font-size:13px}.footer-inner{flex-wrap:wrap;gap:18px}.footer-brand{width:100%;font-size:28px}.footer-inner p{font-size:9px}.back-top{font-size:10px;margin-left:auto}footer{padding-bottom:100px}.mobile-contact{display:flex;position:fixed;z-index:40;bottom:14px;left:20px;right:20px;justify-content:space-between;align-items:center;padding:14px 23px;background:var(--brown);color:var(--cream);box-shadow:0 5px 24px #4a382d30;border:1px solid #fcf6f14d;font-size:12px;border-radius:3px;min-height:50px}}
@media(max-width:360px){.hero h1{font-size:86px}.hero-actions{gap:18px}.button{font-size:12px;padding-inline:18px}.service-card{padding-inline:12px}.card-bottom>span:last-child{font-size:10px}.price-group li{font-size:11px}.price-group data{font-size:11px}}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}.hero-art .foliage{animation:sway 8s ease-in-out infinite;transform-origin:205px 450px}@keyframes sway{0%,100%{transform:rotate(-1deg)}50%{transform:rotate(1deg)}}}
/* Final readability fixes from Claude review and browser contrast measurements. */
.services .eyebrow,.services .number,.card-bottom>span:last-child,.contact .eyebrow,.contact-label,.contact .outline,.hours>span:last-child{color:var(--ink)}
.price-group li,.price-group data{font-size:15px}
.brand-tag{font-size:8px}.arch-tag{font-size:8px}.art-caption{font-size:9px}.footer-brand span{font-size:8px}
@media(max-width:639px){.brand-tag{font-size:7px}.arch-tag{font-size:7px}.art-caption{font-size:8px}.price-group li,.price-group data{font-size:15px}.price-group li>span:first-child{min-width:0}.price-group data{padding-top:1px}.card-bottom{font-size:11px}.card-bottom>span:last-child{font-size:12px}}
@media(max-width:360px){.price-group li,.price-group data{font-size:14px}.price-group li{gap:10px}.group-heading h3{letter-spacing:.12em}}
@media print{.header,.category-nav,.hero,.services,.mobile-contact,footer,.contact-actions{display:none}.section{padding:15px 0}.price-columns{columns:1}.container{width:100%}.price-group{break-inside:avoid}.contact{background:white}.contact-grid{display:block}body{background:white;font-size:12px}}
