*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:#fffaf7;color:#3b2a2c;font-family:var(--f-b);font-size:16.5px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden;padding-bottom:78px}
a{color:inherit}img,svg{display:block;max-width:100%}ul{list-style:none}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;z-index:999;background:#3b2a2c;color:#ffffff;padding:10px 14px}
.w{max-width:1200px;margin:0 auto;padding:0 22px;position:relative}@media(min-width:980px){.w{padding:0 48px}}
section{position:relative;padding:76px 0;overflow:hidden}@media(min-width:980px){section{padding:108px 0}}
h1,h2,h3,.h1,.h2{font-family:var(--f-d);font-weight:400;line-height:1.04;letter-spacing:-.005em}
.h2{font-size:clamp(40px,10vw,64px)}
.h2 em,.h1 em,h1 em{font-style:italic;color:#c7848a}
.kick{display:inline-flex;align-items:center;gap:12px;font-family:var(--f-b);font-size:11px;font-weight:500;letter-spacing:.32em;text-transform:uppercase;color:#a07c4a;margin-bottom:16px}
.kick:before{content:"";width:9px;height:9px;flex:none;border-radius:50%;border:1px solid #b8925a}
.lede{font-size:17px;max-width:34em;margin-top:18px;color:#7b6466}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:14px 30px;border-radius:999px;background:#3b2a2c;color:#fffaf7;font-family:var(--f-b);font-weight:500;font-size:12px;letter-spacing:.24em;text-transform:uppercase;text-decoration:none;border:0;cursor:pointer;transition:background .25s,transform .25s}
.btn:hover{background:#c7848a;transform:translateY(-1px)}
.btn.ghost{background:transparent;color:inherit;box-shadow:inset 0 0 0 1px #b8925a}.btn.ghost:hover{background:#f8e1e1}
.btn.rose{background:#c7848a;color:#ffffff}.btn.rose:hover{background:#3b2a2c}
.ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
/* header */
.hd{position:sticky;top:0;z-index:50;background:#fffaf7f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid #e3cfa6}
.hd .w{display:flex;align-items:center;justify-content:space-between;height:76px;gap:18px}
.logo{text-decoration:none;display:flex}.lg{display:flex;align-items:center;gap:11px;line-height:1}
.lg svg{width:34px;height:34px;flex:none}
.lg span.tx{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.lg b{font-family:var(--f-d);font-style:italic;font-weight:400;font-size:31px;line-height:.9;color:#3b2a2c;letter-spacing:-.01em}
.lg i{font-style:normal;font-family:var(--f-b);font-size:8.5px;font-weight:500;letter-spacing:.38em;text-transform:uppercase;color:#a07c4a;margin-left:1px}
.nv{display:none;gap:34px}.nv a{text-decoration:none;font-size:12px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;padding:6px 0;border-bottom:1px solid transparent;color:#3b2a2c}.nv a:hover,.nv a[aria-current]{border-color:#c7848a;color:#c7848a}
.hd .cta{display:none;min-height:44px;padding:10px 24px;font-size:11px}
.mbtn{width:46px;height:46px;border-radius:50%;border:1px solid #b8925a;background:transparent;color:#3b2a2c;font-size:18px;cursor:pointer;display:grid;place-items:center}
.drawer{position:fixed;inset:0;z-index:90;padding:22px 26px;display:flex;flex-direction:column;visibility:hidden;opacity:0;transition:opacity .3s,visibility .3s;background:#f8e1e1;color:#3b2a2c}
.drawer.o{visibility:visible;opacity:1}.drawer nav{display:grid;gap:2px;margin-top:34px}
.drawer nav a{text-decoration:none;font-family:var(--f-d);font-style:italic;font-size:46px;line-height:1.25}.drawer nav a:hover{color:#c7848a}
.drawer .x{align-self:flex-end;width:46px;height:46px;border-radius:50%;border:1px solid #b8925a;background:transparent;color:#3b2a2c;font-size:16px;cursor:pointer}
.drawer small{margin-top:auto;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#a07c4a;word-break:break-word}
.bar{position:fixed;left:12px;right:12px;bottom:12px;z-index:60;display:grid;grid-template-columns:1.5fr 1fr;gap:6px;padding:6px;border-radius:999px;background:#ffffff;border:1px solid #e3cfa6;box-shadow:0 14px 30px -14px #3b2a2c66}
.bar a{padding:12px 8px;text-align:center;text-decoration:none;font-size:11.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;border-radius:999px}.bar .b1{background:#3b2a2c;color:#fffaf7}.bar .b2{color:#3b2a2c;box-shadow:inset 0 0 0 1px #e3cfa6}
@media(min-width:980px){.nv,.hd .cta{display:flex}.mbtn,.bar{display:none}body{padding-bottom:0}}
/* hero */
.hero{padding:40px 0 80px;background:#fffaf7}
.hero-g{display:grid;gap:44px;align-items:center}
.hero h1{font-size:clamp(50px,13.4vw,92px);line-height:.98}
.hero h1 em{display:block}
.trust{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:26px;font-size:13px;color:#7b6466}
.trust li{display:flex;align-items:center;gap:8px}
.trust li:before{content:"";width:5px;height:5px;border-radius:50%;background:#c7848a;flex:none}
.trust li.ts:before{display:none}.trust .stars{color:#b8925a;letter-spacing:.12em;font-size:13px}
.hero-v{position:relative;width:min(100%,470px);margin:0 auto;aspect-ratio:1/1.06}
.hv-disc{position:absolute;right:2%;top:4%;width:74%;aspect-ratio:1;border-radius:50%;background:#f8e1e1}
.hv-ring{position:absolute;right:-4%;top:-2%;width:74%;aspect-ratio:1;border-radius:50%;border:1px solid #b8925a}
.arch{position:absolute;right:10%;top:0;width:56%;aspect-ratio:3/4.1;border-radius:999px 999px 6px 6px;overflow:hidden;background:#f8e1e1;border:6px solid #ffffff;box-shadow:0 30px 60px -36px #3b2a2c80}
.arch2{position:absolute;left:0;bottom:2%;width:40%;aspect-ratio:3/4;border-radius:999px 999px 6px 6px;overflow:hidden;background:#f8e1e1;border:5px solid #ffffff;box-shadow:0 24px 50px -30px #3b2a2c80;z-index:2}
.arch img,.arch2 img,.gi img,.cimg img,.wide img,.ab-ph img{width:100%;height:100%;object-fit:cover}
.hv-tag{position:absolute;right:4%;bottom:4%;z-index:3;background:#3b2a2c;color:#fffaf7;padding:9px 16px;border-radius:999px;font-size:10.5px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;white-space:nowrap}
.hv-cap{position:absolute;left:0;top:6%;width:32%;font-family:var(--f-d);font-style:italic;font-size:clamp(22px,6vw,30px);color:#a07c4a;line-height:1.05}
@media(min-width:980px){.hero{padding:64px 0 110px}.hero-g{grid-template-columns:1.02fr 1fr;gap:56px}.hero h1{font-size:88px}.hero-v{width:100%;max-width:520px}}
/* ribbon */
.ribbon{background:#f8e1e1;border-top:1px solid #efc4c4;border-bottom:1px solid #efc4c4;padding:18px 0}
.ribbon ul{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 0}
.ribbon li{font-family:var(--f-d);font-style:italic;font-size:clamp(19px,4.8vw,24px);color:#3b2a2c;display:flex;align-items:center;white-space:nowrap}
.ribbon li+li:before{content:"";width:5px;height:5px;margin:0 16px;transform:rotate(45deg);background:#b8925a}
/* services */
.svcs{background:#fffaf7}.svcs.alt{background:#ffffff}
.svhead{text-align:center;max-width:680px;margin:0 auto 48px}.svhead .kick{justify-content:center}.svhead .lede{margin:12px auto 0}
.svgrid{display:grid;gap:18px;grid-template-columns:1fr}@media(min-width:760px){.svgrid{grid-template-columns:repeat(2,1fr);gap:22px}}@media(min-width:1080px){.svgrid{grid-template-columns:repeat(4,1fr)}}
.card{position:relative;text-align:center}
.cimg{position:relative;width:100%;aspect-ratio:3/4;margin:0 auto 18px;border-radius:999px 999px 6px 6px;overflow:hidden;background:#f8e1e1}
.card .num{display:block;font-family:var(--f-d);font-style:italic;font-size:18px;color:#b8925a;margin-bottom:2px}
.card h3{font-size:28px}.card p{color:#7b6466;font-size:15px;margin:8px auto 0;max-width:22em}
.art{width:100%;height:100%;min-height:120px;display:grid;place-items:center;background:#f8e1e1}.cimg .art{position:absolute;inset:0}.art .mk{width:34%;max-width:70px}
.svnote{text-align:center;margin-top:40px;font-size:14px;color:#7b6466}.svnote b{font-weight:500;color:#3b2a2c}
@media(max-width:759px){.card{display:grid;grid-template-columns:108px 1fr;gap:0 18px;text-align:left;align-items:center;padding-bottom:18px;border-bottom:1px solid #efc4c4}.card:last-child{border-bottom:0}.cimg{width:108px;margin:0;grid-row:span 3}.card h3{font-size:25px}.card p{font-size:14px;margin:4px 0 0;line-height:1.55}.card .num{font-size:15px}}
/* feature (travel) */
.feat{background:#ffffff}
.feat .split{align-items:center}
.wide{position:relative;border-radius:200px 200px 8px 8px;overflow:hidden;aspect-ratio:4/3.3;background:#f8e1e1;max-width:560px;margin:0 auto}
.feat .fv{position:relative;padding:0 0 26px}
.feat .fv:before{content:"";position:absolute;left:-6%;top:8%;width:46%;aspect-ratio:1;border-radius:50%;border:1px solid #b8925a}
.feat .fv figcaption{position:absolute;left:50%;bottom:6px;transform:translateX(-50%);background:#fffaf7;border:1px solid #e3cfa6;padding:8px 18px;border-radius:999px;font-family:var(--f-d);font-style:italic;font-size:19px;white-space:nowrap}
.areas{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.areas li{padding:7px 16px;border-radius:999px;border:1px solid #e3cfa6;font-size:13px;letter-spacing:.06em;background:#fffaf7}
/* reviews */
.revs{background:#f8e1e1}
.revhead{display:grid;gap:22px;align-items:end;margin-bottom:40px}@media(min-width:980px){.revhead{grid-template-columns:1.3fr 1fr}}
.score{display:flex;align-items:center;gap:18px}
.score b{font-family:var(--f-d);font-weight:400;font-size:84px;line-height:.8;color:#3b2a2c}
.score span{display:grid;gap:2px;font-size:13.5px;color:#7b6466;line-height:1.4}.score .stars{color:#b8925a;letter-spacing:.14em;font-size:16px}
.score a{color:#3b2a2c;text-underline-offset:3px}
.qgrid{display:grid;gap:16px}@media(min-width:760px){.qgrid{grid-template-columns:repeat(2,1fr);gap:20px}}
.q{background:#fffaf7;border-radius:6px;padding:30px 26px 24px;position:relative;border-top:3px solid #c7848a}
.q:before{content:"\201C";position:absolute;right:20px;top:4px;font-family:var(--f-d);font-size:70px;line-height:1;color:#efc4c4}
.q p{font-family:var(--f-d);font-size:21px;line-height:1.38;color:#3b2a2c}
.q footer{margin-top:16px;font-size:11px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:#a07c4a}
.revs .gcta{justify-content:flex-start;margin-top:34px}
/* about */
.about{background:#fffaf7}.about.white{background:#ffffff}.about.blush{background:#f8e1e1}
.split{display:grid;gap:52px}@media(min-width:980px){.split{grid-template-columns:1fr 1fr;gap:84px;align-items:center}.split.flip>:first-child{order:2}}
.ab-v{position:relative;max-width:400px;margin:0 auto;padding:0 0 30px 30px}
.ab-ph{position:relative;aspect-ratio:3/4;border-radius:999px 999px 6px 6px;overflow:hidden;background:#f8e1e1;z-index:1}
.ab-v:before{content:"";position:absolute;left:0;top:30px;right:30px;bottom:0;border-radius:999px 999px 6px 6px;border:1px solid #b8925a}
.ab-v .stk{position:absolute;z-index:2;right:-6px;bottom:52px;width:118px;aspect-ratio:1;border-radius:50%;background:#3b2a2c;color:#fffaf7;display:grid;place-items:center;text-align:center;padding:12px;font-size:10px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;line-height:1.5}
.ab-v .stk em{display:block;font-family:var(--f-d);font-size:24px;letter-spacing:0;text-transform:none;color:#efc4c4;line-height:1}
.sig{font-family:var(--f-d);font-style:italic;font-size:40px;color:#c7848a;margin-top:18px;line-height:1}
.pts{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 30px}
.pts li{padding:7px 16px;border-radius:999px;background:#f8e1e1;font-size:13.5px}
.about.blush .pts li{background:#fffaf7}
/* gallery */
.gals{background:#ffffff}.gals.blush{background:#f8e1e1}
.gals .ghead{text-align:center;max-width:640px;margin:0 auto 42px}.gals .ghead .kick{justify-content:center}.gals .ghead .lede{margin:12px auto 0}
.gal{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;max-width:1040px;margin:0 auto}
.gal figure{width:calc(50% - 6px)}.gal figure.wide2{width:100%}
@media(min-width:760px){.gal{gap:18px}.gal figure{width:calc(25% - 13.5px)}.gal figure.wide2{width:calc(50% - 9px)}}
.gal figure.tall .gi{aspect-ratio:3/4;border-radius:999px 999px 6px 6px;overflow:hidden;background:#f8e1e1}
.gal figure.wide2 .gi{aspect-ratio:4/3;border-radius:6px;overflow:hidden;background:#f8e1e1}@media(min-width:760px){.gal figure.wide2 .gi{aspect-ratio:1.55}}
.gal figure.small{display:flex;justify-content:center}.gal figure.small .gi{width:min(100%,150px);aspect-ratio:1;border-radius:50%;overflow:hidden;background:#f8e1e1;border:1px solid #b8925a;padding:5px}.gal figure.small .gi img{border-radius:50%}
.gal figcaption{font-family:var(--f-d);font-style:italic;font-size:17px;color:#7b6466;margin-top:8px;text-align:center}
.gcta{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:46px}
/* steps */
.steps{background:#ffffff}
.steps .w>.rv:first-child{text-align:center}.steps .kick{justify-content:center}
.stgrid{display:grid;gap:14px;margin-top:40px}@media(min-width:980px){.stgrid{grid-template-columns:repeat(3,1fr);gap:24px}}
.st{border:1px solid #e3cfa6;border-radius:999px 999px 8px 8px;padding:40px 26px 30px;text-align:center;background:#fffaf7}
.st b{display:block;font-family:var(--f-d);font-style:italic;font-weight:400;font-size:48px;line-height:1;color:#c7848a;margin-bottom:8px}
.st h3{font-size:27px}.st p{color:#7b6466;margin-top:6px;font-size:15.5px}
@media(max-width:979px){.st{border-radius:8px;padding:24px 22px;display:grid;grid-template-columns:44px 1fr;gap:0 14px;text-align:left}.st b{grid-row:span 2;font-size:40px;margin:0}.st h3{font-size:23px}.st p{margin-top:2px;font-size:14.5px}}
/* contact */
.contact{background:#fffaf7}
.cbig{display:flex;align-items:center;gap:14px;margin-top:26px;padding:16px 20px;border-radius:999px;background:#3b2a2c;color:#fffaf7;text-decoration:none;max-width:470px}
.cbig i{flex:none;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#f8e1e1;color:#3b2a2c;font-style:normal;font-size:19px}
.cbig span{display:grid;line-height:1.3;min-width:0}.cbig small{font-size:10px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:#efc4c4}.cbig strong{font-weight:500;font-size:16px;word-break:break-all}
.cinfo{display:grid;gap:10px;margin-top:18px}
.cinfo a,.cinfo span{display:flex;align-items:center;gap:14px;text-decoration:none;font-size:15px;word-break:break-word}
.cinfo i{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;border:1px solid #e3cfa6;font-style:normal;font-size:14px;color:#a07c4a}
.cinfo a:hover{text-decoration:underline;text-underline-offset:4px}
.cnote{margin-top:24px;font-family:var(--f-d);font-style:italic;font-size:30px;color:#c7848a;line-height:1.2}
.fm{display:grid;gap:16px;background:#ffffff;padding:30px 22px;border-radius:8px;border:1px solid #e3cfa6}
@media(min-width:980px){.fm{padding:40px}}
.fm label{display:grid;gap:7px;font-size:11px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:#3b2a2c}
.fm input,.fm select,.fm textarea{font:inherit;font-size:16px;letter-spacing:0;text-transform:none;padding:13px 16px;border-radius:6px;border:1px solid #e3cfa6;background:#fffaf7;color:#3b2a2c;width:100%}
.fm input:focus,.fm select:focus,.fm textarea:focus{outline:2px solid #c7848a;outline-offset:1px}
.fm .g2{display:grid;gap:16px}@media(min-width:640px){.fm .g2{grid-template-columns:1fr 1fr}}
.fm .btn{width:100%;margin-top:4px}
.flag{background:#f8e1e1;padding:12px 16px;border-radius:6px;font-size:15px}
/* page head */
.pagehead{padding:64px 0 56px;text-align:center;background:#f8e1e1;border-bottom:1px solid #efc4c4}.pagehead .kick{justify-content:center}
.pagehead .h1{font-size:clamp(54px,14vw,96px);font-style:italic}.pagehead .lede{margin:14px auto 0}
/* footer */
.ft{background:#3b2a2c;color:#fffaf7;padding:72px 0 40px;text-align:center}
.fbig{font-family:var(--f-d);font-style:italic;font-weight:400;font-size:clamp(42px,10vw,68px);color:#efc4c4;max-width:16em;margin:0 auto;line-height:1.05}
.fcols{display:grid;gap:18px;margin:34px 0 28px;font-size:14px;color:#f8e1e1;letter-spacing:.03em}@media(min-width:980px){.fcols{grid-template-columns:repeat(3,1fr)}}
.fcols a{text-decoration:none;word-break:break-word}.fcols a:hover{text-decoration:underline}
.fine{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#e3cfa6;border-top:1px solid #fffaf72e;padding-top:24px}
.rv{opacity:0;transform:translateY(18px);transition:opacity .8s ease,transform .8s ease}.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}}
@media(max-width:639px){.hero{padding-top:30px}.hero h1{font-size:54px}.hero .lede{font-size:15.5px;margin-top:14px;line-height:1.6}.hero .ctas{flex-wrap:nowrap;gap:8px;margin-top:24px}.hero .ctas .btn{padding:12px 14px;letter-spacing:.14em;font-size:11px;flex:1 1 auto;min-height:48px}.trust{margin-top:18px;gap:6px 14px;font-size:12.5px}.hero-g{gap:30px}.kick{font-size:10px;letter-spacing:.24em}.score b{font-size:68px}.q p{font-size:19px}}
