@import url('assets/fonts.css?v=20260928-034220');

:root{--paper:#fcf8f1;--cream:#f5ecde;--red:#bd2333;--ink:#44232a;--muted:#806c69;--line:#e3d7cf;--gold:#d8b875;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--ease:cubic-bezier(.22,1,.36,1)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:400 15px/1.7 var(--sans);-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit}a{color:inherit;text-decoration:none}button{border:0}button:disabled{cursor:default}a,button,input,textarea,select,summary{outline-offset:6px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #9d8051}img{display:block;max-width:100%;object-fit:cover}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.svg-library{position:absolute;width:0;height:0;overflow:hidden}h1,h2,h3,p{margin:0}h1,h2{font-weight:400;line-height:1.1;letter-spacing:-.045em}h2{font-size:clamp(38px,4.1vw,67px)}h2 em,h1 em{font-family:var(--serif);font-weight:400;letter-spacing:-.05em}h3{font-size:23px;line-height:1.3;font-weight:500;letter-spacing:-.04em}p+p{margin-top:18px}::selection{background:#d0b8b9;color:#331719}[hidden]{display:none!important}.skip-link{position:fixed;top:-100px;left:16px;padding:12px 20px;background:var(--cream);z-index:200}.skip-link:focus{top:16px}.reading-progress{position:fixed;inset:0 auto auto 0;height:3px;width:100%;background:var(--gold);z-index:101;transform:scaleX(0);transform-origin:left;pointer-events:none}.section-padding{padding:110px max(5vw,24px)}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.18em;line-height:1.6;display:flex;align-items:center;gap:12px}.section-index{font-size:10px;letter-spacing:.12em;color:var(--muted)}.small-line{width:32px;height:1px;background:currentColor}.status-dot{height:6px;width:6px;border-radius:50%;background:#d8a1a4;position:relative;flex-shrink:0}.status-dot::after{content:'';position:absolute;inset:-5px;border:1px solid currentColor;border-radius:50%;opacity:.25;animation:pulse 3s infinite}.button{display:inline-flex;gap:30px;align-items:center;justify-content:space-between;padding:10px 10px 10px 25px;min-height:56px;border:1px solid transparent;border-radius:50px;line-height:1.2;font-size:13px;font-weight:550;transition:background .25s,transform .35s var(--ease),box-shadow .25s;position:relative}.button:hover{transform:translateY(-3px);box-shadow:0 7px 22px #220c0d1a}.button-cream{background:var(--cream);color:var(--red)}.button-cream:hover{background:#fffbed}.button-red{background:var(--red);color:var(--paper);padding:17px 25px}.button-red:hover{background:#573638}.button-small{min-height:42px;padding:10px 20px;gap:30px;font-size:12px}.button-small svg{width:17px;height:17px}.button-icon{width:35px;height:35px;border-radius:50%;background:var(--red);color:var(--cream);display:grid;place-items:center}.button-icon svg{width:19px}.button-outline{border-color:#ffffff70;color:white;background:#ffffff09;padding:16px 23px;backdrop-filter:blur(8px)}.button-outline:hover{background:#ffffff20}.button svg{transition:transform .35s var(--ease)}.button:hover svg{transform:translate(2px,-2px)}.text-link{display:inline-flex;align-items:center;gap:30px;font-size:12px;font-weight:600;background:none;border-bottom:1px solid #a89495;padding:0 0 9px;line-height:1.5;transition:gap .3s}.text-link:hover{gap:42px}.text-link svg{width:17px;height:17px}

/* Navigation floats over the scene, then settles into a frosted bar. */
.site-header{position:absolute;top:0;left:0;right:0;z-index:90;display:flex;align-items:center;justify-content:space-between;padding:27px 4vw;color:#f7f4e7;gap:25px;transition:background .4s,padding .4s,color .4s,box-shadow .4s}.site-header.is-scrolled{position:fixed;background:#f7f5eff2;backdrop-filter:blur(18px);color:var(--red);padding-top:13px;padding-bottom:13px;box-shadow:0 1px 0 #3d202217;animation:navIn .4s var(--ease)}.site-header.is-scrolled .button-cream{background:var(--red);color:var(--cream)}.brand{display:inline-flex;align-items:center;gap:10px;line-height:.8;font-size:34px;font-family:var(--serif);letter-spacing:-2px}.brand-mark{width:39px;height:44px;stroke-width:1.25}.brand-sub{font-family:var(--sans);display:block;font-size:8px;letter-spacing:4.9px;margin-top:11px;margin-left:3px}.desktop-nav{display:flex;gap:31px;align-items:center}.desktop-nav a{font-size:12px;position:relative;padding:5px 0}.desktop-nav a::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .3s}.desktop-nav a:hover::after,.desktop-nav a.active::after{transform:scaleX(1);transform-origin:left}.header-actions{display:flex;align-items:center;gap:23px}.phone-link{font-size:12px;font-variant-numeric:tabular-nums}.menu-toggle{display:none;background:none;width:42px;height:42px;padding:10px}.menu-toggle span{display:block;width:22px;height:1px;background:currentColor;margin:6px 0;transition:transform .3s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-nav{display:none}

/* Cinematic introduction. */
.hero{height:max(780px,100svh);max-height:1150px;position:relative;overflow:hidden;color:var(--paper);background:#534243;isolation:isolate}.hero-image-wrap{position:absolute;inset:0;z-index:-4;overflow:hidden}.hero-image{width:100%;height:100%;object-position:60% 58%;transform:scale(1.05);will-change:transform}.hero-shade{position:absolute;inset:0;z-index:-3;background:linear-gradient(90deg,rgba(62,17,32,.8) 0%,rgba(69,19,33,.47) 41%,rgba(76,25,40,.04) 75%),linear-gradient(0deg,#250e0fe6 0%,transparent 33%,#25151633 87%,#2d1b1c45)}.hero-grain{position:absolute;inset:0;z-index:-1;opacity:.075;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.7' filter='url(%23n)'/%3E%3C/svg%3E")}.hero-content{position:absolute;left:5vw;top:49%;transform:translateY(-45%);max-width:800px}.hero-eyebrow{color:#e7e5d0;margin-bottom:31px;animation:fadeUp 1s .15s both}.hero h1{font-size:clamp(60px,6.8vw,112px);line-height:1.04;letter-spacing:-.055em}.line{display:block;overflow:hidden;padding-bottom:.09em;margin-bottom:-.08em}.line>span{display:block;animation:lineIn 1.3s var(--ease) both}.line:nth-child(2)>span{animation-delay:.13s}.line:nth-child(3)>span{animation-delay:.26s}.hero h1 em{color:#e5dbb8;font-size:1.04em}.hero-description{font-size:14px;line-height:1.85;margin-top:28px;color:#e3d7d8;animation:fadeUp 1s .65s both}.hero-buttons{display:flex;align-items:center;gap:29px;margin-top:28px;animation:fadeUp 1s .8s both}.hero-text-link{font-size:11px;background:none;padding:12px 0;color:#f7f5ef}.hero-text-link span{margin-left:10px}.hero-text-link:hover{text-decoration:underline}.hero-note{position:absolute;right:5vw;bottom:145px;display:flex;align-items:center;gap:16px;padding:20px 22px;border:1px solid #ffffff35;background:#f0dcdd12;backdrop-filter:blur(16px);border-radius:3px;font-size:12px;line-height:1.5;animation:floatIn 1.4s .8s both;transform:translateY(var(--note-offset,0px));will-change:transform}.hero-note strong{font-weight:400;color:#e6e5d4}.note-icon{height:41px;width:41px;border:1px solid #ffffff45;border-radius:50%;display:grid;place-items:center}.note-icon svg{width:20px}.note-cross{align-self:flex-start;font-size:16px;margin-left:30px;opacity:.6}.hero-bottom{position:absolute;left:5vw;right:5vw;bottom:32px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #ffffff30;padding-top:27px;font-size:8px;letter-spacing:.15em;color:#dfd0d1;animation:fadeUp 1.2s 1s both}.scroll-prompt{display:flex;align-items:center;gap:16px}.scroll-prompt span{font-size:22px;animation:scrollHint 2.4s infinite}.tiny-dot{font-size:6px;padding:0 10px;color:#cb9fa2}.hero-orbit{position:absolute;right:19%;top:46%;width:70px;height:70px;z-index:-1;border:1px solid #ffffff30;border-radius:50%;animation:orbitFloat 7s ease-in-out infinite}.hero-orbit::after{content:'+';position:absolute;inset:0;display:grid;place-items:center;color:#ffffffb0;font-size:22px;font-weight:300}.hero-orbit span:first-child{position:absolute;inset:-18px;border:1px solid #ffffff12;border-radius:50%}.hero-orbit span:last-child{position:absolute;inset:-42px;border:1px solid #ffffff07;border-radius:50%}
.trust-strip{display:grid;grid-template-columns:repeat(4,1fr);padding:25px 5vw;border-bottom:1px solid var(--line);background:#efeee6;gap:20px}.trust-strip>span{display:flex;justify-content:center;align-items:center;gap:11px;font-size:11px;border-right:1px solid #cfbfc0}.trust-strip>span:first-child{justify-content:flex-start}.trust-strip>span:last-child{border:0;justify-content:flex-end}.trust-strip svg{height:17px;width:17px}
.intro{padding-top:86px;padding-bottom:96px}.intro-top{display:flex;justify-content:space-between;margin-bottom:34px}.intro-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:9vw}.intro-grid h2{font-size:clamp(38px,3.9vw,62px)}.intro-copy{padding-top:2px;max-width:440px;font-size:14px;color:#706263}.intro-copy p:first-child{color:var(--ink)}.intro-copy .text-link{margin-top:25px;color:var(--ink)}

/* Service cards. */
.services{background:#eee5e6;padding-top:90px;padding-bottom:55px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:45px;margin-bottom:50px}.section-heading .eyebrow{margin-bottom:24px}.section-description{font-size:13px;color:#756566;max-width:260px;margin-bottom:6px}.service-grid{display:grid;grid-template-columns:1.16fr 1fr 1fr;gap:20px}.service-card{position:relative;border-radius:5px;min-height:480px;overflow:hidden;padding:27px;display:flex;flex-direction:column;text-align:left;isolation:isolate;transition:transform .65s var(--ease),box-shadow .4s}.service-card:hover{transform:translateY(-9px);box-shadow:0 18px 40px #29141517}.service-feature{color:#fff;background:#4c3637}.service-feature>img{position:absolute;inset:0;z-index:-3;width:100%;height:100%;transition:transform 1.5s var(--ease);object-position:48% center}.service-card:hover>img{transform:scale(1.06)}.card-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(0deg,#2b1718ed 0%,#36242555 56%,#36242535)}.card-top{display:flex;justify-content:space-between;align-items:center;width:100%}.service-number{font-size:9px;letter-spacing:.16em}.card-content{margin-top:auto;display:flex;flex-direction:column;width:100%;z-index:2}.service-icon{height:26px;width:26px;margin-bottom:18px}.card-title{font-family:var(--serif);font-size:clamp(30px,3vw,48px);line-height:1.13;letter-spacing:-.045em}.card-description{font-size:11px;margin-top:18px;opacity:.8}.card-link{margin-top:26px;padding-top:17px;border-top:1px solid #ffffff40;font-size:11px;display:flex;justify-content:space-between;align-items:center;width:100%}.card-link>span{font-size:19px}.service-rose{background:#e0cecf;color:#452d2e}.service-sand{background:#e8e0d1;color:#514632}.service-rose .card-link,.service-sand .card-link{border-color:#49222430}.line-art{height:162px;position:relative;display:grid;place-items:center;margin:20px 0 25px;opacity:.6}.line-art svg{height:155px;width:215px;stroke-width:1;transition:transform .8s var(--ease)}.service-card:hover .line-art svg{transform:translateY(-8px) rotate(-3deg)}.everyday-services{display:flex;align-items:center;justify-content:space-between;gap:35px;margin-top:31px;padding:27px 0 0;border-top:1px solid #d0bfc0}.everyday-services>div{display:flex;align-items:center;gap:23px}.everyday-icon{width:50px;height:50px;border:1px solid #bcaaab;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.everyday-services h3{font-size:18px;margin-bottom:6px}.everyday-services p{font-size:11px;color:#756566;max-width:600px}.everyday-services .text-link{flex-shrink:0}

/* Three chapter scroll scene; all movement follows native page scrolling. */
.life-journey{height:280svh;position:relative;background:#3d2022;color:#fff}.journey-sticky{position:sticky;top:0;height:100svh;min-height:620px;overflow:hidden;isolation:isolate}.journey-images,.journey-image,.journey-shade{position:absolute;inset:0;width:100%;height:100%}.journey-images{z-index:-3}.journey-image{opacity:0;object-fit:cover;transition:opacity .9s;transform:scale(var(--journey-scale,1.04));will-change:transform;object-position:center 44%}.journey-image.active{opacity:1}.journey-shade{z-index:-2;background:linear-gradient(90deg,#2a1012d6 0%,#35191b7a 48%,#2d14150a 100%),linear-gradient(0deg,#2713149e,transparent 40%,#2f181950)}.journey-top{position:absolute;top:120px;left:5vw;right:5vw;display:flex;align-items:center;justify-content:space-between}.journey-counter{font-size:14px}.journey-counter span{opacity:.45;font-size:11px;padding-left:5px}.journey-copy{position:absolute;left:8vw;top:47%;transform:translateY(-40%);width:80%;height:360px}.journey-panel{position:absolute;top:0;left:0;opacity:0;transform:translateY(22px);visibility:hidden;transition:opacity .65s,transform .9s var(--ease),visibility .65s}.journey-panel.active{opacity:1;transform:translateY(0);visibility:visible}.chapter-label{font-size:9px;letter-spacing:.19em;color:#e0dbc1;display:block;margin-bottom:24px}.journey-panel h2{font-size:clamp(52px,6.2vw,96px);line-height:1.06}.journey-panel h2 em{color:#e5ddc1}.journey-panel p{font-size:13px;line-height:1.9;margin:23px 0;color:#e5d9da}.journey-panel .button{font-size:12px}.journey-bottom{position:absolute;bottom:35px;left:5vw;right:5vw;display:flex;align-items:center;justify-content:space-between;gap:35px;font-size:8px;letter-spacing:.17em}.chapter-tabs{display:flex;gap:15px}.chapter-tabs button{display:flex;align-items:center;gap:10px;color:#ffffff80;background:none;padding:15px 0;font-size:9px}.chapter-tabs button>span{display:block;width:65px;height:1px;background:#ffffff50;position:relative;overflow:hidden}.chapter-tabs button>span::after{content:'';position:absolute;inset:0;background:#ece5c9;transform:scaleX(0);transform-origin:left;transition:transform .7s}.chapter-tabs button.active{color:#f4ecd4}.chapter-tabs button.active>span::after{transform:scaleX(1)}

.story{display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:center;padding-top:140px;padding-bottom:140px}.story-visual{position:relative;padding-right:30px}.story-photo{height:540px;overflow:hidden;border-radius:220px 220px 3px 3px;background:#c7bfaa}.story-photo img{width:100%;height:100%;object-position:43% center;transition:transform 1.5s}.story-visual:hover img{transform:scale(1.04)}.story-seal{position:absolute;right:-28px;bottom:42px;background:#e0cecf;width:172px;height:172px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;transform:rotate(8deg);border:8px solid var(--paper);box-shadow:inset 0 0 0 1px #b09899}.story-seal svg{height:39px;width:34px;margin-bottom:13px;stroke-width:1.2}.story-seal span{font-size:7px;letter-spacing:.12em}.story-seal strong{font-family:var(--serif);font-size:24px;font-weight:400;margin-top:2px}.photo-caption{display:block;font-size:8px;letter-spacing:.16em;margin-top:19px;opacity:.65}.story-copy .eyebrow{margin-bottom:25px}.story-copy h2{font-size:clamp(38px,3.8vw,60px);margin-bottom:30px}.story-copy p:not(.eyebrow){font-size:13px;color:#7b6c6d;max-width:455px}.story-values{display:flex;flex-direction:column;gap:11px;margin-top:26px;margin-bottom:32px}.story-values span{display:flex;align-items:center;gap:11px;font-size:11px}.story-values svg{width:17px;height:17px}.approach{background:#ece2e3;padding-top:93px;padding-bottom:98px}.approach h2{font-size:clamp(36px,3.8vw,60px)}.approach .section-heading{margin-bottom:62px}.approach .button{font-size:11px;margin-bottom:5px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.step{border-top:1px solid #c0adae;padding-top:22px}.step-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.step-top>span{font-size:11px;letter-spacing:.1em}.step-top svg{height:26px;width:26px;color:#856b6d}.step h3{font-family:var(--serif);font-size:29px;margin-bottom:15px}.step p{font-size:12px;color:#796869;line-height:1.9;max-width:320px}.marquee{overflow:hidden;padding:35px 0 39px;border-bottom:1px solid var(--line);color:#6a5052;background:#f2f1e9}.marquee-track{width:max-content;display:flex;align-items:center;gap:45px;animation:marquee 38s linear infinite;font-size:clamp(35px,4vw,65px);letter-spacing:-.04em;line-height:1.3}.marquee-track em{font-family:var(--serif)}.marquee-track svg{height:45px;width:40px;stroke-width:1.1}.marquee:hover .marquee-track{animation-play-state:paused}
.faq{display:grid;grid-template-columns:1fr 1.1fr;gap:8vw;padding-top:112px;padding-bottom:120px}.faq h2{font-size:clamp(35px,3.3vw,53px);margin-top:25px}.faq-intro{font-size:12px;color:#806f70;margin:25px 0}.faq-list{padding-top:8px}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}.faq-list summary{list-style:none;cursor:pointer;font-size:13px;font-weight:500;padding:22px 0;display:flex;align-items:center;justify-content:space-between;gap:20px}.faq-list summary::-webkit-details-marker{display:none}.faq-plus{height:25px;width:25px;border:1px solid #c6b4b5;border-radius:50%;position:relative;flex-shrink:0}.faq-plus::before,.faq-plus::after{content:'';position:absolute;left:7px;top:11px;width:9px;height:1px;background:currentColor;transition:transform .3s}.faq-plus::after{transform:rotate(90deg)}details[open] .faq-plus::after{transform:rotate(0)}.faq-answer{font-size:12px;color:#786667;padding:0 35px 24px 0;animation:fadeUp .4s var(--ease)}.faq-answer a{display:inline-block;margin-top:12px;border-bottom:1px solid}
.contact{background:var(--red);color:var(--paper);position:relative;overflow:hidden;padding-top:48px;padding-bottom:58px;isolation:isolate}.contact-top{display:flex;justify-content:space-between;gap:25px;padding-bottom:62px}.contact .section-index{color:#d5b9bb}.contact-main{display:flex;justify-content:space-between;align-items:center;gap:55px}.contact h2{font-size:clamp(55px,6.5vw,100px)}.contact h2 em{color:#ddd3b1}.contact-invitation{padding-right:3vw}.contact-invitation p{font-size:12px;color:#d8c5c6;line-height:1.9;margin-bottom:24px}.contact-invitation .button{font-size:12px}.vietnamese-line{display:block;color:#b89fa1;font-size:10px;margin-top:16px}.contact-decoration{position:absolute;right:30%;top:0;bottom:0;color:#c1a2a4;opacity:.06;z-index:-1;transform:rotate(-18deg)}.contact-decoration svg{width:450px;height:600px;stroke-width:.5}.contact-details{display:grid;grid-template-columns:.8fr 1.1fr 1.1fr;gap:50px;margin-top:72px}.contact-details>a{display:block;border-top:1px solid #ffffff28;padding:23px 25px 0 0;position:relative}.contact-details>a>span{display:block;font-size:8px;letter-spacing:.16em;color:#c0a9aa;margin-bottom:12px}.contact-details strong{font-weight:400;font-size:15px;line-height:1.6}.contact-details>a:first-child strong{font-size:23px}.contact-details svg{position:absolute;right:0;top:54px;height:19px;width:19px;transition:transform .3s}.contact-details>a:hover svg{transform:translate(3px,-3px)}.footer{padding:40px 5vw 20px;background:#eee4e5}.footer-top{display:flex;align-items:center;gap:65px;padding-bottom:35px}.footer .brand{font-size:32px}.footer .brand-mark{height:42px}.footer-top p{font-size:11px;color:#7c6768;line-height:1.6}.back-top{margin-left:auto;font-size:8px;letter-spacing:.12em;display:flex;align-items:center;gap:17px}.back-top span{border:1px solid #bd9fa1;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;font-size:19px;transition:background .3s}.back-top:hover span{background:#dfcbcc}.footer-bottom{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:9px;color:#80696a}.footer-bottom>div{display:flex;gap:22px;align-items:center}.footer-bottom>span:last-child{font-size:7px;letter-spacing:.09em}.footer-bottom a:hover{text-decoration:underline}.footer-bottom button{background:none;padding:0;font-size:9px;color:inherit}

/* Accessible detail panels and the static-site contact flow. */
dialog{border:0;background:var(--paper);color:var(--ink);width:min(630px,calc(100% - 32px));max-height:90svh;border-radius:10px;padding:0;box-shadow:0 35px 100px #1e0b0c4d}dialog::backdrop{background:#291011c2;backdrop-filter:blur(8px)}dialog[open]{animation:dialogIn .4s var(--ease)}.dialog-inner{padding:48px}.dialog-close{position:absolute;right:15px;top:13px;background:transparent;width:36px;height:36px;font-size:28px;font-weight:300;z-index:2;border-radius:50%;line-height:1}.dialog-close:hover{background:#e4d7d8}.dialog-inner h2{font-size:43px;margin:18px 0}.dialog-inner>p:not(.eyebrow){font-size:13px;color:#7c6b6c}.dialog-inner ul{padding:0;list-style:none;margin:28px 0}.dialog-inner li{font-size:13px;display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.dialog-inner li::before{content:'↗';color:#87686a;font-size:16px}.dialog-inner .service-footnote{font-size:11px;margin-bottom:25px}.service-dialog .button{margin-right:15px}.service-dialog .text-link{margin-top:20px}.contact-dialog{width:min(660px,calc(100% - 32px))}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}form{margin-top:24px}label{font-size:11px;font-weight:500;display:block;margin-bottom:17px}input,select,textarea{width:100%;margin-top:7px;background:#fffef9;color:var(--ink);border:1px solid #d3c3c4;border-radius:4px;padding:12px;font-size:12px;outline-offset:2px;min-height:44px}textarea{resize:vertical;max-height:180px}input:focus,select:focus,textarea:focus{outline:2px solid #856d6e}input::placeholder,textarea::placeholder{color:#988b8c}.optional{font-weight:400;color:#927f80}.form-note{font-size:10px;color:#827071;line-height:1.7;margin-bottom:20px}.form-status{font-size:12px;color:#654143;margin-top:14px}.email-fallback{font-size:11px;background:#eddedf;padding:15px;border-radius:4px;margin-top:15px}.email-fallback .text-link{margin-top:12px}.email-fallback a{text-decoration:underline}.dialog-call{border-top:1px solid var(--line);margin-top:25px;padding-top:20px;font-size:11px;color:#816e6f;display:flex;justify-content:space-between}.dialog-call a{color:var(--red)}

/* Progressive enhancement: content stays visible if JavaScript is unavailable. */
.motion-ready .reveal{opacity:0;transform:translateY(30px);transition:opacity .9s var(--ease),transform 1s var(--ease);transition-delay:var(--reveal-delay,0ms)}.motion-ready .reveal.is-visible{opacity:1;transform:translateY(0)}.motion-ready .service-card.reveal.is-visible:hover{transform:translateY(-9px)}
@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes lineIn{from{transform:translateY(110%)}to{transform:translateY(0)}}@keyframes floatIn{from{opacity:0;translate:0 20px}to{opacity:1;translate:0 0}}@keyframes pulse{0%,100%{transform:scale(.85);opacity:.2}50%{transform:scale(1.5);opacity:.45}}@keyframes scrollHint{0%,100%{transform:translateY(-2px)}50%{transform:translateY(5px)}}@keyframes orbitFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-15px)}}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes navIn{from{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes dialogIn{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}

@media(min-width:1700px){.section-padding{padding-left:max(5vw,calc((100vw - 1510px)/2));padding-right:max(5vw,calc((100vw - 1510px)/2))}.hero-content{left:max(5vw,calc((100vw - 1580px)/2))}.hero h1{font-size:100px}.hero-description{font-size:16px}.service-card{min-height:540px}}
@media(max-width:1150px){.desktop-nav{gap:20px}.phone-link{display:none}.hero h1{font-size:7.2vw}.hero-note{right:4vw;bottom:142px;padding:17px}.hero-content{max-width:75%}.section-padding{padding-top:80px;padding-bottom:80px}.intro-grid{gap:6vw}.service-card{min-height:450px;padding:22px}.card-title{font-size:35px}.story{gap:7vw}.story-photo{height:490px}.story-seal{right:-8px}.everyday-services p{max-width:450px}.story h2{font-size:42px}.footer-bottom>span:last-child{display:none}.contact-invitation{padding-right:0}.contact-details{gap:28px}.contact-details strong{font-size:13px}}
@media(max-width:850px){.desktop-nav{display:none}.menu-toggle{display:block}.site-header{padding:20px 5vw}.header-actions{gap:10px}.mobile-nav{position:fixed;inset:0;background:var(--paper);color:var(--red);z-index:89;padding:130px 7vw 45px;display:flex;flex-direction:column;justify-content:center;opacity:0;visibility:hidden;transform:translateY(-15px);transition:opacity .3s,visibility .3s,transform .4s}.mobile-nav.open{opacity:1;visibility:visible;transform:translateY(0)}.mobile-nav>a{font-family:var(--serif);font-size:38px;display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line)}.mobile-nav>a>span{font-family:var(--sans);font-size:12px}.mobile-nav .mobile-phone{font-family:var(--sans);font-size:15px;border:0;margin-top:25px}.menu-open .site-header{color:var(--red);position:fixed}.menu-open .site-header .button{background:var(--red);color:var(--cream)}.hero{min-height:790px;height:100svh}.hero h1{font-size:clamp(56px,8.1vw,76px)}.hero-note{bottom:112px;right:5vw}.hero-content{top:44%;max-width:90%;transform:translateY(-40%)}.hero-bottom>span:last-child{display:none}.hero-buttons{gap:20px}.hero-image{object-position:65% center}.trust-strip{grid-template-columns:1fr 1fr;gap:20px}.trust-strip>span{justify-content:flex-start!important}.trust-strip>span:nth-child(2){border:0}.intro-grid{grid-template-columns:1fr;gap:28px}.intro-copy{max-width:650px}.intro-top .section-index{display:none}.intro-grid h2{font-size:48px}.service-grid{grid-template-columns:1fr 1fr;gap:16px}.service-feature{grid-column:1 / -1;min-height:420px}.service-feature .card-title{font-size:48px}.service-feature>img{object-position:center 48%}.service-feature .card-content{width:50%}.service-card{min-height:430px}.section-description{max-width:220px;font-size:12px}.section-heading{gap:25px}.section-heading h2{font-size:43px}.everyday-services{flex-direction:column;align-items:flex-start;gap:24px}.everyday-services .text-link{margin-left:73px}.story{grid-template-columns:1fr 1fr;gap:45px}.story-photo{height:470px;border-radius:150px 150px 3px 3px}.story-visual{padding-right:0}.story-seal{width:135px;height:135px;right:-30px;bottom:52px}.story-seal svg{height:28px;margin-bottom:8px}.story-seal span{font-size:6px}.story-seal strong{font-size:19px}.story h2{font-size:35px}.story-copy p:not(.eyebrow){font-size:12px}.story-values span{font-size:10px}.steps{gap:25px}.step h3{font-size:25px}.step p{font-size:11px}.approach .section-heading{flex-direction:column;align-items:flex-start}.faq{grid-template-columns:1fr;gap:40px}.faq h2{font-size:44px}.faq-intro{margin:20px 0}.contact-main{align-items:flex-start;flex-direction:column;gap:30px}.contact h2{font-size:70px}.contact-top .section-index{display:none}.contact-top{padding-bottom:35px}.contact-details{grid-template-columns:1fr 1fr}.contact-details>a:last-child{grid-column:1 / -1}.journey-copy{left:6vw}.journey-bottom>span:first-child{display:none}.journey-top{top:110px}}
@media(max-width:560px){html{scroll-padding-top:80px}.section-padding{padding:68px 6vw}.brand{font-size:28px;gap:7px}.brand-mark{width:30px;height:38px}.brand-sub{font-size:6px;letter-spacing:4.3px;margin-top:9px}.site-header{padding:20px 6vw}.site-header.is-scrolled{padding-top:12px;padding-bottom:12px}.header-actions>.button{min-height:36px;padding:9px 15px;font-size:10px;gap:14px}.header-actions>.button svg{width:13px;height:13px}.header-actions{gap:6px}.menu-toggle{width:32px;padding:6px}.hero{height:100svh;min-height:740px;max-height:930px}.hero-content{left:6vw;right:6vw;top:42%;max-width:none;transform:translateY(-36%)}.hero-eyebrow{font-size:7px;letter-spacing:.13em;gap:10px;margin-bottom:28px}.hero h1{font-size:clamp(40px,10.7vw,61px);line-height:1.12;letter-spacing:-.05em}.hero h1 em{letter-spacing:-.065em}.hero-description{font-size:12px;line-height:1.8;margin-top:25px}.hero-buttons{align-items:flex-start;flex-direction:column;gap:10px;margin-top:25px}.hero-buttons .button{font-size:11px;min-height:51px;padding-left:20px;gap:24px}.hero-text-link{font-size:10px}.hero-image{object-position:67% center}.hero-shade{background:linear-gradient(90deg,#2b0f11ce,#2b101282 65%,#260e0f38),linear-gradient(0deg,#2d1012eb,transparent 55%)}.hero-note{bottom:97px;left:6vw;right:auto;font-size:10px;padding:10px 14px;gap:12px}.note-icon{width:30px;height:30px}.note-icon svg{width:16px;height:16px}.note-cross{margin-left:25px;font-size:13px}.hero-bottom{left:6vw;right:6vw;bottom:25px;padding-top:18px;font-size:6px;letter-spacing:.08em;gap:12px}.scroll-prompt{gap:7px}.scroll-prompt span{font-size:17px}.hero-orbit{right:17%;top:72%;width:36px;height:36px}.hero-orbit span:last-child{display:none}.trust-strip{padding:22px 6vw;gap:16px 14px}.trust-strip>span{font-size:8px;gap:8px}.trust-strip svg{width:14px;height:14px}.trust-strip>span:nth-child(odd){padding-right:6px}.eyebrow{font-size:8px;letter-spacing:.14em}.intro-top{margin-bottom:23px}.intro-grid h2{font-size:36px;line-height:1.2}.intro-copy{font-size:12px}.section-heading{flex-direction:column;align-items:flex-start;gap:20px;margin-bottom:30px}.section-heading h2{font-size:40px}.section-heading .eyebrow{margin-bottom:20px}.section-description{max-width:300px;font-size:12px}.service-grid{display:flex;flex-direction:column;gap:17px}.service-card,.service-feature{min-height:430px;padding:25px}.service-feature .card-content{width:100%}.service-feature .card-title,.card-title{font-size:42px}.service-feature>img{object-position:55% center}.card-description{font-size:12px}.card-link{font-size:12px}.service-rose,.service-sand{min-height:405px}.line-art{position:absolute;top:55px;right:0;width:65%;height:140px;opacity:.5;margin:0}.line-art svg{width:180px;height:130px}.service-rose .card-content,.service-sand .card-content{margin-top:160px}.service-number{font-size:9px}.everyday-services{margin-top:25px;padding-top:25px}.everyday-services>div{align-items:flex-start;gap:15px}.everyday-icon{width:39px;height:39px}.everyday-icon svg{width:20px;height:20px}.everyday-services h3{font-size:18px}.everyday-services p{font-size:11px}.everyday-services .text-link{margin-left:54px;font-size:10px;gap:20px}.life-journey{height:260svh}.journey-sticky{min-height:600px}.journey-top{top:108px;left:6vw;right:6vw}.journey-top .eyebrow{font-size:7px}.journey-copy{left:6vw;top:45%;height:340px;width:88%}.journey-panel h2{font-size:49px;line-height:1.14}.chapter-label{font-size:8px;margin-bottom:20px}.journey-panel p{font-size:12px;line-height:1.8}.journey-panel .button{font-size:11px}.journey-shade{background:linear-gradient(90deg,#2c1113d4,#2c111360),linear-gradient(0deg,#2c111380,transparent)}.journey-image:first-child{object-position:60% center}.journey-bottom{left:6vw;right:6vw;bottom:30px;gap:20px}.chapter-tabs{gap:11px}.chapter-tabs button>span{width:34px}.journey-scroll{font-size:6px;letter-spacing:.1em}.story{grid-template-columns:1fr;gap:40px;padding-top:80px}.story-visual{padding-right:24px}.story-photo{height:420px;border-radius:190px 190px 3px 3px}.story-seal{right:-3px;bottom:50px;width:150px;height:150px}.story-seal svg{height:35px}.story-seal span{font-size:6px}.story-seal strong{font-size:22px}.story-copy h2{font-size:40px;margin-bottom:23px}.story-copy p:not(.eyebrow){font-size:12px}.story-values span{font-size:11px}.steps{grid-template-columns:1fr;gap:35px}.approach .section-heading{margin-bottom:40px}.step-top{margin-bottom:17px}.step h3{font-size:30px;margin-bottom:13px}.step p{font-size:12px;max-width:none}.marquee{padding:25px 0}.marquee-track{font-size:39px;gap:25px}.marquee-track svg{width:29px;height:33px}.faq{gap:35px}.faq h2{font-size:37px}.faq-list summary{font-size:12px;padding:20px 0}.faq-answer{font-size:11px;padding-right:15px}.contact{padding-top:40px;padding-bottom:42px}.contact h2{font-size:59px}.contact-top .eyebrow{font-size:7px;letter-spacing:.1em}.contact-main{gap:28px}.contact-invitation p{font-size:11px}.contact-details{grid-template-columns:1fr;gap:27px;margin-top:44px}.contact-details>a:last-child{grid-column:auto}.contact-details>a{padding-top:18px}.contact-details>a>span{font-size:8px;margin-bottom:8px}.contact-details strong{font-size:14px}.contact-details svg{top:37px}.contact-decoration{right:-190px}.footer{padding:32px 6vw 23px}.footer-top{gap:20px;flex-wrap:wrap;padding-bottom:25px}.footer .brand{font-size:28px}.footer-top p{font-size:9px;margin-left:auto}.back-top{width:100%;margin-top:4px;justify-content:space-between;font-size:8px}.back-top span{width:32px;height:32px}.footer-bottom{flex-direction:column;align-items:flex-start;gap:12px;font-size:8px}.footer-bottom>div{gap:24px}.footer-bottom button{font-size:8px}.dialog-inner{padding:38px 24px 28px}.dialog-inner h2{font-size:36px}.form-row{grid-template-columns:1fr;gap:0}.dialog-inner>p:not(.eyebrow){font-size:12px}.dialog-call{font-size:10px;gap:10px}.service-dialog .button{font-size:12px}.mobile-nav>a{font-size:32px}}
@media(prefers-reduced-motion:reduce){html:not(.force-motion){scroll-behavior:auto}html:not(.force-motion) *,html:not(.force-motion) *::before,html:not(.force-motion) *::after{animation:none!important;transition:none!important}html:not(.force-motion) .reveal{opacity:1!important;transform:none!important}html:not(.force-motion) .hero-image,html:not(.force-motion) .journey-image{transform:none!important}html:not(.force-motion) .life-journey{height:auto}html:not(.force-motion) .journey-sticky{position:relative;height:800px;max-height:100svh;min-height:650px}html:not(.force-motion) .journey-scroll{display:none}}
html.reduce-motion{scroll-behavior:auto}html.reduce-motion *,html.reduce-motion *::before,html.reduce-motion *::after{animation:none!important;transition:none!important}html.reduce-motion .reveal{opacity:1;transform:none}html.reduce-motion .hero-image,html.reduce-motion .journey-image{transform:none!important}html.reduce-motion .life-journey{height:auto}html.reduce-motion .journey-sticky{position:relative;height:800px;max-height:100svh;min-height:650px}html.reduce-motion .journey-scroll{display:none}
@media(min-width:851px){.hero-content{max-width:1050px;width:78vw}.hero h1{font-size:clamp(60px,6.4vw,100px)}}
#service-dental{margin-left:0;display:flex;width:max-content}

/* Saigon identity: heritage red, warm ivory, and family-centered imagery. */
.site-header{background:var(--paper);color:var(--ink);padding-top:12px;padding-bottom:12px;border-bottom:1px solid #bd233315}
.site-header.is-scrolled{background:#fcf8f1f5;color:var(--ink);padding-top:7px;padding-bottom:7px}
.brand{display:flex;flex-shrink:0;letter-spacing:normal;line-height:1}
.brand-logo{display:block;width:162px;height:auto;object-fit:contain}
.site-header .button-cream{background:var(--red);color:#fff7eb}
.site-header .button-cream:hover{background:#981929}
.hero{background:#451521}
.hero-image{object-position:70% 48%}
.hero-shade{background:linear-gradient(90deg,#3e1120f5 0%,#451321d9 28%,#4c19286b 52%,#3b132309 78%),linear-gradient(0deg,#3e1120f0 0%,transparent 38%)}
.hero-content{top:51%;max-width:58%;transform:translateY(-43%)}
.hero-eyebrow{color:#f8dcb6;font-size:9px}
.hero h1{font-size:clamp(60px,6vw,98px)}
.hero h1 em{color:#edcca3}
.hero-vietnamese{font-size:16px;letter-spacing:.02em;color:#f4d7b8;margin-top:25px;animation:fadeUp 1s .55s both}
.hero-description{color:#f5e9df;margin-top:10px!important;font-size:14px}
.hero-note{background:#49162270;border-color:#f9dbb844}
.hero-note strong{color:#f9e8d7}
.hero-orbit{display:none}
.hero-bottom{color:#edd4c0}
.hero .status-dot{background:#e5ba80}
.reading-progress{background:var(--red)}
.trust-strip{background:#f5ebdf}
.trust-strip svg,.eyebrow,.text-link{color:var(--red)}
.hero .eyebrow,.journey-top .eyebrow,.contact .eyebrow{color:#f3dbbc}
.hero-bottom .scroll-prompt{color:#fff4e6}
.intro-copy,.section-description,.story-copy p:not(.eyebrow),.step p,.faq-intro,.faq-answer{color:#786965}
.services{background:#f4ebe3}
.service-feature>img{object-position:83% center}
.card-shade{background:linear-gradient(0deg,#451420f5 0%,#4514207a 47%,#45142012 78%)}
.service-rose{background:#eac7c5;color:#702432}
.service-sand{background:#eddfc8;color:#63402e}
.card-vietnamese{display:block;margin-top:4px;font-size:10px;line-height:1.6}
.card-description{opacity:1}
.service-rose .card-description,.service-sand .card-description{color:#6b514b}
.everyday-services p{color:#78645e}
.journey-shade{background:linear-gradient(90deg,#41141feb 0%,#41141f86 44%,#41141f12 78%),linear-gradient(0deg,#39101eab,transparent 50%)}
.journey-image:first-child{object-position:75% center}
.journey-panel h2 em{color:#edcca3}
.journey-panel p{color:#f6e6da}
.chapter-label{color:#edc7a0}
.story-photo{border-radius:6px 100px 6px 6px}
.story-photo img{object-position:54% center}
.story-seal{background:#f6e4d3;color:var(--red);box-shadow:inset 0 0 0 1px #cc9c8c}
.story-seal svg{width:43px;height:43px}
.story-values svg{color:var(--red)}
.community-welcome{background:#741d2e;color:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:10vw;padding-top:78px;padding-bottom:80px}
.community-heading .eyebrow{color:#e9bc8f;font-size:8px;line-height:1.8}
.community-heading h2{font-size:clamp(36px,4vw,60px);margin:23px 0 27px}
.community-heading h2 em{color:#edcca3}
.community-heading .button{background:#f3e5d0;color:#741d2e}
.community-message{border-left:1px solid #f4d5b435;padding-left:55px;align-self:center}
.community-label{font-size:8px;letter-spacing:.15em;color:#e7ba93}
.community-message h3{font-family:var(--serif);font-size:36px;margin:15px 0 22px;letter-spacing:-.02em}
.community-message p{font-size:13px;line-height:1.95;color:#f5ded0}
.community-message .text-link{color:#f5dfc8;border-color:#ba7e78;margin-top:25px}
.approach{background:#f5ede3}
.step-top svg{color:var(--red)}
.marquee{background:#f8f0e6;color:var(--red)}
.contact{background:#651c2a}
.contact h2 em{color:#edcca3}
.contact-invitation p,.contact .section-index{color:#f0d7c8}
.contact-details>a>span,.vietnamese-line{color:#e2b8a2}
.contact-decoration{color:#edbf98;opacity:.09;transform:rotate(-10deg)}
.footer{background:#f4eade}
.footer .brand-logo{width:162px}
.form-status{color:#952638}
.button-red:hover{background:#981929}
@media(min-width:1700px){.hero-content{max-width:60%}}
@media(max-width:1150px){.hero-content{max-width:66%}.hero h1{font-size:6.3vw}.brand-logo{width:142px}.hero-description{font-size:13px}.hero-eyebrow{font-size:8px}.hero-vietnamese{font-size:14px}.community-welcome{gap:6vw}.community-message{padding-left:30px}}
@media(max-width:850px){.hero-content{max-width:85%;top:47%}.hero h1{font-size:8vw}.hero-shade{background:linear-gradient(90deg,#41131ee8,#41131e82 65%,#41131e38),linear-gradient(0deg,#41131eed,transparent 62%)}.community-welcome{grid-template-columns:1fr;gap:35px}.community-message{border-left:0;border-top:1px solid #f4d5b435;padding:30px 0 0}.community-message p{max-width:600px}.brand-logo{width:145px}}
@media(max-width:560px){.site-header{padding-top:7px;padding-bottom:7px;gap:12px}.brand-logo{width:130px}.footer .brand-logo{width:140px}.hero{height:100svh;min-height:880px;max-height:none}.hero-image{height:54%;object-position:76% 48%;transform:none!important}.hero-content{left:6vw;right:6vw;top:315px;max-width:none;width:auto;transform:none}.hero-shade{background:linear-gradient(0deg,#41131e 0%,#41131e 45%,#41131e80 65%,#41131e00 85%)}.hero h1{font-size:clamp(38px,10.5vw,58px);line-height:1.12}.hero-eyebrow{font-size:7px;letter-spacing:.07em;gap:8px;margin-bottom:18px}.hero-vietnamese{font-size:12px;margin-top:20px}.hero-description{font-size:12px;line-height:1.85}.hero-buttons{margin-top:23px;gap:8px}.hero-note{display:none}.hero-bottom{font-size:6px;bottom:25px}.hero-bottom .scroll-prompt{font-size:6px}.trust-strip>span{font-size:8px}.service-feature>img{object-position:85% center}.service-feature .card-description{font-size:12px}.card-vietnamese{font-size:10px}.journey-shade{background:linear-gradient(90deg,#41141edb,#41141e70),linear-gradient(0deg,#41141ea8,transparent)}.journey-panel h2{font-size:44px}.journey-panel p{font-size:11px}.chapter-label{font-size:7px}.story-photo{height:380px;border-radius:5px 75px 5px 5px}.story-photo img{object-position:52% center}.story-copy h2{font-size:38px}.community-message h3{font-size:32px}.community-message p{font-size:12px}.community-heading .eyebrow{font-size:7px}.community-heading h2{font-size:39px}.contact h2{font-size:48px}.hero-text-link{font-size:11px}.footer-top{gap:15px}.footer-top p{font-size:8px}.contact-details strong{color:#fff3e8}}
@media(max-width:360px){.brand-logo{width:110px}.header-actions>.button{padding:8px 12px;font-size:9px}.hero{min-height:900px}.hero-eyebrow{font-size:6px}.hero h1{font-size:38px}.hero-content{top:315px}.hero-description{font-size:11px}.contact h2{font-size:42px}}

/* Vietnamese-first hero, with English support and direct service entry points. */
.hero-content{top:51%;transform:translateY(-45%)}
.hero h1{font-size:clamp(58px,5.5vw,88px);line-height:1.19;letter-spacing:-.045em}
.hero h1 .line{padding-top:.12em;padding-bottom:.16em;margin-top:-.12em;margin-bottom:-.16em}
.hero h1 em{letter-spacing:-.03em}
.hero-eyebrow{margin-bottom:23px}
.hero-vietnamese{margin-top:20px;font-size:14px;color:#f3d0a6}
.hero-description{font-size:15px;line-height:1.8}
.hero-service-links{display:flex;align-items:center;gap:0;margin-top:22px;animation:fadeUp 1s .7s both}
.hero-service-links button{display:flex;flex-direction:column;align-items:flex-start;padding:0 24px;background:none;border-right:1px solid #f7dfc644;color:#fff3e6;font-size:13px;line-height:1.6;transition:color .25s}
.hero-service-links button:first-child{padding-left:0}
.hero-service-links button:last-child{border:0}
.hero-service-links button>span:last-child{font-size:9px;color:#e9c8ad}
.hero-service-links button:hover{color:#e8ba80}
.hero-buttons{margin-top:25px}
.hero-text-link>span:first-child{margin-left:0}
@media(max-width:1150px){.hero h1{font-size:6vw}.hero-vietnamese{font-size:12px}.hero-description{font-size:13px}.hero-service-links button{font-size:12px;padding:0 20px}}
@media(max-width:850px){.hero h1{font-size:7.4vw}.hero-content{top:48%}.hero-eyebrow{font-size:7px}.hero-description{font-size:13px}.hero-service-links{margin-top:18px}}
@media(max-width:560px){.hero{min-height:960px}.hero-content{top:310px;transform:none}.hero h1{font-size:clamp(35px,9.7vw,53px);line-height:1.23}.hero-eyebrow{font-size:6.4px;letter-spacing:.065em;margin-bottom:18px}.hero-vietnamese{font-size:11px;margin-top:18px;max-width:290px;line-height:1.7}.hero-description{font-size:12px;line-height:1.8}.hero-service-links{margin-top:19px}.hero-service-links button{font-size:12px;padding:0 20px}.hero-service-links button>span:last-child{font-size:9px}.hero-buttons{margin-top:23px;gap:8px}.hero-image{height:49%;object-position:78% 48%}.hero-shade{background:linear-gradient(0deg,#41131e 0%,#41131e 49%,#41131e80 66%,#41131e00 84%)}.hero-bottom{font-size:6px}.hero-bottom .scroll-prompt{font-size:5.5px}}
@media(max-width:360px){.hero h1{font-size:34px}.hero-eyebrow{font-size:5.6px}.hero-service-links button{padding:0 17px}.hero-vietnamese{max-width:250px}.hero-description{font-size:11px}}

/* A native language selector stays available at every screen size. */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.language-control{position:relative;display:flex;align-items:center;flex:none;width:132px;color:var(--red)}
.language-control>svg{position:absolute;left:12px;width:15px;height:15px;pointer-events:none}
.language-control select{appearance:none;width:100%;height:43px;margin:0;padding:0 25px 0 35px;background:transparent;border:1px solid #8d26312e;border-radius:30px;font:500 12px var(--sans);color:inherit;cursor:pointer;transition:border-color .2s,background .2s}
.language-control select:hover{border-color:var(--red);background:#8d263108}
.language-control select:focus-visible{outline:2px solid var(--red);outline-offset:4px}
.language-control option{background:var(--paper);color:var(--red)}
.language-chevron{position:absolute;right:11px;top:10px;pointer-events:none;font-size:15px;line-height:16px}
.header-actions{gap:18px}
.i18n-ready .card-vietnamese,.i18n-ready .hero-service-links button>span:last-child{display:none}
.i18n-ready .hero-text-link>span:empty{display:none}
@media(max-width:1350px){.phone-link{display:none}.desktop-nav{gap:22px}.desktop-nav a{font-size:11px}}
@media(max-width:1100px){
  .desktop-nav{display:none}.menu-toggle{display:block}.header-actions{gap:12px}
  .mobile-nav{position:fixed;inset:0;background:var(--paper);color:var(--red);z-index:89;padding:130px 7vw 45px;display:flex;flex-direction:column;justify-content:center;opacity:0;visibility:hidden;transform:translateY(-15px);transition:opacity .3s,visibility .3s,transform .4s}
  .mobile-nav.open{opacity:1;visibility:visible;transform:translateY(0)}
  .mobile-nav>a{font-family:var(--serif);font-size:clamp(28px,4vw,38px);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}
  .mobile-nav>a>span{font-family:var(--sans);font-size:12px}
  .mobile-nav .mobile-phone{font-family:var(--sans);font-size:15px;border:0;margin-top:25px}
  .menu-open .site-header{color:var(--red);position:fixed}
}
@media(max-width:560px){
  .site-header{gap:10px}.site-header .brand-logo{width:118px}.header-actions{gap:10px}.header-actions>.button{display:none}
  .language-control{width:116px}.language-control select{height:40px;font-size:11px;padding-left:30px;padding-right:19px}.language-control>svg{left:10px;width:13px;height:13px}.language-chevron{right:9px}
  .i18n-ready .hero-service-links button{font-size:12px}.hero-service-links button:last-child{padding-right:0}
  .footer-bottom>div{flex-wrap:wrap;row-gap:14px}
}
@media(max-width:360px){.site-header .brand-logo{width:104px}.header-actions{gap:5px}.site-header{gap:6px}.language-control{width:111px}}
@media(min-width:851px) and (max-height:900px){.hero-content{top:49%}.hero h1{font-size:clamp(52px,min(5.5vw,8.2vh),78px)}}

/* Readable type at every size, including Vietnamese accents. */
:root{--muted:#66524f}
body{font-size:17px;line-height:1.75}
h1,h2,h3,.card-title{letter-spacing:-.025em;line-height:1.22}
h1 em,h2 em,.card-title,.step h3,.community-message h3{font-family:var(--sans);font-style:normal;font-weight:500;letter-spacing:-.025em;line-height:1.25}
.intro-copy,.section-description,.story-copy p:not(.eyebrow),.step p,.faq-intro,.faq-answer,.everyday-services p,.community-message p{font-size:17px;line-height:1.8;color:#66524f}
.intro-copy,.story-copy p:not(.eyebrow){max-width:60ch}
.section-description{max-width:360px}.community-message p{color:#fff0e4}
.eyebrow,.section-index,.service-number,.chapter-label,.photo-caption,.community-label,.community-heading .eyebrow,.contact-top .eyebrow{font-size:12px;line-height:1.7;letter-spacing:.08em}
.photo-caption{opacity:1;color:#66524f}
.desktop-nav a,.phone-link{font-size:15px;font-weight:500}
.desktop-nav{gap:24px}.header-actions{gap:14px}
.button,.button-small,.hero-buttons .button,.approach .button,.contact-invitation .button,.journey-panel .button,.service-dialog .button,.text-link,.everyday-services .text-link{font-size:16px;line-height:1.45;min-height:48px}
.text-link{gap:18px;align-items:center}.text-link:hover{gap:24px}
.language-control{width:150px}.language-control select{font-size:15px;height:46px}
.language-chevron{top:14px}.menu-toggle{height:44px}
.hero{height:auto;min-height:100svh;max-height:none}
.hero-content{position:relative;left:auto;right:auto;top:auto;transform:none;width:70%;max-width:1120px;padding:175px 0 155px;margin-left:5vw}
.hero h1{font-size:clamp(46px,5vw,82px);line-height:1.25;letter-spacing:-.03em}
.hero h1 em{font-size:1em;letter-spacing:-.025em}
.hero-eyebrow{font-size:12px;letter-spacing:.08em;max-width:55ch}
.hero-vietnamese{font-size:17px;line-height:1.75;max-width:52ch;margin-top:25px}
.hero-description{font-size:18px;line-height:1.8;color:#fff5eb;max-width:52ch}
.i18n-ready .hero-service-links button,.hero-service-links button{font-size:16px;font-weight:500;min-height:44px;padding:0 24px}
.hero-service-links button:first-child{padding-left:0}.hero-service-links button:last-child{padding-right:0}
.hero-text-link{font-size:16px;line-height:1.5;min-height:48px}
.hero-bottom,.hero-bottom .scroll-prompt{font-size:12px;letter-spacing:.04em;line-height:1.7}
.hero-note{font-size:15px;max-width:350px;background:#451320e6;color:#fff5eb;bottom:150px}.hero-note strong{color:#fff5eb}.note-cross{margin-left:0}
.hero-shade{background:linear-gradient(90deg,#3e1120fa 0%,#451321e6 28%,#4c192894 55%,#3b132314 85%),linear-gradient(0deg,#3e1120f0,transparent 45%)}
.trust-strip>span{font-size:15px;line-height:1.6;align-items:flex-start}
.card-title,.service-feature .card-title{font-size:clamp(29px,2.5vw,40px);line-height:1.3}
.card-description,.service-feature .card-description,.card-link{font-size:16px;line-height:1.7;opacity:1}
.service-card{min-height:540px}.service-number{max-width:80%}
.card-shade{background:linear-gradient(0deg,#451420ff 0%,#451420db 48%,#45142050 100%)}
.everyday-services h3{font-size:23px;line-height:1.4}
.journey-panel p{font-size:17px;line-height:1.8;max-width:60ch;color:#fff4ea}
.journey-panel h2{font-size:clamp(38px,5vw,76px);line-height:1.22}
.journey-shade{background:linear-gradient(90deg,#41141ff5 0%,#41141fbd 55%,#41141f30 100%)}
.journey-copy{top:210px;transform:none;height:calc(100% - 320px);width:85%}
.journey-panel{max-width:100%;max-height:100%;overflow:auto;padding-bottom:10px}
.journey-bottom,.journey-scroll,.chapter-tabs button{font-size:12px;letter-spacing:.04em}
.journey-top .eyebrow{font-size:12px}.journey-counter span{opacity:1;font-size:14px}
.story-values span{font-size:16px;line-height:1.7}.story-values svg{flex-shrink:0}
.story-seal span{font-size:11px;letter-spacing:0;text-align:center;max-width:120px;line-height:1.5}
.step h3{font-size:28px}.step-top>span{font-size:14px}
.faq-list summary{font-size:18px;line-height:1.6;font-weight:600;padding:24px 0}
.contact-invitation p{font-size:17px;line-height:1.8;color:#fff0e4}
.vietnamese-line{font-size:15px;line-height:1.7;color:#f7d8c4}
.contact-details>a>span{font-size:12px;color:#f7d8c4;letter-spacing:.07em}
.contact-details strong{font-size:17px;font-weight:500;overflow-wrap:anywhere}
.footer-top p,.footer-bottom,.footer-bottom button{font-size:14px;line-height:1.7;color:#66524f}
.back-top,.footer-bottom>span:last-child{font-size:12px;letter-spacing:.05em}
.footer-bottom,.footer-bottom>div{flex-wrap:wrap}
.dialog-inner>p:not(.eyebrow),.dialog-inner li{font-size:17px;line-height:1.75;color:#66524f}
.dialog-inner .service-footnote,.form-note,.form-status,.email-fallback,.dialog-call{font-size:15px;line-height:1.75;color:#66524f}
label{font-size:16px;line-height:1.6}.optional{color:#66524f}
input,select,textarea{font-size:16px;line-height:1.5;min-height:48px;border-color:#a38b86}
input::placeholder,textarea::placeholder{color:#76625d}
.dialog-close{width:44px;height:44px}.dialog-call{flex-wrap:wrap;gap:12px}
#service-dental{width:auto;max-width:100%}
@media(max-width:360px){.site-header .brand-logo{width:88px}.site-header{gap:4px}.header-actions{gap:4px}}
@media(max-width:1350px){.desktop-nav a{font-size:14px}.desktop-nav{gap:18px}.site-header{gap:18px}.hero-note{display:none}}
@media(max-width:850px){
 .hero-content{width:88%;margin-left:6vw;padding-top:160px;padding-bottom:140px;max-width:none}.hero h1{font-size:clamp(40px,6.5vw,58px)}
 .trust-strip{gap:24px}.story{grid-template-columns:1fr;gap:45px}.story-photo{height:480px}.story-copy{max-width:65ch}
 .service-feature .card-content{width:90%}.service-grid{gap:20px}.service-card{padding:26px}
 .journey-copy{top:190px;height:calc(100% - 290px)}.journey-panel h2{font-size:44px}
 .contact-details{grid-template-columns:1fr}.contact-details>a:last-child{grid-column:auto}
}
@media(max-width:560px){
 .site-header{padding-left:5vw;padding-right:5vw}.site-header .brand-logo{width:108px}.header-actions{gap:6px}
 .language-control{width:133px}.language-control select{font-size:14px;height:44px;padding-left:30px;padding-right:22px}.language-chevron{top:13px}
 .hero{min-height:0}.hero-content{padding-top:350px;padding-bottom:145px;top:auto;transform:none;width:88%;margin-left:6vw}
 .hero-image{height:380px;object-position:76% 48%}.hero-shade{background:linear-gradient(0deg,#41131e 0%,#41131e calc(100% - 320px),#41131e50 calc(100% - 180px),transparent 100%)}
 .hero h1{font-size:clamp(34px,8.8vw,48px);line-height:1.3}.hero-eyebrow{font-size:11px;line-height:1.75;letter-spacing:.06em;margin-bottom:22px}
 .hero-vietnamese{font-size:16px;max-width:none;line-height:1.75}.hero-description{font-size:17px;line-height:1.8}
 .hero-description br{display:none}.hero-service-links{flex-wrap:wrap;row-gap:6px}.i18n-ready .hero-service-links button{font-size:15px;padding-left:16px;padding-right:16px}.i18n-ready .hero-service-links button:first-child{padding-left:0}.i18n-ready .hero-service-links button:last-child{padding-right:0}
 .hero-buttons{gap:12px}.hero-bottom{align-items:flex-start;gap:12px;flex-direction:column;bottom:24px;padding-top:18px}.hero-bottom,.hero-bottom .scroll-prompt{font-size:11px}
 .trust-strip{grid-template-columns:1fr;gap:17px}.trust-strip>span{border:0;font-size:15px}
 .section-heading h2,.intro-grid h2,.story-copy h2,.community-heading h2,.faq h2{font-size:34px;line-height:1.3}
 .community-heading .eyebrow,.contact-top .eyebrow{font-size:12px;line-height:1.8}.community-message h3{font-size:29px}
 .community-message p,.story-copy p:not(.eyebrow),.step p,.faq-answer{font-size:17px}
 .service-card{min-height:500px}.service-feature .card-title,.card-title{font-size:32px}.everyday-services .text-link{margin-left:0}
 .everyday-services>div{align-items:flex-start}.everyday-services p{font-size:16px}
 .journey-top{top:110px}.journey-top .eyebrow{font-size:11px;max-width:80%}.journey-copy{top:185px;height:calc(100% - 285px)}.journey-panel h2{font-size:36px}.journey-panel p{font-size:16px;line-height:1.75}.chapter-label{font-size:12px;letter-spacing:.05em}
 .journey-bottom{gap:16px;flex-wrap:wrap}.journey-scroll{font-size:11px}.chapter-tabs button{font-size:13px}
 .contact h2{font-size:42px;line-height:1.25}.contact-details strong{font-size:16px}.contact-details>a>span{font-size:12px}
 .footer-top{align-items:flex-start}.footer-top p{margin-left:0;font-size:14px}.footer-bottom,.footer-bottom button{font-size:14px}.back-top{font-size:12px}
 .dialog-inner{padding:52px 22px 28px}.dialog-inner h2{font-size:32px;line-height:1.3}.dialog-inner>p:not(.eyebrow),.dialog-inner li{font-size:16px}.dialog-inner .service-footnote,.form-note,.dialog-call{font-size:14px}
}

@media(max-width:360px){.site-header .brand-logo{width:88px}.site-header{gap:4px}.header-actions{gap:4px}}

/* Seasonal enrollment campaign: readable live text, community photography. */
.seasonal-hero .hero-content{max-width:1100px}.seasonal-hero .hero-description{max-width:48ch}
.enrollment-hero .hero-content{width:58%;max-width:1000px;padding-top:190px;padding-bottom:170px}
.enrollment-hero h1{font-size:clamp(44px,4.7vw,76px)}
.enrollment-hero .hero-description{max-width:46ch}.enrollment-hero .hero-vietnamese{max-width:44ch}
.campaign-phone{font-size:20px;font-weight:600;white-space:nowrap}
.campaign-details{display:inline-flex;align-items:center;gap:16px;background:none;color:#fff2e7;border-bottom:1px solid #efcbb67a;font-size:16px;line-height:1.6;padding:10px 0;margin-top:17px;min-height:44px}
.enrollment-card{position:absolute;right:5vw;top:240px;width:340px;background:#fcf8f1f5;color:#44232a;padding:30px;border-radius:14px;border-top:5px solid #bd2333;box-shadow:0 20px 70px #2e0d2030;animation:fadeUp 1s .3s both}
.enrollment-card-top{display:flex;align-items:center;gap:12px;color:#a82031;font-size:12px;font-weight:600;letter-spacing:.06em}
.enrollment-card-top svg{width:32px;height:32px}
.enrollment-card h2{font-size:29px;line-height:1.25;letter-spacing:-.02em;margin:25px 0 16px;font-weight:500}
.enrollment-dates{font-size:23px;line-height:1.45;font-weight:600;color:#a82031}
.enrollment-year{font-size:14px;line-height:1.6;margin-top:8px}
.enrollment-checks{border-top:1px solid #ddc9c3;margin-top:24px;padding-top:20px}
.enrollment-checks p{font-size:15px;line-height:1.65;display:flex;gap:10px}.enrollment-checks p+p{margin-top:12px}.enrollment-checks span{color:#a82031;font-weight:700}
.enrollment-source{display:block;font-size:13px;line-height:1.7;text-decoration:underline;text-underline-offset:4px;margin-top:23px;color:#73423e}
@media(min-width:1700px){.enrollment-card{width:365px;right:7vw;top:270px;padding:34px}}
@media(max-width:1100px){.enrollment-hero .hero-content{width:88%;padding-top:155px;padding-bottom:40px}.enrollment-card{position:relative;top:auto;right:auto;width:88%;max-width:620px;margin:0 6vw 40px}.enrollment-hero .hero-bottom{position:relative;left:auto;right:auto;bottom:auto;margin:0 6vw 28px;padding-top:24px}.enrollment-hero{padding-bottom:1px}.enrollment-hero .hero-shade{background:linear-gradient(90deg,#41131ef2,#41131ea6),linear-gradient(0deg,#41131e,transparent)}.enrollment-hero .hero-image{height:100%}}
@media(max-width:560px){.enrollment-hero .hero-content{padding-top:340px;padding-bottom:32px}.enrollment-hero h1{font-size:clamp(34px,8.8vw,48px)}.enrollment-hero .hero-image{height:370px}.enrollment-hero .hero-shade{background:linear-gradient(0deg,#41131e 0%,#41131e calc(100% - 310px),#41131e50 calc(100% - 170px),transparent 100%)}.enrollment-card{padding:25px;margin-bottom:30px}.enrollment-card h2{font-size:28px}.enrollment-dates{font-size:22px}.campaign-phone{font-size:20px}.enrollment-hero .hero-bottom{gap:14px}.enrollment-hero .hero-description{font-size:17px}}
/* Refined S identity: keep both name and service line clear in the header. */
.site-header .brand-logo,.footer .brand-logo{width:190px;height:auto}
@media(max-width:560px){.site-header .brand-logo{width:140px}.footer .brand-logo{width:175px}}
@media(max-width:360px){.site-header .brand-logo{width:110px}.language-control{width:120px}.header-actions{gap:4px}.site-header{gap:4px}}
.footer-pages{display:flex;flex-wrap:wrap;gap:16px 28px;padding:0 0 24px;font-size:15px;color:#8d2534}.footer-pages a:hover{text-decoration:underline;text-underline-offset:4px}.footer-pages a[aria-current=page]{font-weight:700;text-decoration:underline}.site-credit{font-size:13px;line-height:1.7;color:#66524f;white-space:nowrap}.site-credit strong{font-weight:600;color:#842839}.footer-bottom>.site-credit:last-child{display:inline!important;font-size:13px;letter-spacing:0}.all-services-link{margin-top:28px}.footer-bottom{align-items:flex-start}.footer-bottom>div{row-gap:14px}

/* A shorter homepage: service essentials, a brief introduction, and contact. */
.home-compact .trust-strip{display:flex;justify-content:center;flex-wrap:wrap;gap:16px 36px;padding:24px 5vw}
.home-compact .trust-strip>span{border:0;padding:0}
.home-compact .services{padding-top:72px;padding-bottom:72px}
.home-compact .section-heading{margin-bottom:36px}
.home-compact .service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.home-compact .service-card{min-height:400px;padding:26px}
.home-compact .card-title{font-size:clamp(25px,2.4vw,38px);line-height:1.22}
.home-compact .card-description{font-size:16px;line-height:1.6;margin-top:14px}
.home-compact .card-link{margin-top:22px}
.home-compact .line-art{height:105px;margin:12px 0 20px}
.home-compact .line-art svg{height:105px}
.home-compact .everyday-services{margin-top:26px;padding-top:24px}
.home-compact .everyday-services p{max-width:62ch}
.home-compact .story{padding-top:72px;padding-bottom:72px;gap:7vw}
.home-compact .story-visual{padding-right:0}
.home-compact .story-photo{height:340px;border-radius:140px 140px 8px 8px}
.home-compact .story-seal{width:clamp(140px,11.9vw,156px);height:clamp(140px,11.9vw,156px);right:-20px;bottom:20px;border-width:6px;padding:16px;gap:5px;text-align:center}
.home-compact .story-seal span{max-width:108px;font-size:12px;line-height:1.2;letter-spacing:0}
.home-compact .story-seal strong{max-width:100%;margin:0;font-size:21px;line-height:1.1}
.home-compact .story-copy h2{font-size:clamp(32px,3.3vw,48px);margin-bottom:22px}
.home-compact .story-copy p:not(.eyebrow){max-width:48ch}
.home-compact .story-copy .text-link{margin-top:24px}
.home-compact .contact{padding-top:64px;padding-bottom:56px}
.home-compact .contact-main{margin-top:30px;margin-bottom:38px}
.home-compact .contact h2{font-size:clamp(38px,4.3vw,64px)}
.home-compact .contact-invitation p{max-width:36ch}
@media(max-width:1100px){
 .home-compact .service-card{padding:22px}
 .home-compact .card-title{font-size:27px}
}
@media(max-width:850px){
 .home-compact .service-grid{grid-template-columns:1fr}
 .home-compact .service-card{min-height:300px}
 .home-compact .service-feature{grid-column:auto;min-height:340px}
 .home-compact .service-feature .card-content{width:100%}
 .home-compact .card-title{font-size:30px}
 .home-compact .line-art{position:absolute;right:24px;top:65px;opacity:.22}
 .home-compact .story{grid-template-columns:1fr;gap:32px}
 .home-compact .story-visual{max-width:520px;width:calc(100% - 20px)}
 .home-compact .story-copy{max-width:65ch}
}
@media(max-width:560px){
 .home-compact .services,.home-compact .story{padding-top:48px;padding-bottom:48px}
 .home-compact .trust-strip{justify-content:flex-start;gap:12px;padding:24px 6vw}
 .home-compact .trust-strip>span{width:100%;font-size:14px}
 .home-compact .section-heading{margin-bottom:28px}
 .home-compact .service-card{min-height:280px;padding:24px}
 .home-compact .service-feature{min-height:320px}
 .home-compact .card-title{font-size:28px}
 .home-compact .story-photo{height:280px}
 .home-compact .story-copy h2{font-size:32px}
 .home-compact .contact{padding-top:44px;padding-bottom:40px}
 .home-compact .contact-main{margin-top:24px;margin-bottom:30px;gap:24px}
}


/* Additional services stay scannable without another full section. */
.home-compact .everyday-services>div{align-items:flex-start}
.home-compact .everyday-services h3{margin-bottom:12px}
.home-compact .other-service-list{list-style:none;display:flex;flex-wrap:wrap;gap:7px 9px;margin:0;padding:0;max-width:820px}
.home-compact .other-service-list li{font-size:14px;line-height:1.45;padding:5px 10px;border-radius:4px;background:#f7f0ec;color:#624b4a}
@media(max-width:850px){.home-compact .everyday-services{align-items:flex-start;flex-direction:column;gap:18px}}
@media(max-width:560px){.home-compact .everyday-services>div{gap:14px}.home-compact .everyday-icon{width:40px;height:40px}.home-compact .other-service-list li{font-size:13px}}
html[data-theme=dark] .home-compact .other-service-list li{background:#49333d;color:#f7e9e8}
@media(max-width:560px){
 .home-compact .everyday-services>div{display:block;width:100%}
 .home-compact .everyday-icon{float:left;margin-right:13px}
 .home-compact .everyday-services h3{min-height:40px;display:flex;align-items:center}
 .home-compact .other-service-list{clear:both;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 .home-compact .other-service-list li{display:flex;align-items:center}
}

/* Location map beneath the contact details. */
.office-map-section{background:#651c2a;padding:0 max(5vw,24px) 72px;color:var(--paper)}
.office-map-shell{height:clamp(300px,30vw,430px);position:relative;overflow:hidden;border-radius:16px;background:#efe7d9;box-shadow:0 24px 50px #220c1630}
.office-map,.office-map-fallback,.office-map-canvas{position:absolute;inset:0;width:100%;height:100%}
.office-map-fallback{border:0;filter:sepia(.25) saturate(.65)}
.office-map-canvas{visibility:hidden;z-index:1}
.office-map.is-interactive .office-map-canvas{visibility:visible}
.office-map.is-interactive .office-map-fallback{visibility:hidden;pointer-events:none}
.office-map-canvas .maplibregl-canvas{filter:sepia(.22) saturate(.7) brightness(1.03)}
.office-map-canvas .maplibregl-ctrl-top-right{top:15px;right:15px}
.office-map-canvas .maplibregl-ctrl-group{border-radius:8px;overflow:hidden;box-shadow:0 5px 16px #41212b25}
.office-map-canvas .maplibregl-ctrl-attrib{font-size:10px}
.office-map-marker{display:flex;flex-direction:column;align-items:center;gap:7px;text-decoration:none;color:#4b2a30;white-space:nowrap;cursor:pointer}
.office-map-marker-label{padding:7px 12px;border-radius:30px;background:#fffdf9;box-shadow:0 4px 16px #47252a27;font-size:13px;font-weight:600;line-height:1.3}
.office-map-marker-label small{font-size:10px;font-weight:400;color:#76666a}
.office-map-marker-pin{width:48px;height:48px;display:grid;place-items:center;border:4px solid #fffaf3;border-radius:50%;background:#bd2333;color:#fff;font-family:var(--serif);font-size:25px;box-shadow:0 0 0 10px #bd233326,0 8px 18px #411a2b4d}
.office-map-marker:focus-visible{outline:2px solid #bd2333;outline-offset:9px;border-radius:4px}
.office-map-directions{position:absolute;left:22px;bottom:22px;z-index:3;display:inline-flex;align-items:center;gap:20px;padding:5px 5px 5px 20px;min-height:48px;border-radius:40px;background:#fffdf8;color:#9f2434;box-shadow:0 6px 20px #361b2540;font-size:14px;font-weight:600}
.office-map-directions:hover{background:#fff5ec}
.office-map-directions:focus-visible{outline:2px solid #bd2333;outline-offset:3px}
.office-map-directions-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#bd2333;color:#fff}
.office-map-directions-icon svg{width:17px;height:17px}
@media(max-width:560px){
 .office-map-section{padding:0 6vw 48px}
 .office-map-shell{height:320px;border-radius:12px}
 .office-map-directions{left:14px;bottom:14px;padding-left:15px;font-size:13px}
 .office-map-marker-label{font-size:11px}
 .office-map-marker-pin{width:42px;height:42px}
}

/* Warm, open contact area with red reserved for useful accents. */
.home-compact .contact,.office-map-section{background:#dfc8c5;color:#4b2730}
.home-compact .contact{padding-top:54px;padding-bottom:30px}
.home-compact .contact-top{padding-bottom:30px}
.home-compact .contact-main{margin-top:20px;margin-bottom:0}
.home-compact .contact-details{margin-top:48px}
.home-compact .contact .eyebrow,.home-compact .contact h2 em{color:#aa2638}
.home-compact .contact .section-index{color:#78565b}
.home-compact .contact-invitation p{color:#5c474b}
.home-compact .contact-details>a{border-color:#ccb7b2}
.home-compact .contact-details>a>span{color:#9f3142}
.home-compact .contact-details strong,.home-compact .contact-details svg{color:#4b2730}
.home-compact .contact-decoration{color:#bb6671;opacity:.1}
.home-compact .contact-invitation .button-cream{background:#bd2333;color:#fff8f1}
.home-compact .contact-invitation .button-cream:hover{background:#a51f30}
.home-compact .contact-invitation .button-icon{background:#fff8f1;color:#bd2333}
.office-map-section{padding-bottom:55px}
.office-map-shell{height:clamp(300px,28vw,390px);box-shadow:0 16px 35px #674a4421;border:1px solid #dfcec5}
@media(max-width:560px){
 .home-compact .contact{padding-top:42px;padding-bottom:24px}
 .home-compact .contact-top{padding-bottom:20px}
 .home-compact .contact-details{margin-top:34px}
 .office-map-section{padding-bottom:38px}
 .office-map-shell{height:320px}
}
html[data-theme=dark] body.home-compact .contact,html[data-theme=dark] .office-map-section{background:#403039;color:#fff7eb}
html[data-theme=dark] .home-compact .contact .eyebrow,html[data-theme=dark] .home-compact .contact h2 em{color:#f3b7a5}
html[data-theme=dark] .home-compact .contact .section-index,html[data-theme=dark] .home-compact .contact-invitation p{color:#dfc9c3}
html[data-theme=dark] .home-compact .contact-details>a{border-color:#71535a}
html[data-theme=dark] .home-compact .contact-details>a>span{color:#f2baa9}
html[data-theme=dark] .home-compact .contact-details strong,html[data-theme=dark] .home-compact .contact-details svg{color:#fff7eb}
html[data-theme=dark] .office-map-shell{border-color:#71535a}
.floating-back-top{position:fixed;right:30px;bottom:max(28px,calc(env(safe-area-inset-bottom) + 20px));z-index:80;width:60px;height:60px;display:grid;place-items:center;border-radius:50%;background:var(--red);color:#fff8f1;box-shadow:0 10px 28px #2a171d30;font-size:29px;line-height:1;opacity:0;visibility:hidden;transform:translateY(12px);pointer-events:none;transition:opacity .25s,visibility .25s,transform .25s,background .25s}
.floating-back-top.is-visible{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.floating-back-top:hover{background:#a82031;transform:translateY(-3px)}
.floating-back-top:focus-visible{outline:3px solid #762535;outline-offset:4px}
.menu-open .floating-back-top{opacity:0;visibility:hidden;pointer-events:none}
@media(max-width:560px){.floating-back-top{right:20px;bottom:max(20px,calc(env(safe-area-inset-bottom) + 16px));width:54px;height:54px;font-size:27px}}

/* Keep all three service cards photographic and their copy readable. */
.service-card.service-photo{color:#fff;background:#4c3637}
.service-card.service-photo>img{position:absolute;inset:0;z-index:-3;width:100%;height:100%;object-fit:cover;transition:transform 1.5s var(--ease)}
.service-photo.service-protection>img{object-position:83% center}
.service-photo.service-tax>img{object-position:52% center}
.service-card.service-photo .card-shade{background:linear-gradient(0deg,#2b1718f2 0%,#3624259c 55%,#3624255c 100%)}
.service-card.service-photo .card-link{border-color:#ffffff40}
.service-card.service-photo .card-content{margin-top:auto}
.service-card.service-photo .card-description{color:#fff}

/* One aligned heading, one action, and an even grid of additional services. */
.home-compact .services{padding-bottom:52px}
.home-compact .everyday-services{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"heading action" "list list";align-items:center;gap:18px 32px;margin-top:30px;padding-top:25px}
.home-compact .everyday-services>.everyday-heading{grid-area:heading;display:flex;align-items:center;gap:15px}
.home-compact .everyday-heading h3{margin:0;min-height:0}
.home-compact .everyday-services .everyday-link{grid-area:action;justify-self:end;margin:0;min-height:0}
.home-compact .other-service-list{grid-area:list;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;width:100%;max-width:none}
.home-compact .other-service-list li{display:flex;align-items:center;min-height:48px;padding:10px 14px;border:1px solid #e5d8d1;border-radius:5px;background:#f7f0ec}
@media(max-width:1100px){.home-compact .other-service-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){
 .home-compact .everyday-services{grid-template-columns:1fr;grid-template-areas:"heading" "list" "action";gap:18px}
 .home-compact .everyday-services .everyday-link{justify-self:start;margin:0}
 .home-compact .other-service-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:420px){.home-compact .other-service-list{grid-template-columns:1fr}}
html[data-theme=dark] .home-compact .other-service-list li{border-color:#674d57;background:#49333d;color:#f7e9e8}

/* Make the community seal legible at a glance. */
.home-compact .story-seal{width:clamp(148px,12.5vw,166px);height:clamp(148px,12.5vw,166px);padding:12px;gap:6px}
.home-compact .story-seal span{max-width:122px;font-size:14px;font-weight:700;line-height:1.18;letter-spacing:.01em}
.home-compact .story-seal strong{font-size:25px;font-weight:600;line-height:1.1;white-space:nowrap}
@media(max-width:560px){
 .home-compact .story-seal{width:148px;height:148px;padding:11px}
 .home-compact .story-seal span{font-size:12.5px}
 .home-compact .story-seal strong{font-size:23px}
}
