:root{--ink:#252d25;--paper:#f7f5ef;--muted:#64695e;--gold:#a38756;--line:#dedfd5;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:16px;line-height:1.75}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #ad8650;outline-offset:5px}button{border:0}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400}em{font-weight:400}h2{font-size:clamp(48px,5vw,72px);line-height:1.02;letter-spacing:-.025em}.eyebrow{font-size:12px;letter-spacing:.19em;font-weight:600;line-height:1.6;color:#747963;margin-bottom:24px}.section-pad{padding:110px max(6.5vw,24px)}.header{height:110px;padding:0 4.7vw;position:absolute;z-index:3;top:0;width:100%;display:flex;align-items:center;justify-content:space-between;color:white;border-bottom:1px solid #ffffff30;gap:25px}.brand{display:flex;gap:15px;align-items:center;flex-shrink:0}.monogram{font-family:var(--serif);font-size:42px;line-height:1;letter-spacing:-6px;position:relative;padding-right:10px}.monogram span{font-family:Georgia;font-size:16px;position:absolute;right:-2px;top:-9px;letter-spacing:0;color:#d3c6a7}.wordmark{font-size:14px;letter-spacing:.17em;line-height:1.4}.wordmark small{display:block;font-size:12px;letter-spacing:.28em;margin-top:7px}.header nav{display:flex;gap:30px;font-size:14px}.header nav a{transition:opacity .2s}.header nav a:hover{opacity:.65}.header-cta{border:1px solid #ffffff75;background:none;color:white;padding:12px 19px;font-size:14px;display:flex;gap:25px;align-items:center}.menu-toggle{display:none;color:white;background:transparent;font-size:25px}.hero{height:min(920px,100svh);min-height:740px;position:relative;background:#454b3e;color:white;overflow:hidden}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 58%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(19,28,23,.74) 0%,rgba(19,28,23,.34) 56%,rgba(19,28,23,.05)),linear-gradient(180deg,#15211955,transparent 35%,#17211855)}.hero-content{position:absolute;top:51%;transform:translateY(-44%);left:6.5vw;max-width:850px}.eyebrow.light{color:#e1ddce}.hero h1{font-size:clamp(64px,6.7vw,101px);line-height:1.02;letter-spacing:-.035em}.hero h1 em{color:#e4d7ba}.hero-description{margin:28px 0 32px;font-size:16px;line-height:1.9;color:#f1f0e7}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:42px;padding:18px 26px;font-size:14px;font-weight:600;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button span{font-size:21px;line-height:1}.cream{background:#eee9dd;color:#263027}.cream:hover{background:white}.dark{background:var(--ink);color:white}.dark:hover{background:#414b3e}.hero-bottom{position:absolute;bottom:30px;left:6.5vw;right:6.5vw;border-top:1px solid #ffffff50;padding-top:22px;display:flex;justify-content:space-between;gap:20px;font-size:12px;letter-spacing:.14em}.hero-bottom a{font-size:14px;letter-spacing:0}.hero-bottom a span{margin-left:18px}.hero-caption{position:absolute;right:6.5vw;bottom:135px;writing-mode:vertical-rl;font-size:12px;letter-spacing:.12em;color:#eee9dd}.intro{display:grid;grid-template-columns:1.05fr 1fr;column-gap:13%;border-bottom:1px solid var(--line)}.intro>.eyebrow{grid-column:1/-1}.intro>div{max-width:490px}.intro p:not(.eyebrow){color:var(--muted);margin-bottom:16px}.text-link{background:none;color:var(--ink);font-size:14px;font-weight:600;display:inline-flex;align-items:center;gap:25px;padding:8px 0;border-bottom:1px solid #a9af9e;line-height:1.6}.text-link:hover{border-color:var(--ink)}.intro .text-link{margin-top:8px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:50px}.section-heading>p{font-size:16px;color:var(--muted);padding-bottom:5px}.services{background:#eeeee6}.service-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:#d4d7cb;border:1px solid #d4d7cb}.service-card{background:#f7f7f1;grid-column:span 2;padding:34px 32px 32px;display:flex;flex-direction:column;align-items:flex-start;transition:background .25s}.service-card:hover{background:#fffef9}.service-card.wide{grid-column:span 3}.card-top{display:flex;align-items:center;justify-content:space-between;width:100%;margin-bottom:36px;gap:15px}.service-num{font-family:var(--serif);font-size:26px;color:#8b967f}.service-category{font-size:12px;letter-spacing:.13em;color:#66715e}.service-card h3{font-size:38px;line-height:1.08;margin-bottom:22px;letter-spacing:-.025em}.service-card>p{font-size:16px;color:#626a5e;max-width:440px}.service-card .detail{font-size:13px;line-height:1.7;color:#727b6a;margin:19px 0 26px}.service-card .text-link{margin-top:auto}.gift-feature{display:grid;grid-template-columns:1fr 1fr;background:#e7e6dc}.gift-photo{position:relative;min-height:650px;overflow:hidden}.gift-photo img{width:100%;height:100%;position:absolute;object-fit:cover}.gift-photo span{position:absolute;bottom:28px;left:32px;right:32px;font-size:12px;letter-spacing:.14em;color:white;text-shadow:0 1px 5px #000}.gift-copy{padding:90px 13%}.gift-copy h2{margin-bottom:35px}.gift-copy>p:not(.eyebrow){font-size:16px;color:#5b6357;margin-bottom:18px;max-width:440px}.gift-copy .button{margin-top:14px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:55px}.steps article{border-top:1px solid #aeb6a4;padding-top:23px}.steps span{font-size:12px;letter-spacing:.13em;color:#738065}.steps h3{font-size:32px;line-height:1.2;margin:26px 0 18px}.steps p{color:var(--muted);font-size:16px}.pricing{background:#ecece3}.price-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #cfd3c5}.price-grid article{padding:33px 25px 25px;border-right:1px solid #cfd3c5;display:flex;flex-direction:column}.price-grid article:last-child{border-right:0}.package-name{font-size:12px;letter-spacing:.2em;font-weight:600}.price{font-family:var(--serif);font-size:48px;margin:20px 0;white-space:nowrap;line-height:1.2}.price small{font-family:var(--sans);font-size:12px}.price-grid h3{font-size:25px;line-height:1.2;margin:5px 0 14px;min-height:60px}.price-grid article>p:not(.price){font-size:14px;color:#636c5c;margin-bottom:32px}.price-grid button{margin-top:auto;padding:14px 0 5px;border-top:1px solid #b6bfab;text-align:left;background:none;color:inherit;font-size:14px;display:flex;justify-content:space-between}.price-grid .featured{background:var(--ink);color:#f1eddc}.price-grid .featured>p:not(.price){color:#d0d7c6}.price-grid .featured .package-name{color:#d8c8a6}.price-note{font-size:13px;color:var(--muted);max-width:990px;margin-top:24px;line-height:1.9}.closing{background:#252d25;text-align:center;color:#f1eee5;position:relative}.closing .eyebrow{color:#c4b995}.closing h2{font-size:clamp(60px,6vw,86px);margin-bottom:32px}.closing h2 em{color:#d8c9a7}.closing>p:last-child{font-size:14px;color:#bfc7b6;margin-top:28px}footer{padding:55px 6.5vw 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}footer>p,footer>a:not(.footer-brand){font-size:13px;color:var(--muted)}.footer-brand{font-family:var(--serif);font-size:34px;letter-spacing:-.03em}.footer-bottom{border-top:1px solid var(--line);padding-top:24px;margin-top:20px;width:100%;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#747a6e}.skip{position:fixed;top:-100px;left:20px;background:white;padding:12px;z-index:20}.skip:focus{top:10px}dialog{border:0;padding:45px;background:var(--paper);color:var(--ink);width:min(720px,calc(100% - 32px));max-height:90svh;overflow:auto;box-shadow:0 25px 100px #0004}dialog::backdrop{background:#101d19b5;backdrop-filter:blur(5px)}body.modal-open{overflow:hidden}.close-dialog{position:absolute;top:12px;right:18px;font-size:32px;color:var(--ink);background:none;width:42px;height:42px;line-height:1}.planner-intro h2{font-size:52px}.availability{font-size:14px;color:#60695c;margin:20px 0 26px;padding:14px 16px;background:#e9ebdf;border-left:2px solid #8f9b80}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:flex;flex-direction:column;font-size:14px;font-weight:600;gap:8px}.full{grid-column:1/-1}input,select,textarea{width:100%;border:1px solid #bdc5b5;background:#fffefa;color:var(--ink);padding:12px;border-radius:0;font-size:16px;min-width:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#778070}.form-note{font-size:13px;color:var(--muted);margin:20px 0}#request-result>p{font-size:14px;color:var(--muted);margin:20px 0}#request-result textarea{font-size:14px;margin-top:12px}.result-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap}[hidden]{display:none!important}
@media(min-width:1600px){.hero-content,.hero-bottom{left:calc((100vw - 1392px)/2)}.section-pad{padding-left:max(6.5vw,calc((100vw - 1392px)/2));padding-right:max(6.5vw,calc((100vw - 1392px)/2))}}@media(max-width:1100px){.header nav{gap:17px}.wordmark{font-size:12px}.header{padding:0 4vw;gap:15px}.header-cta{gap:15px;padding:10px 13px}.service-card{padding:28px 23px}.service-card h3{font-size:33px}.price-grid article{padding:26px 18px}.price{font-size:41px}.gift-copy{padding:70px 10%}.steps{gap:30px}}@media(max-width:850px){.header{height:90px}.header nav{display:none;position:absolute;top:90px;left:0;right:0;background:var(--ink);padding:25px;flex-direction:column;gap:18px}.header nav.open{display:flex}.menu-toggle{display:block}.header-cta{margin-left:auto}.section-pad{padding:75px 6vw}.hero{min-height:700px;height:90svh}.hero-content{left:6vw;right:6vw;top:50%}.hero h1{font-size:75px}.hero-caption{display:none}.hero-bottom{left:6vw;right:6vw}.intro{column-gap:7%}.intro h2{font-size:54px}.service-card{grid-column:span 3}.service-card:last-child{grid-column:1/-1}.gift-photo{min-height:570px}.gift-copy{padding:60px 9%}.gift-copy h2{font-size:52px}.price-grid{grid-template-columns:repeat(2,1fr)}.price-grid article{padding:30px}.price-grid article:nth-child(2){border-right:0}.price-grid article:nth-child(-n+2){border-bottom:1px solid #cfd3c5}.price-grid h3{min-height:0}.section-heading{gap:25px}.section-heading>p{font-size:14px}.steps{gap:25px}.steps h3{font-size:28px}}@media(max-width:600px){.wordmark{font-size:12px;letter-spacing:.12em}.wordmark small{font-size:12px}.monogram{font-size:37px}.brand{gap:12px}.header{padding:0 6vw}.header-cta{display:none}.hero{height:calc(100svh - 20px);min-height:710px;max-height:860px}.hero-image{object-position:62% center}.hero-shade{background:linear-gradient(90deg,#132018b8,#13201840),linear-gradient(180deg,#13201830,transparent 30%,#13201877)}.hero-content{transform:translateY(-43%)}.hero .eyebrow{font-size:12px;letter-spacing:.12em;margin-bottom:27px}.hero h1{font-size:clamp(49px,11.8vw,70px);line-height:1.03}.hero-description{font-size:14px;line-height:1.9;margin:26px 0 30px}.button{font-size:14px;gap:25px;padding:17px 22px}.hero-bottom{bottom:23px;padding-top:18px}.hero-bottom>span{font-size:12px;letter-spacing:.08em}.hero-bottom>a{font-size:12px}.hero-bottom a span{margin-left:8px}.section-pad{padding:65px 6vw}.eyebrow{font-size:12px;letter-spacing:.14em;margin-bottom:20px}h2{font-size:49px}.intro{display:block}.intro h2{margin-bottom:28px}.intro>div p{font-size:16px}.section-heading{display:block;margin-bottom:34px}.section-heading>p{margin-top:25px}.service-grid{display:block}.service-card,.service-card.wide{padding:28px;border-bottom:1px solid #d4d7cb}.service-card:last-child{border-bottom:0}.card-top{margin-bottom:24px}.service-card h3{font-size:38px}.service-card .text-link{margin-top:0}.gift-feature{display:flex;flex-direction:column}.gift-photo{min-height:0;aspect-ratio:1.05}.gift-copy{padding:55px 7vw}.gift-copy h2{font-size:55px}.gift-photo span{font-size:12px;left:7vw}.steps{grid-template-columns:1fr;gap:35px}.steps h3{font-size:32px;margin:17px 0 12px}.price-grid article{padding:25px 18px}.price{font-size:39px}.price small{font-size:12px}.package-name{font-size:12px}.price-grid h3{font-size:25px;min-height:65px}.price-grid article>p:not(.price){font-size:13px}.price-grid button{font-size:12px}.price-note{font-size:12px}.closing h2{font-size:60px}.closing>p:last-child{font-size:12px}footer{padding:38px 6vw 25px;flex-direction:column;align-items:flex-start;gap:12px}.footer-bottom{flex-direction:column;gap:9px;font-size:12px}.footer-brand{font-size:32px}dialog{padding:32px 23px}.planner-intro h2{font-size:45px}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.availability{font-size:13px}.result-actions{gap:16px}}
/* Premium polish: retain the original palette, typography and image treatment. */
.hero-trust{font-size:13px;line-height:1.8;color:#e5e3d8;margin-top:22px;max-width:600px}.hero-trust span:not([aria-hidden]){display:inline-block}
.trust{padding-top:78px;padding-bottom:85px}.trust h2{font-size:clamp(44px,4.1vw,60px)}.trust-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:55px;margin-top:45px}.trust-grid article{border-top:1px solid var(--line);padding-top:23px}.trust-grid h3{font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:.12em;line-height:1.6;margin-bottom:17px}.trust-grid p{font-size:16px;color:var(--muted)}
.service-card{min-width:0}.service-card .detail{font-size:14px}.service-examples{width:100%;margin-top:18px;font-size:14px;line-height:1.7;color:var(--muted)}summary{cursor:pointer;padding:9px 0;font-size:14px;line-height:1.6;color:var(--ink)}summary:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.service-examples ul{padding-left:19px;margin:8px 0 0}.service-examples li+li{margin-top:8px}
.preparation{display:grid;grid-template-columns:1fr 1fr;gap:9%;border-bottom:1px solid var(--line)}.preparation h2{font-size:clamp(45px,4.5vw,64px)}.preparation>div>p:not(.eyebrow){color:var(--muted);margin-top:28px}.preparation .text-link{margin-top:22px}.preparation-example ul{padding:0;margin:0;list-style:none}.preparation-example li{display:flex;gap:22px;padding:20px 0;border-top:1px solid var(--line)}.preparation-example li>span{font-family:var(--serif);font-size:25px;color:#8b967f}.preparation-example li p{font-size:16px}.preparation-example small{display:block;font-size:14px;color:var(--muted);line-height:1.75;margin-top:5px}.preparation-example .detail{font-size:14px;line-height:1.8}
.gift-copy>p.gift-categories{font-size:14px;line-height:1.9;padding-top:18px;margin-top:24px;border-top:1px solid #c8cbbf}.package-guidance{font-size:16px;color:var(--ink);margin-top:30px;max-width:880px}.inline-link{padding:0;background:none;color:inherit;text-decoration:underline;text-underline-offset:4px;font:inherit}.price-grid article>p.package-example{font-size:14px;line-height:1.7;margin-top:-16px}.price-note{font-size:14px}.price-grid button{min-height:48px;font-size:14px;gap:10px}.price-grid button span{flex-shrink:0}
.header-cta,.text-link,.price-grid button,.footer-nav a,.legal-nav a{transition:color .2s,border-color .2s,background-color .2s}.header-cta:hover{background:#ffffff14}.price-grid button:hover{border-color:currentColor}.footer-identity p{font-size:14px;color:var(--muted)}.footer-nav,.legal-nav{display:flex;flex-wrap:wrap;gap:8px 26px;font-size:14px}.footer-nav a,.legal-nav a{padding:7px 0;border-bottom:1px solid transparent}.footer-nav a:hover,.legal-nav a:hover{border-bottom-color:var(--gold)}.footer-bottom{align-items:center}.information-dialog h2{font-size:48px;margin-bottom:28px}.information-dialog h3{font-size:28px;line-height:1.2;margin:26px 0 12px}.information-dialog p:not(.eyebrow){font-size:16px;color:var(--muted);margin-top:12px}.information-dialog .eyebrow{padding-right:30px}.form-grid label{min-width:0}.menu-toggle{min-width:44px;min-height:44px}
@media(min-width:601px) and (max-width:850px){.service-card:last-child{grid-column:span 3}.hero-trust{max-width:560px}.trust-grid{gap:25px}.preparation{gap:6%}}
@media(max-width:600px){.hero{height:auto;min-height:max(760px,calc(100svh - 20px));max-height:none;display:flex;align-items:center;padding:130px 6vw 125px}.hero-content{position:relative;top:auto;left:auto;right:auto;transform:none;width:100%;max-width:none}.hero h1{font-size:clamp(46px,11.8vw,70px)}.hero-description{font-size:16px}.hero-trust{font-size:12px;line-height:1.8;max-width:340px;margin-top:22px}.hero-trust span:last-child{display:block}.hero-trust span:nth-child(4){display:none}.hero-bottom{align-items:flex-start;gap:12px}.hero-bottom>span{max-width:46%}.hero-bottom a{min-height:44px}.trust{padding-top:60px;padding-bottom:65px}.trust h2{font-size:47px}.trust-grid{grid-template-columns:1fr;gap:28px;margin-top:32px}.trust-grid h3{font-size:13px;margin-bottom:12px}.preparation{grid-template-columns:1fr;gap:38px}.preparation h2{font-size:49px}.preparation-example li{gap:18px}.price-grid h3{min-height:0}.price-grid article>p:not(.price){font-size:14px}.price-grid article{padding:25px 16px}.price-grid button{font-size:14px;line-height:1.5;align-items:center}.package-guidance{font-size:16px}.price-note{font-size:14px}.section-heading>p{font-size:16px}.footer-nav{gap:3px 20px;margin-top:12px}.footer-nav a,.legal-nav a{min-height:44px;display:inline-flex;align-items:center}.footer-bottom{align-items:flex-start}.closing>p:last-child{font-size:14px}.availability{font-size:14px}.form-note{font-size:14px}.information-dialog h2{font-size:42px}}
@media(max-width:359px){.price-grid{grid-template-columns:1fr}.price-grid article{border-right:0;border-bottom:1px solid #cfd3c5}.price-grid article:last-child{border-bottom:0}.hero h1{font-size:42px}.header{gap:8px}.wordmark{font-size:11px;letter-spacing:.08em}.wordmark small{letter-spacing:.16em}.brand{gap:10px}.hero-description br{display:none}}
/* Title-matched photographs reveal inside the existing service cards. */
.service-card{position:relative;isolation:isolate;overflow:hidden;transition:background-color .32s ease,color .32s ease}
.service-visual{position:absolute;inset:0;z-index:0;opacity:0;overflow:hidden;pointer-events:none;transition:opacity .36s ease}
.service-image{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.025);transition:transform .65s ease}
.service-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(21,33,26,.72),rgba(21,33,26,.76) 58%,rgba(21,33,26,.88))}
.service-card>:not(.service-visual){position:relative;z-index:1}
.service-card h3,.service-card>p,.service-card .service-examples,.service-card .text-link{transition:color .32s ease,transform .32s ease,border-color .32s ease}
.service-card .service-num,.service-card .service-category,.service-card summary{transition:color .32s ease}
.service-card .text-link>span{display:inline-block;transition:transform .32s ease}
@media(hover:hover) and (pointer:fine){
 .service-card:is(:hover,:focus-within){background:var(--ink);color:#f7f5ef}
 .service-card:is(:hover,:focus-within) .service-visual{opacity:1}
 .service-card:is(:hover,:focus-within) .service-image{transform:scale(1.06)}
 .service-card:is(:hover,:focus-within) h3,.service-card:is(:hover,:focus-within)>p,.service-card:is(:hover,:focus-within) .service-examples,.service-card:is(:hover,:focus-within) .text-link{color:#f7f5ef;transform:translateX(3px)}
 .service-card:is(:hover,:focus-within) .service-num,.service-card:is(:hover,:focus-within) .service-category{color:#e4d7ba}
 .service-card:is(:hover,:focus-within) summary{color:#f7f5ef}
 .service-card:is(:hover,:focus-within) .text-link{border-color:#e4d7ba99}
 .service-card:is(:hover,:focus-within) .text-link>span{transform:translateX(4px)}
 .service-card:is(:hover,:focus-within) :focus-visible{outline-color:#e4d7ba}
}
@media(hover:none),(pointer:coarse){
 .service-visual{position:relative;inset:auto;width:100%;height:110px;margin:0 0 24px;opacity:1;flex-shrink:0}
 .service-visual::after{display:none}
 .service-image{transform:none}
 .service-card[data-card="groceries"] .service-image{object-position:center 48%}
 .service-card[data-card="proposal"] .service-image{object-position:center 52%}
 .service-card[data-card="gift"] .service-image{object-position:center 48%}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}.service-card .service-image,.service-card:is(:hover,:focus-within) .service-image,.service-card:is(:hover,:focus-within) h3,.service-card:is(:hover,:focus-within)>p,.service-card:is(:hover,:focus-within) .service-examples,.service-card:is(:hover,:focus-within) .text-link,.service-card:is(:hover,:focus-within) .text-link>span{transform:none}}
@media(forced-colors:active){.service-visual{display:none}.service-card:is(:hover,:focus-within){background:Canvas;color:CanvasText}}
/* Information pages reuse the approved palette, header, footer and typography. */
.hero-trust{color:#eeece1}
.price-note+.price-note{margin-top:10px}
.home-contact{margin-top:22px;font-size:14px;overflow-wrap:anywhere}
.home-contact a{text-decoration:underline;text-underline-offset:4px}
.information-page .header{position:relative;background:var(--ink);color:var(--paper)}
.legal-main{width:min(100%,920px);margin:0 auto;padding:78px max(6vw,24px) 84px}
.legal-heading{padding-bottom:38px;border-bottom:1px solid var(--line);margin-bottom:42px}
.back-link{display:inline-block;font-size:14px;color:var(--muted);margin-bottom:34px;text-decoration:underline;text-underline-offset:5px}
.legal-heading .eyebrow{margin-bottom:18px;color:#69715f}
.legal-heading h1{font-size:clamp(42px,5.4vw,72px);line-height:1.05;letter-spacing:-.025em;overflow-wrap:anywhere}
.legal-intro{margin-top:25px;color:var(--muted);max-width:65ch}
.legal-section{margin-top:34px;min-width:0;overflow-wrap:anywhere}
.legal-section h2{font-size:clamp(28px,3vw,36px);line-height:1.2;letter-spacing:-.015em;margin-bottom:15px}
.section-number{color:#6a735f}
.legal-section p,.legal-section li,.legal-section dl{font-size:16px;line-height:1.85}
.legal-section p+p{margin-top:14px}
.legal-section ul,.legal-section ol{padding-left:23px;margin:14px 0}
.legal-section li+li{margin-top:8px}
.legal-section a:not(.button):not(.text-link){text-decoration:underline;text-underline-offset:4px}
.legal-section .text-link{font-size:16px;flex-wrap:wrap}
.legal-section time{color:var(--muted)}
.legal-prices{margin:20px 0;max-width:450px}
.legal-prices>div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:10px 0}
.legal-prices dd{margin:0;white-space:nowrap}
.business-details{margin:16px 0}
.business-details .business-name{font-weight:600}
.business-details p+p{margin-top:3px}
.business-details dl{margin:18px 0 0}
.business-details dl>div{margin-top:12px}
.business-details dt{font-size:14px;color:var(--muted)}
.business-details dd{margin:0}
.information-page footer{border-top:1px solid var(--line)}
.information-page .footer-bottom{align-items:flex-start}
.legal-nav{gap:4px 22px;max-width:100%}
@media(min-width:851px){.intro{padding-bottom:98px}.services{padding-top:98px;padding-bottom:98px}}
@media(max-width:850px){.legal-main{padding-top:52px;padding-bottom:60px}}
@media(max-width:600px){.legal-main{padding:40px 6vw 55px}.legal-heading{margin-bottom:30px;padding-bottom:28px}.legal-heading h1{font-size:42px}.legal-section{margin-top:29px}.legal-section h2{font-size:30px}.legal-section .button{max-width:100%;text-align:left}.legal-nav{column-gap:18px}}
/* All language editions share the approved layout and all existing photographs. */
.header{gap:18px}
.language-picker{position:relative;flex-shrink:0;font-size:14px;color:inherit}
.language-picker summary{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:8px 10px;color:inherit;list-style:none;white-space:nowrap;font-family:var(--sans)}
.language-picker summary::-webkit-details-marker{display:none}
.language-picker summary:hover{background:#ffffff14}
.language-picker summary:focus-visible{outline:2px solid #e4d7ba;outline-offset:3px}
.language-options{position:absolute;top:calc(100% + 9px);right:0;min-width:170px;max-width:calc(100vw - 32px);padding:8px;background:var(--paper);color:var(--ink);border:1px solid var(--line);box-shadow:0 10px 30px #0002;z-index:5}
.language-options a{display:block;padding:9px 13px;min-height:44px;white-space:nowrap}
.language-options a:hover,.language-options a[aria-current="page"]{background:#e7e8dc}
.language-options a[aria-current="page"]{font-weight:700}
.service-category{min-width:0;text-align:right;overflow-wrap:anywhere}
.service-card h3,.price-grid h3{overflow-wrap:anywhere}
.header-cta{white-space:nowrap}
html[lang="de"] .hero h1,html[lang="fr"] .hero h1{font-size:clamp(60px,6vw,92px)}
@media(min-width:851px) and (max-width:1200px){.header nav{display:none;position:absolute;top:110px;left:0;right:0;background:var(--ink);padding:25px;flex-direction:column;gap:18px}.header nav.open{display:flex}.menu-toggle{display:block}.header-cta{margin-left:auto}}
@media(max-width:850px){.header{gap:12px}.language-picker{margin-left:0}.header nav{z-index:4}}
@media(max-width:600px){.header{gap:6px}.header .brand{min-width:0;gap:8px;flex-shrink:1}.wordmark small{letter-spacing:.12em}.language-picker{margin-left:auto}.language-picker summary{font-size:12px;padding:7px 5px;gap:4px;min-width:40px}.header .menu-toggle{flex-shrink:0}.hero-trust{overflow-wrap:anywhere}html[lang="de"] .hero h1,html[lang="fr"] .hero h1{font-size:clamp(42px,10.8vw,65px)}.service-category{max-width:80%;line-height:1.5}.price-grid button{overflow-wrap:anywhere}}
@media(max-width:359px){.header .wordmark{letter-spacing:.06em}.header .wordmark small{letter-spacing:.08em}.language-picker summary{min-width:36px;padding:7px 3px}.header .menu-toggle{min-width:40px}}
.text-link{max-width:100%;text-align:left}
.text-link>span{flex-shrink:0}

/* The supplied beach sunset fills the entire local-service section. */
.trust{min-height:540px;color:#f7f5ef;background-color:#1b2929;background-image:linear-gradient(0deg,rgba(12,18,15,.82),rgba(12,18,15,.72) 24%,rgba(12,18,15,.2) 52%,transparent 70%),linear-gradient(90deg,rgba(12,18,15,.64),rgba(12,18,15,.5) 36%,rgba(12,18,15,.08) 65%,rgba(12,18,15,.04)),url('/assets/pattaya-beach-resort-sunset-2048.webp');background-size:cover;background-position:center}
.trust-heading{max-width:680px}
.trust .eyebrow{color:#fff4df}
.trust h2,.trust h2 em{color:#f9f6ed;text-shadow:0 2px 14px #17262955}
.trust-grid{margin-top:92px}
.trust-grid article{border-top-color:#eee8d69c}
.trust-grid h3{color:#fff7e9;text-shadow:0 1px 6px #17262966}
.trust-grid p{color:#f1eee7;text-shadow:0 1px 7px #17262988}
.closing-mark{display:block;margin:0 auto 24px;opacity:.9}
@media(max-width:850px){.trust{background-image:linear-gradient(180deg,rgba(12,18,15,.62),rgba(12,18,15,.6) 35%,rgba(12,18,15,.7)),url('/assets/pattaya-beach-resort-sunset-2048.webp');background-position:32% center}.trust-grid{margin-top:68px}}
@media(max-width:600px){.trust-grid{margin-top:65px}.closing-mark{margin-bottom:20px}}

/* Each package takes on Signature's dark green on hover or keyboard focus. */
.price-grid article{transition:background-color .28s ease,color .28s ease,box-shadow .28s ease}
.price-grid article>p:not(.price),.price-grid article .package-name,.price-grid article button{transition:color .28s ease,border-color .28s ease}
.price-grid article:focus-within{position:relative;z-index:1;background:var(--ink);color:#f1eddc;box-shadow:0 14px 28px #18221920}
.price-grid article:focus-within>p:not(.price){color:#d0d7c6}
.price-grid article:focus-within .package-name{color:#d8c8a6}
.price-grid article:focus-within button{border-color:#d8c8a6}
@media(hover:hover) and (pointer:fine){
 .price-grid article:hover{position:relative;z-index:1;background:var(--ink);color:#f1eddc;box-shadow:0 14px 28px #18221920}
 .price-grid article:hover>p:not(.price){color:#d0d7c6}
 .price-grid article:hover .package-name{color:#d8c8a6}
 .price-grid article:hover button{border-color:#d8c8a6}
}
.footer-identity .footer-tagline{margin-top:2px;line-height:1.6;max-width:330px}
.legal-heading h1,.legal-section h2{hyphens:auto}

/* Package effort is distinct from the unchanged service fee. */
.price-grid article>p.package-time{color:var(--ink);font-size:14px;font-weight:600;line-height:1.5;min-height:3em;margin:-5px 0 18px;overflow-wrap:anywhere}
.price-grid article>p:not(.price):not(.package-time):not(.package-example){font-size:16px;line-height:1.7;margin-bottom:18px}
.price-grid article>p.package-example{font-size:14px;line-height:1.75;margin:0 0 26px}
.price-grid .featured>p.package-time,.price-grid article:focus-within>p.package-time{color:#f1eddc}
@media(hover:hover) and (pointer:fine){.price-grid article:hover>p.package-time{color:#f1eddc}}
.service-card .detail{font-size:14px;color:#626a5e}
@media(max-width:359px){.price-grid article>p.package-time{min-height:0}}

/* Expanded navigation keeps the existing header and mobile menu. */
.header #main-nav a{white-space:nowrap}
.header #main-nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:7px;text-decoration-color:#d8c9a7}
.mobile-nav-cta{display:none;background:none;color:#e4d7ba;text-align:left;padding:12px 0;font-size:14px;border-top:1px solid #ffffff30}
@media(min-width:1401px) and (max-width:1700px){.header #main-nav{gap:18px}}
@media(min-width:1201px) and (max-width:1400px){.header #main-nav{display:none;position:absolute;top:110px;left:0;right:0;background:var(--ink);padding:25px;flex-direction:column;gap:18px}.header #main-nav.open{display:flex}.menu-toggle{display:block}.header-cta{margin-left:auto}}
@media(max-width:1400px){.header #main-nav{max-height:calc(100svh - 110px);overflow-y:auto;overscroll-behavior:contain}.header #main-nav a{white-space:normal;min-height:44px;display:flex;align-items:center}.header #main-nav .mobile-nav-cta{display:flex;justify-content:space-between;align-items:center;min-height:48px}.header #main-nav{gap:8px}}
@media(max-width:850px){.header #main-nav{max-height:calc(100svh - 90px)}}

/* New pages extend the existing typography and palette. */
.editorial-hero{background:var(--ink);color:var(--paper);padding-top:82px;padding-bottom:88px}
.editorial-hero .eyebrow{color:#d8c9a7}
.editorial-hero h1,.contact-introduction h1{font-size:clamp(54px,5.8vw,86px);line-height:1.04;letter-spacing:-.025em}
.editorial-hero h1 em,.contact-introduction h1 em{display:block;color:#d8c9a7}
.editorial-hero .page-intro{max-width:680px;margin-top:30px;color:#e3e4d9;font-size:18px;line-height:1.85}
.about-story{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-bottom:70px}
.about-story h2{max-width:470px;font-size:clamp(44px,4.3vw,64px)}
.about-story p{color:var(--muted);max-width:58ch}
.about-story p+p{margin-top:22px}
.about-principles{padding-top:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px}
.about-principles article{border-top:1px solid var(--line);padding-top:28px}
.about-principles h3{font-size:32px;line-height:1.15;margin-bottom:19px}
.about-principles p{color:var(--muted)}
.page-invitation{background:#e7e6dc;text-align:center}
.page-invitation h2{font-size:clamp(42px,4.7vw,65px);max-width:850px;margin:0 auto}
.page-invitation p{max-width:660px;margin:25px auto 30px;color:var(--muted)}
.faq-main{padding-top:76px;padding-bottom:92px;max-width:1320px;margin:auto}
.faq-heading{max-width:760px;margin-bottom:52px}
.faq-heading h1{font-size:clamp(52px,5.7vw,80px);line-height:1.05;letter-spacing:-.025em}
.faq-heading h1 em{display:block;color:#7b704f}
.faq-heading>p:last-child{margin-top:25px;color:var(--muted);font-size:18px}
.faq-list{border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line);padding:0}
.faq-item>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:24px 0;color:var(--ink);font-family:var(--serif);font-size:30px;line-height:1.22}
.faq-item>summary::-webkit-details-marker{display:none}
.faq-item>summary::after{content:"+";font-family:var(--sans);font-size:24px;font-weight:400;color:#8d7955;flex-shrink:0;width:24px;text-align:center}
.faq-item[open]>summary::after{content:"−"}
.faq-answer{max-width:900px;padding:0 55px 28px 0;color:var(--muted)}
.faq-answer p+p{margin-top:17px}
.faq-answer a,.faq-policies a,.contact-support a:not(.button){text-decoration:underline;text-underline-offset:5px}
.faq-policies{display:flex;flex-wrap:wrap;gap:14px 30px;margin-top:30px;font-size:14px;color:var(--muted)}
.contact-hero{background:var(--ink);color:var(--paper);padding:44px max(6.5vw,24px) 0;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:6%;align-items:center;overflow:hidden}
.contact-introduction{padding:24px 0 76px;position:relative;z-index:1;min-width:0}
.contact-introduction .eyebrow{color:#d8c9a7}
.contact-introduction h1{font-size:clamp(50px,5vw,76px)}
.contact-introduction>p:not(.eyebrow):not(.contact-location){max-width:550px;font-size:17px;color:#e1e2d7;line-height:1.9;margin-top:29px}
.contact-email{margin:34px 0 27px}
.contact-email>span{display:block;font-size:12px;font-weight:600;letter-spacing:.16em;color:#d8c9a7;margin-bottom:9px}
.contact-email>a{font-size:clamp(16px,1.7vw,23px);line-height:1.65;border-bottom:1px solid #d8c9a766;padding-bottom:6px;overflow-wrap:anywhere}
.contact-email>a:hover{border-color:#d8c9a7}
.contact-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.contact-actions .text-link{color:#eee9dd;border-color:#d8c9a799}
.contact-location{color:#bfc7b6;font-size:13px;margin-top:28px;letter-spacing:.04em}
.contact-visual{align-self:end;position:relative;margin:0;min-width:0;width:100%;max-width:550px;justify-self:center}
.contact-visual img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain;-webkit-mask-image:linear-gradient(to right,transparent,#000 13%,#000 91%,transparent),linear-gradient(to bottom,transparent,#000 9%,#000 83%,transparent);mask-image:linear-gradient(to right,transparent,#000 13%,#000 91%,transparent),linear-gradient(to bottom,transparent,#000 9%,#000 83%,transparent);-webkit-mask-composite:source-in;mask-composite:intersect}
.contact-support{display:grid;grid-template-columns:1.1fr 1fr;gap:9%}
.contact-support h2{font-size:clamp(40px,4vw,56px);line-height:1.08;margin-bottom:24px}
.contact-support h3{font-size:32px;line-height:1.15;margin-bottom:16px}
.contact-support p{color:var(--muted);max-width:600px}
.contact-support .support-note{margin-top:26px;border-top:1px solid var(--line);padding-top:23px}
.contact-support .support-actions{display:flex;flex-wrap:wrap;gap:20px;margin-top:25px;font-size:14px}
.contact-support article+article{margin-top:36px;padding-top:32px;border-top:1px solid var(--line)}
.contact-support article .button{margin-top:24px}
@media(min-width:1600px){.contact-hero{padding-left:max(6.5vw,calc((100vw - 1392px)/2));padding-right:max(6.5vw,calc((100vw - 1392px)/2))}}
@media(max-width:1050px){.contact-hero{gap:3%}.contact-introduction h1{font-size:56px}.contact-introduction>p:not(.eyebrow):not(.contact-location){font-size:16px}.contact-actions{gap:12px}.contact-actions .button{gap:18px}.about-principles{gap:30px}}
@media(max-width:850px){.contact-hero{padding:52px 6vw 0;grid-template-columns:1fr;gap:0}.contact-introduction{padding:0 0 26px;max-width:680px}.contact-introduction h1{font-size:64px}.contact-visual{max-width:470px;justify-self:end;margin-top:-12px}.contact-introduction>p:not(.eyebrow):not(.contact-location){max-width:600px}.contact-support{gap:6%}.about-story{gap:6%}.about-principles{gap:25px}.about-principles h3{font-size:29px}.editorial-hero{padding-top:60px;padding-bottom:68px}.faq-main{padding-top:58px;padding-bottom:70px}}
@media(max-width:600px){.contact-hero{padding-top:42px}.contact-introduction h1{font-size:clamp(42px,11.3vw,60px);overflow-wrap:break-word}.contact-introduction>p:not(.eyebrow):not(.contact-location){margin-top:25px}.contact-email{margin-top:28px}.contact-email>a{font-size:clamp(16px,4.8vw,21px)}.contact-actions{gap:16px;align-items:flex-start;flex-direction:column}.contact-location{margin-top:22px}.contact-visual{max-width:360px;justify-self:center;margin-top:0}.contact-support{grid-template-columns:1fr;gap:42px}.contact-support h2{font-size:45px}.contact-support h3{font-size:31px}.editorial-hero{padding-top:48px;padding-bottom:55px}.editorial-hero h1{font-size:clamp(43px,11.5vw,64px)}.editorial-hero .page-intro{font-size:16px;margin-top:25px}.about-story{grid-template-columns:1fr;gap:28px;padding-bottom:45px}.about-story h2{font-size:46px}.about-principles{grid-template-columns:1fr;gap:30px}.about-principles h3{font-size:32px}.page-invitation h2{font-size:44px}.faq-main{padding-top:42px;padding-bottom:60px}.faq-heading{margin-bottom:35px}.faq-heading h1{font-size:clamp(45px,12vw,64px)}.faq-heading>p:last-child{font-size:16px}.faq-item>summary{font-size:26px;padding:23px 0;gap:20px}.faq-answer{padding-right:0}.faq-policies{flex-direction:column}.faq-policies a{padding:6px 0}}

/* Consistent decorative SVG flags in the existing language selector. */
.language-flag{display:block;width:20px;height:15px;object-fit:cover;flex:0 0 auto;border-radius:1px}
.language-options a{display:flex;align-items:center;gap:10px}
@media(max-width:600px){.language-flag{width:18px;height:13.5px}.language-picker summary{gap:5px;padding-inline:3px}}
@media(max-width:359px){.language-picker summary{gap:3px;padding-inline:0}.language-picker summary .language-flag{width:16px;height:12px}}

#request-result .recipient-instruction a { text-decoration: underline; text-underline-offset: .15em; }
