.contact-page{--red:#b0000e;--deep-red:#88000a;--ink:#29211c;--cream:#fcfaf6;color:var(--ink);background:var(--cream)}
.contact-page .container{width:min(1280px,calc(100% - 80px))}
.contact-hero{position:relative;isolation:isolate;background:#65000c url("/assets/images/contact-hero.webp?v=dd6fa58eca288369f7a4b9b81246a3b0dc6a541d") center 53%/cover no-repeat;color:#fff9ec;overflow:hidden}
.contact-hero::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#34000812,transparent 75%)}
.contact-hero-inner{min-height:310px;display:flex;align-items:center}
.contact-hero-copy{padding:33px 0 34px;margin-left:40px;width:560px}
.contact-hero h1{font-family:var(--serif);font-size:78px;font-weight:600;letter-spacing:-2.5px;line-height:1.1;color:#fff9ee}
.contact-eyebrow{font-size:17px;letter-spacing:3.3px;color:#ffe4ac;margin:8px 0 0 4px;font-weight:500}
.contact-hero-quote{font-family:var(--script);font-size:25px;line-height:1.35;transform:rotate(-5deg);margin:23px 0 0 6px;max-width:450px}
.contact-hero-quote>span{padding-left:22px}
.contact-hero-quote b{font-family:Georgia,serif;font-size:36px;font-weight:400;color:#ffedb8;position:absolute;right:-2px;bottom:-3px}
.contact-details{background:linear-gradient(90deg,#f8f3e9,#fffdfa 50%,#f8f3e9);border-bottom:1px solid #eee5d9}
.contact-details-grid{display:grid;grid-template-columns:1fr 1.1fr 1fr 1.22fr;gap:26px;padding:24px 0}
.contact-detail{display:flex;align-items:flex-start;gap:17px;min-width:0}
.contact-detail>div{min-width:0;padding-top:4px}
.contact-detail-icon{width:58px;height:58px;flex:none;display:grid;place-items:center;background:linear-gradient(135deg,#c30013,#a1000a);border-radius:50%;color:white;box-shadow:inset 0 0 0 1px #fff4}
.contact-detail-icon .icon{width:27px;height:27px;stroke-width:2}
.contact-detail h2{font-family:Barlow,Arial,sans-serif;font-size:16px;font-weight:600;color:#241e19;margin-bottom:3px;line-height:1.25}
.contact-detail a{font-weight:600;line-height:1.4;font-size:15px}
.contact-detail a:hover{color:var(--red);text-decoration:underline;text-underline-offset:3px}
.contact-detail .contact-primary{font-size:21px;color:var(--red);line-height:1.15}
.contact-detail p{font-size:13px;line-height:1.45;margin-top:4px;color:#584c42}
.contact-detail .contact-hours{font-size:15px;color:#2c211a;font-weight:500;margin-top:0}
.contact-hours strong{color:#b0000e;font-weight:600}
.contact-detail .contact-email{font-size:14px;overflow-wrap:anywhere}
.contact-content{position:relative;isolation:isolate;padding:23px 0 27px;scroll-margin-top:95px}
.contact-content::before{content:'';position:absolute;inset:0;background:url("/assets/images/thai-pattern.svg?v=1f5bdc1c4ae7877ad431301b0c071b0f1195b846") center/125px;opacity:.16;mask-image:linear-gradient(90deg,#000,transparent 8%,transparent 92%,#000);z-index:-1}
.contact-layout{display:grid;grid-template-columns:1.28fr 1.04fr .9fr;gap:18px;align-items:stretch}
.contact-map-card{background:#eef0e6;border:1px solid #e2e4d9;border-radius:12px;overflow:hidden;min-width:0;display:flex;flex-direction:column}
.contact-map-wrap{position:relative;flex:1;min-height:340px;background:#e8ece5}
.contact-map-wrap iframe{width:100%;height:100%;position:absolute;inset:0;border:0;display:block}
.contact-map-caption{background:#fffdf9;display:grid;grid-template-columns:29px 1fr;gap:5px 11px;padding:17px 18px;border-top:1px solid #e7e0d4}
.map-pin{color:var(--red);padding-top:2px}
.map-pin .icon{width:27px;height:27px}
.contact-map-caption h2{font-family:Barlow,Arial,sans-serif;font-size:17px;font-weight:600;color:#322720;margin-bottom:3px}
.contact-map-caption p{font-size:13px;color:#796a5e;line-height:1.5}
.contact-directions{grid-column:2;font-size:13px;font-weight:600;color:var(--red);display:flex;align-items:center;gap:7px;min-height:30px;width:fit-content;margin-top:2px}
.contact-directions:hover{text-decoration:underline;text-underline-offset:3px}
.contact-directions .icon{width:15px;height:15px}
.contact-form-card{min-width:0;background:linear-gradient(140deg,#f7f2e8,#f3eee4);border:1px solid #eee5d7;padding:23px 21px 21px;border-radius:12px;position:relative;isolation:isolate;overflow:hidden;scroll-margin-top:108px}
.contact-form-card>h2{font-family:var(--serif);font-size:27px;color:#2a211a;font-weight:600;line-height:1.25;letter-spacing:-.8px;position:relative}
.contact-form-intro{font-size:14px;margin:4px 0 15px;color:#605246;position:relative}
.form-flower{position:absolute;right:-10px;top:-19px;font-size:106px;color:#d6b37b;line-height:1;opacity:.4;z-index:-1;transform:rotate(12deg)}
.contact-field{margin-bottom:13px}
.contact-field label{display:block;font-size:13px;color:#463a30;margin-bottom:5px;font-weight:500}
.contact-field label>span{color:#b50010}
.contact-field label>small{font-weight:400;font-size:11px;color:#998575;margin-left:3px}
.contact-field input,.contact-field textarea{width:100%;min-width:0;background:#fffdfb;border:1px solid #dfd3c2;border-radius:6px;min-height:38px;font-size:14px;line-height:1.4;padding:9px 11px;color:#312821}
.contact-field textarea{resize:vertical;min-height:108px;display:block}
.contact-field input::placeholder,.contact-field textarea::placeholder{color:#958778;opacity:1;font-size:13px}
.contact-field input:focus,.contact-field textarea:focus{outline:2px solid #d0a65355;outline-offset:1px;border-color:#bb9456}
.contact-privacy{font-size:10px;line-height:1.55;color:#89715d;margin:1px 0 12px}
.contact-page #contact-submit{width:100%;border-radius:6px;min-height:44px;font-size:15px;gap:13px;background:linear-gradient(120deg,#bd0014,#a4000a)}
.contact-page #contact-submit .icon{width:21px;height:21px;fill:currentColor;stroke-width:1}
.contact-page #contact-submit:hover{background:#88000a}
.contact-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
#contact-status{font-size:12px;padding:10px 12px;background:#fff0e6;border:1px solid #deb398;border-radius:5px;color:#852817;margin-bottom:12px;line-height:1.5}
#contact-status[data-state=loading]{background:#faf3df;color:#705a2c;border-color:#e1cda3}
#contact-success{text-align:center;padding:30px 0}
.message-success-icon{display:grid;place-items:center;width:67px;height:67px;background:#eee0bb;color:#8b6b29;border-radius:50%;margin:0 auto 20px}
.message-success-icon .icon{width:34px;height:34px}
.contact-success-eyebrow{font-size:10px;letter-spacing:1.4px;color:#98752b}
#contact-success h3{font-family:var(--serif);font-size:25px;color:#81121b;margin:8px 0 13px;line-height:1.35}
#contact-success>p:not(.contact-success-eyebrow){font-size:14px;line-height:1.6;color:#776452;margin-bottom:17px}
#contact-reference{font-size:11px!important}
#contact-success .button{font-size:13px}
.contact-services{background:#fff;border:1px solid #eee6dc;border-radius:12px;box-shadow:0 4px 15px #5637190a;min-width:0;overflow:hidden;display:flex;flex-direction:column}
.contact-ambience{margin:0;position:relative;isolation:isolate;overflow:hidden}
.contact-ambience::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#160905ca,transparent 70%);z-index:0;pointer-events:none}
.contact-ambience>img{width:100%;height:235px;object-fit:cover;object-position:40% center}
.contact-ambience>figcaption{position:absolute;left:20px;bottom:12px;right:10px;z-index:1;color:#fff9ef;font-family:var(--script);font-size:22px;line-height:1.35;text-shadow:0 1px 6px #0007}
.contact-ambience figcaption>span{font-family:Georgia,serif;font-size:27px;color:#ffe4a6}
.contact-ambience figcaption>small{font-family:Barlow,Arial,sans-serif;font-size:9px;display:block;letter-spacing:.5px;color:#f0ddc5;margin-top:6px}
.contact-service-list{padding:19px 23px;display:grid;gap:19px;flex:1;align-content:space-around}
.contact-service-list>a{display:flex;align-items:center;gap:20px}
.contact-service-list>a>.icon{color:var(--red);width:34px;height:34px;stroke-width:1.8}
.contact-service-list strong{display:block;font-size:16px;line-height:1.25;color:#2c241e;font-weight:600}
.contact-service-list small{display:block;font-size:13px;line-height:1.35;color:#76685c;margin-top:3px}
.contact-service-list>a:hover strong{color:var(--red)}
.contact-aloha{background:#f4e7cf url("/assets/images/menu-aloha.webp?v=a9fa4d6f40900761a0fd692eb6683546f49cc2c9") center 57%/cover no-repeat;border-top:1px solid #ede0cb;border-bottom:1px solid #e6cfa7;padding:20px 0;position:relative;isolation:isolate}
.contact-aloha::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,#fff0d655 35%,#fff0d655 70%,transparent);z-index:-1}
.contact-aloha>.container{display:flex;align-items:center;justify-content:center;gap:65px;padding-left:130px}
.contact-aloha h2{font-family:var(--serif);font-size:34px;line-height:1.3;font-weight:600;font-style:italic;color:#7d1710;letter-spacing:-.8px;text-shadow:0 1px 5px #fff8e6}
.contact-aloha p{font-size:10px;letter-spacing:.9px;color:#5e3d22;margin-top:4px;text-align:center}
.contact-aloha p b{padding:0 5px}
.contact-aloha .button{border-radius:30px;min-height:43px;padding-inline:27px;font-size:14px;flex:none}
.contact-page [hidden]{display:none!important}
@media(max-width:1180px){.contact-page .container{width:calc(100% - 56px)}.contact-hero-copy{margin-left:25px}.contact-hero h1{font-size:72px}.contact-hero-inner{min-height:295px}.contact-details-grid{gap:17px;grid-template-columns:1fr 1.05fr 1fr 1.2fr}.contact-detail{gap:12px}.contact-detail-icon{width:48px;height:48px}.contact-detail-icon .icon{width:24px;height:24px}.contact-detail h2{font-size:15px}.contact-detail a,.contact-detail .contact-hours{font-size:14px}.contact-detail .contact-email{font-size:12px}.contact-detail .contact-primary{font-size:18px}.contact-detail p{font-size:12px}.contact-layout{gap:14px;grid-template-columns:1.18fr 1.02fr .88fr}.contact-form-card{padding:21px 18px}.contact-form-card>h2{font-size:25px}.contact-form-intro{font-size:12px}.contact-map-caption{padding:15px 12px}.contact-map-caption h2{font-size:16px}.contact-map-caption p{font-size:12px}.contact-ambience>img{height:218px}.contact-ambience>figcaption{font-size:19px;left:17px}.contact-service-list{padding:17px 16px}.contact-service-list>a{gap:14px}.contact-service-list>a>.icon{width:31px;height:31px}.contact-service-list strong{font-size:15px}.contact-service-list small{font-size:12px}.contact-aloha>.container{padding-left:70px;gap:35px}.contact-aloha h2{font-size:30px}}
@media(max-width:960px){.contact-hero-copy{margin-left:14px}.contact-hero-inner{min-height:285px}.contact-hero h1{font-size:65px}.contact-eyebrow{font-size:14px;letter-spacing:2.7px}.contact-hero-quote{font-size:23px;max-width:390px;margin-top:22px}.contact-details-grid{grid-template-columns:1fr 1fr;gap:23px 45px;padding-block:25px}.contact-detail-icon{width:53px;height:53px}.contact-detail{gap:16px}.contact-detail h2{font-size:16px}.contact-detail a,.contact-detail .contact-email,.contact-detail .contact-hours{font-size:15px}.contact-detail .contact-primary{font-size:20px}.contact-detail p{font-size:13px}.contact-layout{grid-template-columns:1.08fr 1fr;gap:17px}.contact-services{grid-column:1/-1;display:grid;grid-template-columns:.9fr 1.1fr}.contact-service-list{grid-template-columns:1fr 1fr;gap:24px 18px;padding:25px}.contact-ambience>img{height:100%;min-height:225px}.contact-ambience>figcaption{font-size:24px}.contact-form-card{padding:22px}.contact-form-card>h2{font-size:27px}.contact-form-intro{font-size:14px}.contact-service-list strong{font-size:16px}.contact-service-list small{font-size:13px}.contact-aloha>.container{padding-left:0;gap:30px}.contact-aloha h2{font-size:29px}.contact-aloha .button{padding-inline:21px}.contact-hero{background-position:55% center}}
@media(max-width:700px){.contact-page .container{width:calc(100% - 36px)}.contact-hero{background-position:62% center}.contact-hero::before{background:linear-gradient(90deg,#5f0010bb,#5f001045 60%,transparent)}.contact-hero-inner{min-height:290px}.contact-hero-copy{margin-left:5px;padding-block:31px;max-width:440px}.contact-hero h1{font-size:64px}.contact-eyebrow{font-size:12px;letter-spacing:2.4px;margin-top:12px}.contact-hero-quote{font-size:22px;max-width:360px;line-height:1.5;margin-top:25px}.contact-details-grid{gap:21px 23px}.contact-detail{gap:12px}.contact-detail-icon{width:43px;height:43px}.contact-detail-icon .icon{width:23px;height:23px}.contact-detail h2{font-size:15px}.contact-detail a,.contact-detail .contact-hours{font-size:14px}.contact-detail .contact-email{font-size:13px}.contact-detail .contact-primary{font-size:18px}.contact-detail p{font-size:12px}.contact-layout{grid-template-columns:1fr}.contact-form-card{grid-row:1;padding:25px}.contact-form-card>h2{font-size:29px}.contact-form-intro{font-size:14px;margin-bottom:20px}.contact-field{margin-bottom:16px}.contact-field label{font-size:14px;margin-bottom:6px}.contact-field input,.contact-field textarea{font-size:16px;min-height:44px;padding:11px 12px}.contact-field input::placeholder,.contact-field textarea::placeholder{font-size:14px}.contact-field textarea{min-height:126px}.contact-privacy{font-size:11px;line-height:1.65;margin-bottom:17px}.contact-page #contact-submit{min-height:46px;font-size:16px}.contact-map-wrap{min-height:320px}.contact-map-caption{padding:18px 21px;grid-template-columns:29px 1fr auto;gap:5px 12px;align-items:center}.contact-directions{grid-column:3;grid-row:1;margin:0;font-size:13px}.contact-map-caption h2{font-size:17px}.contact-map-caption p{font-size:13px}.contact-services{grid-template-columns:1fr 1fr;grid-column:auto}.contact-service-list{grid-template-columns:1fr;gap:17px;padding:22px}.contact-ambience>img{min-height:335px}.contact-ambience>figcaption{font-size:21px;left:17px}.contact-service-list>a{gap:16px}.contact-aloha>.container{flex-direction:column;gap:17px;text-align:center}.contact-aloha{padding:23px 0;background-position:58% center}.contact-aloha::before{background:#fff1d979}.contact-aloha h2{font-size:31px}.contact-aloha p{font-size:9px;letter-spacing:.4px;margin-top:7px}.contact-aloha .button{font-size:14px;min-height:44px}}
@media(max-width:560px){.contact-hero h1{font-size:59px;letter-spacing:-2px}.contact-hero-inner{min-height:285px}.contact-eyebrow{font-size:11px;letter-spacing:2px}.contact-hero-quote{font-size:20px;max-width:305px;margin-top:25px}.contact-hero-quote>span{padding-left:12px}.contact-hero-quote b{font-size:29px;right:-8px;bottom:-18px}.contact-details-grid{grid-template-columns:1fr 1fr;gap:24px 14px;padding:22px 0}.contact-detail{flex-direction:column;gap:9px}.contact-detail>div{padding-top:0}.contact-detail-icon{width:44px;height:44px}.contact-detail h2{font-size:15px;margin-bottom:5px}.contact-detail a,.contact-detail .contact-hours{font-size:14px;line-height:1.5}.contact-detail .contact-email{font-size:13px}.contact-detail .contact-primary{font-size:18px}.contact-detail p{font-size:12px;line-height:1.5}.contact-content{padding-top:20px}.contact-form-card{padding:24px 21px}.contact-form-card>h2{font-size:28px}.contact-map-caption{grid-template-columns:27px 1fr;padding:18px;gap:5px 11px}.contact-directions{grid-row:auto;grid-column:2;font-size:14px;min-height:36px}.contact-map-wrap{min-height:320px}.contact-services{grid-template-columns:1fr}.contact-ambience>img{height:auto;min-height:0;aspect-ratio:1.65;object-position:center 45%}.contact-ambience>figcaption{font-size:25px;left:23px;bottom:15px}.contact-ambience figcaption>small{font-size:10px}.contact-service-list{grid-template-columns:1fr 1fr;gap:24px 16px;padding:24px 22px}.contact-service-list>a{align-items:flex-start;gap:12px}.contact-service-list>a>.icon{width:28px;height:28px}.contact-service-list strong{font-size:15px}.contact-service-list small{font-size:12px}.contact-aloha h2{font-size:29px}.contact-aloha p{max-width:310px;line-height:1.6}}
@media(max-width:360px){.contact-page .container{width:calc(100% - 28px)}.contact-hero h1{font-size:53px}.contact-eyebrow{font-size:10px;letter-spacing:1.5px}.contact-hero-quote{font-size:18px;max-width:270px}.contact-detail .contact-primary{font-size:17px}.contact-detail .contact-email{font-size:12px}.contact-detail a,.contact-detail .contact-hours{font-size:13px}.contact-form-card{padding-inline:18px}.contact-form-card>h2{font-size:25px}.contact-service-list{padding:22px 17px;gap:24px 12px}.contact-service-list>a{gap:9px}.contact-service-list>a>.icon{width:25px;height:25px}.contact-service-list small{font-size:11px}.contact-aloha h2{font-size:26px}}
