/* ------------------------------------------------------------------

   BRAND TOKENS & BASE

   ------------------------------------------------------------------ */

:root {

  --cream:    #FAE6DD;

  --blush:    #F6BBBA;

  --rose:     #EB99A2;

  --rose-2:   #d97f8c;

  --sage:     #9AA06B;

  --forest:   #41503A;

  --ink:      #1c211a;

  --paper:    #fbf7f3;

  --paper-2:  #f4ece4;

  --line:     rgba(65,80,58,.18);



  --serif: 'Cormorant Garamond', 'Times New Roman', serif;

  --logo:  'Quicksand', system-ui, sans-serif;

  --sans:  'DM Sans', system-ui, sans-serif;



  --gutter: clamp(20px, 4vw, 64px);

  --maxw: 1440px;

}



*{box-sizing:border-box;margin:0;padding:0}

html{scroll-behavior:smooth}

body{

  font-family: var(--sans);

  color: var(--ink);

  background: var(--paper);

  line-height:1.55;

  -webkit-font-smoothing:antialiased;

  text-rendering:optimizeLegibility;

  overflow-x:hidden;

}

img{display:block;max-width:100%;height:auto}

a{color:inherit;text-decoration:none}

button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}

.brtpmj_sr_ab_img {

	display: none !important;

}

.brtpmj_sr_author_overview {

	order: 3 !important;

}

.brtpmj_sr_rating {

	order: 1 !important;

}

.brtpmj_sr_title {

	order: 2 !important;

}

/* ------------------------------------------------------------------

   ANNOUNCEMENT BAR

   ------------------------------------------------------------------ */

.bar{background: var(--forest);color: var(--cream);font-family: var(--logo);font-size: clamp(0.6rem, 1.1vw, 0.75rem);letter-spacing: .16em;text-transform: uppercase;display:flex;justify-content:space-between;align-items:center;position:relative;z-index:30;min-height:38px;gap:0;overflow:hidden;}

.bar .marquee-bar{flex:1;min-width:0;overflow:hidden;display:flex;align-items:center;height:38px;position:relative;mask-image: linear-gradient(to right, transparent 0%, #000 6%, #000 94%, transparent 100%);-webkit-mask-image: linear-gradient(to right, transparent 0%, #000 6%, #000 94%, transparent 100%);}

.bar .marquee-bar-track{display:flex;align-items:center;gap:0;white-space:nowrap;animation: bar-scroll 60s linear infinite;will-change: transform;}

.bar .marquee-bar-track span{white-space:nowrap;padding-right: 80px;display: flex;align-items: center;}

.bar .marquee-bar-track em {font-style: normal; color: var(--blush); margin: 0 8px; width: 6px; height: 6px; border-radius: 50%; background: var(--rose); display: inline-block; vertical-align: middle; font-size: 0; }

@keyframes bar-scroll{0% { transform: translateX(0); } 100% { transform: translateX(-50%); }}

.bar .right{display:flex;gap:20px;align-items:center;white-space:nowrap;flex-shrink:0;padding:10px var(--gutter) 10px 0}

.bar .right a{white-space:nowrap;text-transform: lowercase}

.bar .right a:hover{color:var(--blush)}



/* ------------------------------------------------------------------

   HEADER / NAV

   ------------------------------------------------------------------ */

.header{position:sticky;top:0;z-index:25;background: rgba(251,247,243,.86);backdrop-filter: blur(14px) saturate(1.1);-webkit-backdrop-filter: blur(14px) saturate(1.1);border-bottom:1px solid var(--line);}

.nav{display:grid;grid-template-columns: 1fr auto 1fr;align-items:center;padding: 14px var(--gutter);gap: 16px;}

.nav-left, .nav-right{display:flex;gap:2px;align-items:center;flex-wrap:nowrap;overflow:visible}

.nav-right{justify-content:flex-end}

.brand{justify-self:center;display:flex;align-items:center;gap:12px;flex-shrink:0}

.brand img{height:40px;width:auto}

.brand .wordmark{font-family: var(--logo);font-weight:500;font-size: clamp(1rem, 1.4vw, 1.375rem);color: var(--rose);letter-spacing:.02em;white-space:nowrap;}

.nav a.item, .nav button.item{display:inline-flex;align-items:center;gap:5px;padding: 8px clamp(6px, 0.9vw, 12px);font-family: var(--logo);font-weight:500;font-size: clamp(0.7rem, 1vw, 0.84rem);letter-spacing:.04em;color: var(--ink);border-radius: 999px;transition: color .25s, background .25s;position:relative;white-space:nowrap;flex-shrink:0;}

.nav a.item:hover, .nav button.item:hover{color: var(--rose)}

.nav .caret{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-left:2px;margin-top:-3px;opacity:.6;flex-shrink:0;}

.nav .cta{margin-left:6px;background: var(--ink);color: var(--cream);padding: 10px clamp(12px, 1.4vw, 20px);border-radius: 999px;font-family: var(--logo);font-weight: 500;font-size: clamp(0.65rem, 0.85vw, 0.8rem);letter-spacing: .12em;text-transform: uppercase;transition: background .25s, transform .25s;white-space:nowrap;flex-shrink:0;}

.nav .cta:hover{background: var(--rose); transform: translateY(-1px)}

.menu-group .item::before {content: ""; height: 30px; width: 100%; display: flex; position: absolute; bottom: -1rem; }



.menu-group{position:relative}

header .nav-left .menu-group .dropdown {left: 100%; max-height: 300px; overflow-y: auto; overflow-x: hidden; scrollbar-width: thin; scrollbar-color: var(--forest) transparent; }

.dropdown{position:absolute;left:auto;top:calc(100% + 10px);transform: translateX(-50%) translateY(8px);background: var(--paper);border:1px solid var(--line);border-radius: 18px;padding: 14px;min-width: 300px;box-shadow: 0 30px 60px -20px rgba(28,33,26,.25);opacity: 0; visibility:hidden; pointer-events:none;transition: opacity .28s ease, transform .28s ease;z-index: 40;}

.menu-group:hover .dropdown,.menu-group:focus-within .dropdown{opacity:1;visibility:visible;pointer-events:auto;transform: translateX(-50%) translateY(0);left: auto;}

.dropdown a{display:flex;align-items:center;justify-content:space-between;padding: 11px 14px;border-radius: 12px;font-family: var(--logo);font-size: 0.875rem;color: var(--ink);transition: background .2s, color .2s, padding .25s;white-space:nowrap;}

.dropdown a small{color:var(--sage);font-size:0.69rem;letter-spacing:.18em;text-transform:uppercase;margin-left:12px;flex-shrink:0;}

.dropdown a:hover{background: var(--cream);color:var(--rose);padding-left:20px}

.dropdown.wide{min-width: 360px}

.menu-btn{display:none}



/* ---- MOBILE DRAWER ---- */

.mobile-drawer{position:fixed;inset:0;z-index:200;pointer-events:none;}

.mobile-drawer .overlay{position:absolute;inset:0;background:rgba(28,33,26,0);transition: background .38s ease;}

.mobile-drawer .panel{position:absolute;right:0;top:0;bottom:0;width: min(-340px, 88vw);background: var(--paper);transform: translateX(100%);transition: transform .38s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;overflow-y:auto;box-shadow: -20px 0 60px rgba(28,33,26,.18);}

.mobile-drawer.open{pointer-events:auto}

.mobile-drawer.open .overlay{background:rgba(28,33,26,.45)}

.mobile-drawer.open .panel{transform:translateX(0);width: min(340px, 88vw);}

.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--line);flex-shrink:0;}

.drawer-head .wordmark{font-family:var(--logo);font-weight:600;font-size:16px;color:var(--rose);}

.drawer-close{width:40px;height:40px;border-radius:50%;background:var(--paper-2);display:flex;align-items:center;justify-content:center;transition:background .2s;position:relative;}

.drawer-close:hover{background:var(--cream)}

.drawer-close::before,.drawer-close::after{content:"";position:absolute;width:16px;height:1.5px;background:var(--ink);border-radius:2px;}

.drawer-close::before{transform:rotate(45deg)}

.drawer-close::after{transform:rotate(-45deg)}

.drawer-body{padding:16px 16px 32px;flex:1}

.drawer-section{margin-bottom:6px}

.drawer-section-title{font-family:var(--logo);font-size:10px;letter-spacing:.42em;text-transform:uppercase;color:var(--rose);padding: 16px 12px 8px;opacity:.85;display:flex;align-items:center;gap:10px;}

.drawer-section-title::after{content:"";flex:1;height:1px;background:var(--rose);opacity:.25}

/* MOBILE DRAWER LINK (Split for Text & Arrow) */

.drawer-link-wrap {display: flex; align-items: stretch; justify-content: space-between; border-radius: 12px; transition: background .2s; width: 100%; }

.drawer-link-wrap:hover, .drawer-link-wrap.active {background: var(--cream); }

.drawer-link-text {flex: 1; padding: 13px 14px; font-family: var(--logo); font-weight: 500; font-size: 14px; color: var(--ink); letter-spacing: .02em; transition: color .2s; }

.drawer-link-text:hover {color: var(--rose); background: var(--cream); border-radius: 12px; transition: background .2s; }

.drawer-link-wrap:hover .drawer-link-text, .drawer-link-wrap.active .drawer-link-text {color: var(--rose); }

.drawer-link-toggle {padding: 0 16px; display: flex; align-items: center; justify-content: center; background: none; border: none; color: var(--ink); cursor: pointer; }

.drawer-link-wrap:hover .drawer-link-toggle, .drawer-link-wrap.active .drawer-link-toggle {color: var(--rose); }

.drawer-arrow {width: 8px; height: 8px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(-45deg); opacity: .45; transition: transform .25s, opacity .25s; }

.drawer-link-wrap.active .drawer-arrow {transform: rotate(45deg); opacity: .8; }

.drawer-sub{overflow:hidden;max-height:0;transition:max-height .32s ease;}

.drawer-sub.open{max-height:600px}

.drawer-sub a{display:flex;align-items:center;justify-content:space-between;padding:11px 14px 11px 28px;border-radius:10px;font-family:var(--logo);font-size:13px;color:var(--ink);opacity:.8;transition:background .18s,color .18s,opacity .18s;}

.drawer-sub a small{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--sage)}

.drawer-sub a:hover{background:var(--paper-2);color:var(--rose);opacity:1}

.drawer-cta{margin: 20px 16px 20px;display:block;text-align:center;background:var(--ink);color:var(--cream);padding:16px 24px;border-radius:999px;font-family:var(--logo);font-weight:600;font-size:13px;letter-spacing:.18em;text-transform:uppercase;transition:background .25s;}

.drawer-cta:hover{background:var(--rose)}







/* ------------------------------------------------------------------

   HERO

   ------------------------------------------------------------------ */

.hero{position:relative;min-height: 92vh;display:flex;align-items:flex-end;overflow:hidden;background: var(--ink);}

.hero .bg{position:absolute;inset:0}

.hero .bg img {width: 100%; height: 100%; object-fit: cover; filter: saturate(1.05) contrast(1.04); transform: scale(1.05); object-position: bottom; animation: kenburns 18s ease-in-out infinite alternate; opacity: 0.4; }

@keyframes kenburns{from { transform: scale(1.04) translate(0,0); } to { transform: scale(1.12) translate(-1.5%, -1%); }}

.hero .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(0,0,0,0) 30%, rgba(0,0,0,.55) 100%),linear-gradient(180deg, rgba(28,33,26,.30) 0%, rgba(28,33,26,0) 35%);}

.hero .inner{position:relative; width:100%;padding: 80px var(--gutter) 60px;color: #fff;display:grid;grid-template-columns: 1.4fr .9fr;gap: 80px;align-items:flex-end;}

.hero .eyebrow{font-family: var(--logo);font-size: 12px;letter-spacing: .42em;text-transform: uppercase;color: var(--blush);margin-bottom: 28px;display:flex;align-items:center;gap:14px;}

.hero .eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--blush);box-shadow:0 0 0 6px rgba(246,187,186,.18)}

.hero h1{font-family: var(--serif);font-weight: 300;font-size: clamp(48px, 7vw, 90px);line-height: .95;letter-spacing: -0.01em;margin-bottom: 36px;color:#fff;}

.hero h1 em, .hero h1 .amp{font-style: italic;color: var(--blush);font-weight: 400;}

.hero .actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:8px}

.btn{display:inline-flex;align-items:center;gap:12px;padding: 16px 26px;border-radius: 999px;font-family: var(--logo);font-weight: 600;font-size: 13px;letter-spacing: .18em;text-transform: uppercase;transition: transform .25s, background .25s, color .25s, border-color .25s;border: 1.5px solid transparent;}

.btn .arrow{width:8px;height: 8px;border-right:1.5px solid currentColor;border-top:1.5px solid currentColor;transform:rotate(45deg)}

.btn-primary{background: var(--rose);color:#fff}

.btn-primary:hover{background:#fff;color:var(--rose);transform:translateY(-2px)}

.form-wrap .btn-primary:hover {background: #fff; color: var(--rose); transform: translateY(-2px); border: 1px solid var(--blush); }

.btn-ghost{border-color: rgba(255,255,255,.55); color:#fff}

.btn-ghost:hover{background:#fff;color:var(--ink)}

.btn-dark{background:var(--ink);color:#fff}

.btn-dark:hover{background:var(--rose)}

.hero .meta{font-family: var(--logo);font-size: 13px;letter-spacing:.04em;color: rgba(255,255,255,.92);border-left: 1px solid rgba(255,255,255,.35);padding-left: 28px;line-height:1.7;}

.hero .meta strong{display:block;font-family:var(--serif);font-style:italic;font-weight:400;font-size:30px;color:var(--blush);margin-bottom:8px;line-height: normal;}

.hero .scroll{position:absolute;left:var(--gutter);bottom:24px;z-index:3;font-family:var(--logo);font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:rgba(255,255,255,.85);display:flex;align-items:center;gap:14px;}

.hero .scroll .line{width:48px;height:1px;background:rgba(255,255,255,.6);position:relative;overflow:hidden}

.hero .scroll .line::after{content:"";position:absolute;inset:0;background:var(--blush);transform:translateX(-100%);animation:slide 2.4s ease-in-out infinite}

@keyframes slide{0%{transform:translateX(-100%)}50%{transform:translateX(0)}100%{transform:translateX(100%)}}



/* ------------------------------------------------------------------

   MARQUEE STRIP

   ------------------------------------------------------------------ */

.marquee {background: var(--cream); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); overflow: hidden; }



.marquee-track {display: flex; padding: 22px 0; animation: scroll 20s linear infinite; white-space: nowrap; font-family: var(--serif); font-style: italic; font-size: 28px; color: var(--forest); width: max-content; }

.marquee-track span {display: flex; align-items: center; gap: 64px; padding-right: 64px; }



.marquee-track .mark {display: inline-block; width: 10px; height: 10px; border-radius: 50%; background: var(--rose); }



@keyframes scroll {

    from {

        transform: translateX(0);

    }

    to {

        transform: translateX(-50%);

    }

}

/* ------------------------------------------------------------------

   STORY

   ------------------------------------------------------------------ */

.story{padding: clamp(80px, 12vw, 90px) var(--gutter);display:grid;grid-template-columns: 1fr 1.1fr;gap: clamp(40px, 8vw, 120px);align-items:center;max-width: var(--maxw);margin: 0 auto;position:relative;}

.story::before{content:"";position:absolute;top: -40px; right: 0;width: 220px; height: 220px;background: radial-gradient(circle, var(--blush) 0%, transparent 70%);opacity:.35; filter: blur(20px);pointer-events:none;}

.section-label{font-family: var(--logo);font-size: 11px;letter-spacing: .42em;text-transform: uppercase;color: var(--rose);display:flex;align-items:center;gap:12px;margin-bottom: 24px;}

.section-label::before{content:"";display:inline-block;width:32px;height:1px;background:var(--rose);}

.story h2{font-family: var(--serif);font-weight: 300;font-size: clamp(40px, 5.8vw, 60px);line-height: 1.05;letter-spacing: -.005em;margin-bottom: 28px;color: var(--forest);}

.story h2 em{font-style:italic;color:var(--rose);font-weight:400}

.story p{font-size: 17px;color: var(--ink);opacity:.85;margin-bottom: 18px;max-width: 56ch;}

.story .sig{font-family:var(--serif);font-style:italic;font-size:22px;color:var(--forest);margin-top:32px;}

.story .image{position:relative;aspect-ratio: 4/5;overflow:hidden;border-radius: 200px 200px 12px 12px;}

.story .image img{width:100%;height:100%;object-fit:cover}

.story .image-2{position:absolute;bottom:-40px; left:-50px;width: 40%;aspect-ratio: 3/4;border-radius: 12px;overflow:hidden;border:8px solid var(--paper);box-shadow: 0 30px 60px -20px rgba(28,33,26,.28);}

.story .image-2 img{width:100%;height:100%;object-fit:cover}

.story .badge {position: absolute;top: 24px;background: var(--cream);color: var(--forest);font-family: var(--logo);font-size: 11px;letter-spacing: .28em;text-transform: uppercase;padding: 12px 18px;border-radius: 999px;box-shadow: 0 10px 30px -10px rgba(28,33,26,.25);left: 50%;transform: translateX(-50%);}



/* ------------------------------------------------------------------

   DESTINATIONS GRID

   ------------------------------------------------------------------ */

.destinations{padding: clamp(80px, 12vw, 90px) var(--gutter);background: var(--paper-2);position:relative;}

.dest-head{display:grid;grid-template-columns: 1.2fr .9fr;gap:60px;align-items:flex-end;max-width: var(--maxw);margin: 0 auto clamp(40px, 6vw, 80px);}

.dest-head h2{font-family: var(--serif);font-weight:300;font-size: clamp(40px, 5.8vw, 60px);line-height:.95;color:var(--forest);letter-spacing:-.01em;}

.dest-head h2 em{font-style:italic;color:var(--rose);font-weight:400}

.dest-head p{font-size: 17px;color:var(--ink);opacity:.78;max-width: 46ch;}

.dest-grid{display:grid;grid-template-columns: repeat(12, 1fr);grid-auto-rows: 200px;gap: 18px;max-width: var(--maxw);margin: 0 auto;}

.dest{position:relative;overflow:hidden;border-radius: 18px;background: var(--forest);cursor:pointer;transition: transform .5s cubic-bezier(.2,.7,.2,1);}

.dest img{width:100%;height:100%;object-fit:cover;transition: transform .8s cubic-bezier(.2,.7,.2,1), filter .5s;filter: saturate(0.7);}

.dest:hover img{transform:scale(1.06);filter:saturate(1.1)}

.dest::after{content:"";position:absolute;inset:0;background: linear-gradient(180deg, rgba(0,0,0,0) 35%, rgba(0,0,0,.7) 100%);pointer-events:none;}

.dest .cap{position:absolute;left:24px;right:24px;bottom:22px;z-index:2;color:#fff;}

.dest .cap small{font-family: var(--logo);font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--blush);display:block;margin-bottom:8px;}

.dest .cap h3{font-family: var(--serif);font-weight:400;font-style:italic;font-size: clamp(22px, 2.4vw, 32px);line-height:normal;margin-right: 6rem;}

.dest .cap .arrow-wrap {position: absolute; right: 0; top: auto; transform: translateY(-50%); width: 44px; height: 44px; border-radius: 50%; background: rgba(255,255,255,.18); backdrop-filter: blur(6px); display: flex; align-items: center; justify-content: center; transition: background .3s, transform .3s; bottom: 0; }

.dest:hover .cap .arrow-wrap{background:var(--rose);transform:translateY(-50%) translateX(-4px)}

.dest .cap .arrow-wrap::before{content:"";width:10px;height:10px;border-right:1.5px solid #fff;border-top:1.5px solid #fff;transform:rotate(45deg);margin-left:-3px;}

.d1{grid-column: span 7; grid-row: span 2}

.d2{grid-column: span 5; grid-row: span 1}

.d3{grid-column: span 5; grid-row: span 1}

.d4{grid-column: span 4; grid-row: span 1}

.d5{grid-column: span 4; grid-row: span 1}

.d6{grid-column: span 4; grid-row: span 1}



/* ------------------------------------------------------------------

   EXPERIENCE

   ------------------------------------------------------------------ */

.experience{padding: clamp(80px, 12vw, 90px) var(--gutter);max-width: var(--maxw);margin:0 auto;display:grid;grid-template-columns: 1fr 1.2fr;gap: 80px;align-items:center;}

.experience .copy h2{font-family: var(--serif);font-weight:300;font-size: clamp(40px, 5.8vw, 60px);line-height:1;color: var(--forest);margin-bottom: 28px;letter-spacing:-.005em;}

.experience .copy h2 em{font-style:italic;color:var(--rose);font-weight:400}

.experience .copy p{font-size:17px;opacity:.82;margin-bottom:18px;max-width:50ch}

.experience .copy .stats{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px;border-top:1px solid var(--line);padding-top:36px;}

.experience .copy .stats .n{font-family:var(--serif);font-style:italic;font-size:48px;color:var(--rose);font-weight:400;line-height:1;}

.experience .copy .stats .l{font-family:var(--logo);font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--forest);margin-top:8px;display:block;opacity:.7;}

.experience .visual{position:relative;aspect-ratio:1/1.05}

.experience .visual .v1, .experience .visual .v2{position:absolute;overflow:hidden;border-radius:12px;box-shadow: 0 30px 70px -25px rgba(28,33,26,.4);}

.experience .visual .v1{inset:0 30% 30% 0;border-radius: 200px 12px 12px 12px;}

.experience .visual .v2{inset: 30% 0 0 30%;border:8px solid var(--paper);}

.experience .visual img{width:100%;height:100%;object-fit:cover}

.experience .visual .floater{position:absolute;left:-30px;top:50%;transform:translateY(-50%);background:var(--cream);color:var(--forest);padding: 22px 26px;border-radius:18px;font-family:var(--serif);font-style:italic;font-size:20px;line-height:1.3;max-width:240px;box-shadow: 0 20px 50px -20px rgba(28,33,26,.3);z-index:3;}

.experience .visual .floater small{display:block;font-family:var(--logo);font-style:normal;font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:var(--rose);margin-bottom:8px;}



/* ------------------------------------------------------------------

   HELI FEATURE

   ------------------------------------------------------------------ */

.heli{position:relative;background: var(--ink);color:#fff;padding: 0;overflow:hidden;isolation:isolate;}

.heli .wrap{display:grid;grid-template-columns: 1fr 1fr; min-height: 78vh; align-items:stretch;}

.heli .img{position:relative;overflow:hidden}

.heli .img img{width:100%;height:100%;object-fit:cover;filter:saturate(1.05) contrast(1.04)}

.heli .img::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg, rgba(28,33,26,0) 40%, rgba(28,33,26,.9) 100%)}

.heli .content{padding: clamp(60px, 8vw, 120px) var(--gutter);display:flex;flex-direction:column;justify-content:center;gap:24px;position:relative;}

.heli .content .section-label{color:var(--blush)}

.heli .content .section-label::before{background:var(--blush)}

.heli .content h2{font-family: var(--serif);font-weight:300;font-size: clamp(40px, 5.8vw, 60px);line-height:.96;letter-spacing:-.01em;}

.heli .content h2 em{font-style:italic;color:var(--blush);font-weight:400}

.heli .content p{font-size: 16.5px;opacity:.85;max-width: 48ch}

.heli-list{display:grid;grid-template-columns: repeat(2, 1fr);gap: 18px 32px;margin-top:18px;}

.heli-list .row{display:flex;gap:16px;align-items:center;padding:14px 0;border-top:1px solid rgba(255,255,255,.15)}

.heli-list .row:first-child, .heli-list .row:nth-child(2){border-top:0}

.heli-list .row strong{font-family:var(--serif);font-style:italic;font-weight:400;font-size:24px;color:var(--blush);min-width:32px}

.heli-list .row span{font-family:var(--logo);font-size:14px;letter-spacing:.04em;color:#fff;opacity:.9}

.heli .content .actions{margin-top:18px;display:flex;gap:14px;flex-wrap:wrap}

.heli .floating-tag{position:absolute;right:24px;top:60px;background: var(--rose);color:#fff;width:140px;height:140px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--logo);font-size:11px;letter-spacing:.18em;text-transform:uppercase;line-height:1.4;text-align:center;transform: rotate(-8deg);box-shadow: 0 20px 50px -10px rgba(0,0,0,.4);z-index:4;}

.heli .floating-tag em{font-family:var(--serif);font-style:italic;font-size:22px;letter-spacing:0;text-transform:none;display:block;margin-top:4px;color:#fff}



/* ------------------------------------------------------------------

   PACKAGES

   ------------------------------------------------------------------ */

.home .packages{padding: clamp(80px, 12vw, 90px) var(--gutter);max-width: var(--maxw);margin: 0 auto;}

.home .packages .head{text-align:center;margin-bottom: 60px}

.home .packages h2{font-family:var(--serif);font-weight:300;font-size: clamp(40px, 5.8vw, 60px);color:var(--forest);line-height:.98;}

.home .packages h2 em{font-style:italic;color:var(--rose);font-weight:400}

.home .packages .head p{margin-top:16px;font-size:16px;opacity:.78;max-width:54ch;margin-left:auto;margin-right:auto}

.home .pkg-grid{display:grid;grid-template-columns: repeat(3, 1fr); gap: 24px}

.home .pkg{border:1px solid var(--line);border-radius: 22px; background:#fff;padding: 36px 30px 34px;display:flex;flex-direction:column;gap:18px;position:relative;transition: transform .35s, box-shadow .35s, border-color .35s;}

.home .pkg:hover{transform: translateY(-6px); box-shadow: 0 30px 60px -25px rgba(28,33,26,.22); border-color: var(--rose)}

.home .pkg .tag{align-self:flex-start;font-family:var(--logo);font-size:11px;letter-spacing:.28em;text-transform:uppercase;background:var(--cream);color:var(--rose);padding: 8px 14px;border-radius: 999px;}

.home .pkg h3{font-family:var(--serif);font-style:italic;font-weight:400;font-size: 38px;color:var(--forest);line-height:1;}

.home .pkg .price{font-family:var(--logo);font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);opacity:.7;}

.home .pkg .price strong{font-family:var(--serif);font-style:italic;font-size:32px;color:var(--rose);font-weight:400;letter-spacing:0;text-transform:none;display:block;margin-top:4px;opacity:1}

.home .pkg ul{list-style:none;display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--line);padding-top:18px;margin-top:6px}

.home .pkg li{display:flex;gap:12px;align-items:flex-start;font-size:14px;opacity:.85}

.home .pkg li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--sage);margin-top:7px;flex:none;}

.home .pkg .btn{margin-top: 8px; align-self:flex-start}

.home .pkg li em {color: var(--ink);opacity: .85;}

.home .pkg.featured{background: linear-gradient(180deg, var(--cream) 0%, #fff 70%);border-color: var(--rose)}

.home .pkg.featured::before{content:"Most loved";position:absolute;top:-14px;left:30px;background:var(--rose);color:#fff;font-family:var(--logo);font-size:11px;letter-spacing:.24em;text-transform:uppercase;padding: 7px 14px;border-radius: 999px;}



/* ------------------------------------------------------------------

   GALLERY MASONRY

   ------------------------------------------------------------------ */

.gallery{padding: clamp(80px, 12vw, 90px) var(--gutter);background: var(--paper-2);}

.gallery .head{display:flex;justify-content:space-between;align-items:flex-end;max-width: var(--maxw);margin: 0 auto 40px;gap:24px;flex-wrap:wrap;}

.gallery h2{font-family:var(--serif);font-weight:300;font-size: clamp(40px, 5.8vw, 60px);line-height:1;color: var(--forest);}

.gallery h2 em{font-style:italic;color:var(--rose)}

.gallery-grid{max-width: var(--maxw);margin:0 auto;display:grid;grid-template-columns: repeat(4, 1fr);grid-template-rows: 200px 200px 200px 200px;gap: 14px;}

.gtile{overflow:hidden;border-radius:12px;background:var(--forest);position:relative}

.gtile img{width:100%;height:100%;object-fit:cover;transition: transform 1s cubic-bezier(.2,.7,.2,1)}

.gtile:hover img{transform:scale(1.07)}

.g-a{grid-column: 1 / 3; grid-row: 1 / 3}

.g-b{grid-column: 3 / 4; grid-row: 1 / 2}

.g-c{grid-column: 4 / 5; grid-row: 1 / 3}

.g-d{grid-column: 3 / 4; grid-row: 2 / 3}

.g-e{grid-column: 1 / 3; grid-row: 3 / 5}

.g-f{grid-column: 3 / 4; grid-row: 3 / 4}

.g-g{grid-column: 4 / 5; grid-row: 3 / 5}

.g-h{grid-column: 3 / 4; grid-row: 4 / 5}



/* ------------------------------------------------------------------

   TESTIMONIAL

   ------------------------------------------------------------------ */

.testimonial{padding: clamp(80px, 12vw, 90px) var(--gutter);background: var(--cream);position:relative;overflow:hidden;}

.testimonial::before, .testimonial::after{content:"”";position:absolute;font-family:var(--serif);font-style:italic;color:var(--blush);font-size: 320px;line-height:1;opacity:.5;}

.testimonial::before{top:30px;left:5%;transform:rotate(180deg)}

.testimonial::after{bottom:-90px;right:5%}

.testimonial .wrap{max-width: 1040px;margin:0 auto;text-align:center;position:relative;z-index:2;}

.testimonial .stars{color:var(--rose);font-size:22px;letter-spacing:6px;margin-bottom:20px}

.testimonial blockquote{font-family: var(--serif);font-style: italic;font-weight: 300;font-size: clamp(26px, 3.4vw, 44px);line-height: 1.2;color: var(--forest);margin-bottom: 32px;}

.testimonial blockquote span.hl{background:linear-gradient(transparent 60%, rgba(235,153,162,.4) 60%)}

.testimonial cite{font-style:normal;font-family:var(--logo);font-size:13px;letter-spacing:.28em;text-transform:uppercase;color:var(--forest);display:flex;align-items:center;justify-content:center;gap:14px;}

.testimonial cite::before, .testimonial cite::after{content:"";width:32px;height:1px;background:var(--forest);opacity:.4}



/* ------------------------------------------------------------------

   JOURNAL

   ------------------------------------------------------------------ */

.journal{padding: clamp(80px, 12vw, 90px) var(--gutter);max-width: var(--maxw);margin: 0 auto;}

.journal .head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:48px;flex-wrap:wrap;gap:16px}

.journal h2{font-family:var(--serif);font-weight:300;font-size:clamp(40px, 5.8vw, 60px);color:var(--forest);line-height:1}

.journal h2 em{font-style:italic;color:var(--rose)}

.blog .journal {padding-bottom: 0; }

.journal .grid{display:grid;grid-template-columns: repeat(3,1fr); gap:30px}

.post{display:flex;flex-direction:column;gap:18px}

.post .img{aspect-ratio: 5/4; overflow:hidden;border-radius: 16px;background:var(--forest)}

.post .img img{width:100%;height:100%;object-fit:cover;transition: transform .8s}

.post:hover .img img{transform:scale(1.05)}

.post small{font-family:var(--logo);font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--rose)}

.post h3{font-family:var(--serif);font-weight:400;font-size:26px;line-height:1.2;color:var(--forest);transition:color .25s}

.post:hover h3{color:var(--rose)}

.post p{font-size:14.5px;opacity:.75}



/* ------------------------------------------------------------------

   CTA BANNER

   ------------------------------------------------------------------ */

.cta-band{position:relative;min-height: 70vh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;color:#fff;background: var(--ink);}

.cta-band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.55) saturate(1.1)}

.cta-band .wrap{position:relative;z-index:2;padding: 80px var(--gutter);max-width: 880px}

.cta-band h2{font-family:var(--serif);font-weight:300;font-size:clamp(40px, 6vw, 88px);line-height:.98;margin-bottom:28px;color:#fff;letter-spacing:-.005em}

.cta-band h2 em{font-style:italic;color:var(--blush)}

.cta-band p{font-size:17px;opacity:.92;max-width:60ch;margin: 0 auto 36px}

.cta-band .actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

.cta-band p a {display: inline-block; }

.cta-band p a:hover {color: var(--rose)}

.video-container h2 em {font-style: italic; color: var(--rose); font-weight: 400; }



.gal-item { position: relative; overflow: hidden; }

.gal-hover-caption {position: absolute; bottom: -50px; left: 0; width: 100%; padding: 20px 15px 15px; /* background: linear-gradient(to top, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0) 100%); */ color: var(--blush); text-align: center; font-family: var(--font-heading, 'Cormorant Garamond', serif); font-size: 1.5rem; font-style: italic; opacity: 0; transition: all 0.3s ease-in-out; pointer-events: none; z-index: 1; }

.gal-item:hover .gal-hover-caption {bottom: 0; opacity: 1; }

/* Hover Caption Styling */

.gal-item { position: relative; overflow: hidden; }

.gal-hover-caption {position: absolute; bottom: -50px; left: 0; width: 100%; padding: 20px 15px 15px; background: linear-gradient(to top, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0) 100%); color: #fff; text-align: center; font-family: var(--font-heading, 'Cormorant Garamond', serif); font-size: 1.4rem; font-style: italic; opacity: 0; transition: all 0.3s ease-in-out; pointer-events: none; z-index: 2; }

.gal-item:hover .gal-hover-caption {bottom: 0; opacity: 1; }



/* Pagination Hidden Class */

.gal-item.gal-hidden {display: none !important; }



/* Premium Show More Button */

.gal-actions {width: 100%; text-align: center; padding: 50px 0 20px; clear: both; }

#galToggleBtn {

    padding: 12px 35px;

    background: transparent;

    border: 1px solid var(--text-dark, #1a202c);

    color: var(--text-dark, #1a202c);

    font-family: var(--font-body, 'Quicksand', sans-serif);

    font-weight: 500;

    font-size: 0.9rem;

    letter-spacing: 2px;

    text-transform: uppercase;

    cursor: pointer;

    transition: all 0.3s ease;

    border-radius: 4px;

    display: none; /* JS isko handle karega */

}

#galToggleBtn:hover {

    background: var(--text-dark, #1a202c);

    color: #fff;

}



/* ------------------------------------------------------------------

   FOOTER

   ------------------------------------------------------------------ */

footer{background: var(--forest);color: var(--cream);padding: 80px var(--gutter) 28px;}

.footer-logo{width: 180px;}

.footer-grid{max-width: var(--maxw); margin: 0 auto;display:grid;grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 60px;}

.footer-brand .wordmark{font-family:var(--logo);font-weight:500;font-size:32px;color:var(--blush);margin-bottom:18px;display:block}

.footer-brand p{font-size:14.5px;opacity:.78;max-width:34ch;margin-bottom:24px}

.footer-brand .socials{display:flex;gap:10px}

.footer-brand .socials a{width:40px;height:40px;border-radius:50%;border:1px solid rgba(250,230,221,.3);display:flex;align-items:center;justify-content:center;font-family:var(--logo);font-size:12px;letter-spacing:.05em;transition: background .25s, color .25s, border-color .25s;}

.footer-brand .socials a:hover{background:var(--rose);border-color:var(--rose);color:#fff}

footer h4{font-family:var(--logo);font-weight:500;font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--blush);margin-bottom: 22px;}

footer ul{list-style:none;display:flex;flex-direction:column;gap:10px;text-transform: capitalize;}

footer ul a{font-size:14.5px;opacity:.82;transition: opacity .2s, color .2s}

footer ul a:hover{opacity:1;color:var(--blush)}

footer .news p{font-size:14px;opacity:.78;margin-bottom:18px;line-height:1.5}



/* 1. Remove the dummy wrapper styles and make the FORM the pill container */

footer .news .input {

    border: none !important;

    background: transparent !important;

    padding: 0 !important;

    border-radius: 0 !important;

    display: block !important;

}



footer .news .tnp-subscription form {

    display: flex !important;

    border: 1px solid rgba(250,230,221,.3) !important; /* Exact from line 334 */

    border-radius: 999px !important;

    overflow: hidden !important;

    background: transparent !important;

    margin: 0 !important;

    padding: 0 !important;

    width: 100% !important;

}



/* 2. Reset plugin's nested wrappers */

footer .news .tnp-subscription form .tnp-field {

    margin: 0 !important;

    padding: 0 !important;

    border: none !important;

    display: flex !important;

}



footer .news .tnp-subscription form .tnp-field-email {

    flex: 1 !important;

}



footer .news .tnp-subscription form label {

    display: none !important;

}



/* 3. Input Field (Exact properties from line 335 & 336) */

footer .news .tnp-subscription input.tnp-email {

    width: 100% !important;

    background: transparent !important;

    border: 0 !important;

    color: var(--cream) !important;

    padding: 12px 18px !important; /* EXACT original padding */

    font-family: var(--logo) !important;

    font-size: 13px !important;

    outline: none !important;

    margin: 0 !important;

    box-shadow: none !important;

    height: auto !important;

    line-height: normal !important;

}



footer .news .tnp-subscription input.tnp-email::placeholder {

    color: rgba(250,230,221,.5) !important; /* EXACT original placeholder */

    opacity: 1 !important;

}



/* 4. Join Button (Exact properties from line 337 & 338) */

footer .news .tnp-subscription input.tnp-submit {

    background: var(--rose) !important;

    color: #fff !important;

    padding: 0 22px !important; /* EXACT original padding */

    font-family: var(--logo) !important;

    font-size: 12px !important;

    letter-spacing: .18em !important;

    text-transform: uppercase !important;

    border: 0 !important;

    border-radius: 0 !important;

    margin: 0 !important;

    cursor: pointer !important;

    height: auto !important;

    line-height: normal !important;

    transition: background .2s, color .2s !important;

}



footer .news .tnp-subscription input.tnp-submit:hover {

    background: var(--blush) !important;

    color: var(--forest) !important;

}

.footer-bottom{max-width:var(--maxw);margin: 60px auto 0;padding-top: 24px;border-top: 1px solid rgba(250,230,221,.18);display:flex;justify-content:space-between;align-items:center;font-family:var(--logo);font-size:12px;letter-spacing:.14em;text-transform:uppercase;opacity:.7;flex-wrap:wrap;gap:14px;}

.footer-bottom a:hover {color: var(--blush); }

.footer-acc-trigger{ display: none; }

.footer-acc-body{ display: block; }



/* UTILITY */

.fade-in{opacity:0;transform:translateY(24px);transition: opacity .9s ease, transform .9s ease}

.fade-in.in{opacity:1;transform:translateY(0)}



/* ============================================================

   INNER PAGES SHARED

   ============================================================ */

.page-hero{position:relative;min-height:55vh;display:flex;align-items:flex-end;overflow:hidden;background:var(--ink)}

.page-hero .bg{position:absolute;inset:0}

.page-hero .bg img{width:100%;height:100%;object-fit:cover;filter:saturate(1.05) contrast(1.04);opacity:.55;transform:scale(1.05);animation:kenburns 18s ease-in-out infinite alternate}

.page-hero .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(28,33,26,.45) 0%,rgba(28,33,26,.15) 35%,rgba(28,33,26,.75) 100%)}

.page-hero .inner{position:relative;z-index:2;width:100%;padding:90px var(--gutter) 60px;color:#fff;max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:1.4fr .9fr;gap:80px;align-items:flex-end}

.page-hero .left{display:flex;flex-direction:column}

.page-hero .actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-bottom:28px}



.page-hero .eyebrow{font-family:var(--logo);font-size:12px;letter-spacing:.42em;text-transform:uppercase;color:var(--rose);margin-bottom:24px;display:flex;align-items:center;gap:14px}

.page-hero .eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--blush);box-shadow:0 0 0 6px rgba(246,187,186,.18)}

.page-hero h1{font-family:var(--serif);font-weight:300;font-size:clamp(42px,6.5vw,82px);line-height:.98;letter-spacing:-.01em;margin-bottom:24px;color:#fff;max-width:18ch}

.page-hero h1 em{font-style:italic;color:var(--rose);font-weight:400}

.page-hero .lede{font-size:17px;opacity:.88;max-width:52ch;margin-bottom:30px;color:rgba(255,255,255,.92);line-height:1.6}

.page-hero .crumbs{font-family:var(--logo);font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:rgba(255,255,255,.7);display:flex;align-items:center;gap:10px;flex-wrap:wrap}

.page-hero .crumbs a:hover{color:var(--blush)}

.page-hero .crumbs .sep {opacity: .5; display: flex; align-items: center; position: relative; top: -1.5px; font-size: 17px; }



/* Right Side Meta Text Design */

.page-hero .meta{font-family:var(--logo);font-size:13px;letter-spacing:.04em;color:rgba(255,255,255,.92);border-left:1px solid rgba(255,255,255,.35);padding-left:28px;line-height:1.7}

.page-hero .meta strong{display:block;font-family:var(--serif);font-style:italic;font-weight:400;font-size:30px;color:var(--blush);margin-bottom:8px;line-height: normal;}



.page-hero.minimal .inner {display: initial; gap: normal; padding: 80px var(--gutter); max-width: var(--maxw); margin: 0 auto; text-align: center; }

.page-hero.minimal::before {content: ""; position: absolute; top: -50px; right: -50px; width: 300px; height: 300px; background: radial-gradient(circle,var(--blush) 0%,transparent 70%); opacity: .4; filter: blur(20px);}

.page-hero.minimal::after {content: ""; position: absolute; bottom: -80px; left: -80px; width: 340px; height: 340px; background: radial-gradient(circle,var(--cream) 0%,transparent 70%); opacity: .6; filter: blur(20px); }

.page-hero.minimal .lede {text-align: center; display: flex; justify-content: center; max-width: 100%; width: 52ch; margin: auto;opacity: .78;line-height:1.55;color:var(--ink) }

.page-hero.minimal .bg-pink {display: none; }





/* QUEENSTOWN SECTIONS */

.qs-intro{padding:clamp(80px,12vw,120px) var(--gutter);max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(40px,8vw,120px);align-items:center;position:relative}

.qs-intro::before{content:"";position:absolute;top:-40px;right:0;width:220px;height:220px;background:radial-gradient(circle,var(--blush) 0%,transparent 70%);opacity:.35;filter:blur(20px);pointer-events:none}

.qs-intro h2{font-family:var(--serif);font-weight:300;font-size:clamp(38px,5.4vw,58px);line-height:1.04;letter-spacing:-.005em;margin-bottom:28px;color:var(--forest)}

.qs-intro h2 em{font-style:italic;color:var(--rose);font-weight:400}

.qs-intro p{font-size:17px;color:var(--ink);opacity:.85;margin-bottom:18px;max-width:56ch}

.qs-intro .sig{font-family:var(--serif);font-style:italic;font-size:22px;color:var(--forest);margin-top:24px}

.qs-intro .image{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:200px 200px 12px 12px}

.qs-intro .image img{width:100%;height:100%;object-fit:cover}

.qs-intro .image-2{position:absolute;bottom:-40px;left:-50px;width:42%;aspect-ratio:3/4;border-radius:12px;overflow:hidden;border:8px solid var(--paper);box-shadow:0 30px 60px -20px rgba(28,33,26,.28)}

.qs-intro .image-2 img{width:100%;height:100%;object-fit:cover}



.qs-exp{padding:clamp(80px,12vw,100px) var(--gutter);background:var(--paper-2)}

.qs-exp .head{max-width:var(--maxw);margin:0 auto 56px;text-align:center}

.qs-exp .head .section-label{justify-content:center}

.qs-exp .head h2{font-family:var(--serif);font-weight:300;font-size:clamp(40px,5.8vw,58px);line-height:1;color:var(--forest);letter-spacing:-.005em;max-width:18ch;margin:0 auto}

.qs-exp .head h2 em{font-style:italic;color:var(--rose);font-weight:400}

body.page-id-60 .qs-exp .exp-grid {grid-template-columns: repeat(3, 1fr); }

.exp-grid{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:repeat(2,1fr);gap:28px}

.exp-card{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;display:flex;flex-direction:column;transition:transform .35s,box-shadow .35s,border-color .35s}

.exp-card:hover{transform:translateY(-6px);box-shadow:0 30px 60px -25px rgba(28,33,26,.22);border-color:var(--rose)}

.exp-card .img{aspect-ratio:4/3;overflow:hidden;background:var(--forest)}

.exp-card .img img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}

.exp-card:hover .img img{transform:scale(1.05)}

.exp-card .body{padding:30px 28px 32px;display:flex;flex-direction:column;gap:14px;flex:1}

.exp-card .tag{align-self:flex-start;font-family:var(--logo);font-size:10px;letter-spacing:.28em;text-transform:uppercase;background:var(--cream);color:var(--rose);padding:6px 12px;border-radius:999px}

.exp-card h3{font-family:var(--serif);font-style:italic;font-weight:400;font-size:30px;color:var(--forest);line-height:1.05}

.exp-card p{font-size:14.5px;opacity:.82;line-height:1.6}

.exp-card .meta{margin-top:auto;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:18px;gap:14px;flex-wrap:wrap}

.exp-card .meta .price{font-family:var(--logo);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);opacity:.7}

.exp-card .meta .price strong{font-family:var(--serif);font-style:italic;font-size:24px;color:var(--rose);font-weight:400;letter-spacing:0;text-transform:none;display:block;margin-top:2px;opacity:1}

.exp-card .meta .arrow-btn{width:40px;height:40px;border-radius:50%;background:var(--forest);color:#fff;display:flex;align-items:center;justify-content:center;transition:background .25s,transform .25s}

.exp-card:hover .meta .arrow-btn{background:var(--rose);transform:translateX(4px)}

.exp-card .meta .arrow-btn::before{content:"";width:8px;height:8px;border-right:1.5px solid currentColor;border-top:1.5px solid currentColor;transform:rotate(45deg);margin-left:-3px}



.qs-highlights{padding:clamp(80px,12vw,100px) var(--gutter);max-width:var(--maxw);margin:0 auto}

.qs-highlights .head{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:flex-end;margin-bottom:60px}

.qs-highlights .head h2{font-family:var(--serif);font-weight:300;font-size:clamp(38px,5.4vw,56px);line-height:1.02;color:var(--forest);letter-spacing:-.005em}

.qs-highlights .head h2 em{font-style:italic;color:var(--rose);font-weight:400}

.qs-highlights .head p{font-size:16.5px;opacity:.78;max-width:46ch}

.hl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px 36px}

.hl-item{position:relative;padding-top:30px;border-top:1px solid var(--line)}

.hl-item .num{font-family:var(--serif);font-style:italic;font-weight:400;font-size:42px;color:var(--rose);line-height:1;margin-bottom:14px}

.hl-item h3{font-family:var(--serif);font-weight:400;font-size:24px;color:var(--forest);line-height:1.15;margin-bottom:10px}

.hl-item p{font-size:14.5px;opacity:.78;line-height:1.6;max-width:32ch}



.qs-band{position:relative;min-height:70vh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;color:#fff;background:var(--ink)}

.qs-band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.55) saturate(1.1);transform:scale(1.05);animation:kenburns 22s ease-in-out infinite alternate}

.qs-band .wrap{position:relative;z-index:2;padding:80px var(--gutter);max-width:880px}

.qs-band .quote-mark{font-family:var(--serif);font-style:italic;font-size:120px;line-height:.6;color:var(--blush);opacity:.7;margin-bottom:10px;display:block}

.qs-band blockquote{font-family:var(--serif);font-weight:300;font-style:italic;font-size:clamp(28px,3.8vw,48px);line-height:1.15;color:#fff;margin-bottom:24px}

.qs-band blockquote em{font-style:italic;color:var(--blush);font-weight:400}

.qs-band cite{font-style:normal;font-family:var(--logo);font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--blush);display:flex;align-items:center;justify-content:center;gap:14px}

.qs-band cite::before,.qs-band cite::after{content:"";width:28px;height:1px;background:var(--blush);opacity:.6}



.qs-plan{padding:clamp(80px,12vw,100px) var(--gutter);max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:.95fr 1.1fr;gap:clamp(40px,7vw,90px);align-items:center;background:var(--paper)}

.qs-plan .visual{position:relative;aspect-ratio:4/5;border-radius:200px 12px 12px 12px;overflow:hidden;box-shadow:0 30px 60px -25px rgba(28,33,26,.28)}

.qs-plan .visual img{width:100%;height:100%;object-fit:cover}

.qs-plan h2{font-family:var(--serif);font-weight:300;font-size:clamp(38px,5.4vw,56px);line-height:1.02;color:var(--forest);letter-spacing:-.005em;margin-bottom:22px}

.qs-plan h2 em{font-style:italic;color:var(--rose);font-weight:400}

.qs-plan .copy>p{font-size:16px;opacity:.82;margin-bottom:30px;max-width:54ch}

.steps{display:flex;flex-direction:column;gap:18px;border-top:1px solid var(--line);padding-top:20px}

.step{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:flex-start;padding:6px 0}

.step .n{font-family:var(--serif);font-style:italic;font-weight:400;font-size:34px;color:var(--rose);line-height:1;min-width:54px}

.step strong{font-family:var(--serif);font-weight:400;font-size:20px;color:var(--forest);display:block;margin-bottom:4px}

.step p{font-size:14px;opacity:.78;line-height:1.55;max-width:46ch;margin:0}



.qs-testimonial{padding:clamp(80px,12vw,100px) var(--gutter);background:var(--cream);position:relative;overflow:hidden}

.qs-testimonial::before,.qs-testimonial::after{content:"”";position:absolute;font-family:var(--serif);font-style:italic;color:var(--blush);font-size:320px;line-height:1;opacity:.5}

.qs-testimonial::before{top:30px;left:5%;transform:rotate(180deg)}

.qs-testimonial::after{bottom:-90px;right:5%}

.qs-testimonial .wrap{max-width:1040px;margin:0 auto;text-align:center;position:relative;z-index:2}

.qs-testimonial .stars{color:var(--rose);font-size:22px;letter-spacing:6px;margin-bottom:20px}

.qs-testimonial blockquote{font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(26px,3.4vw,42px);line-height:1.2;color:var(--forest);margin-bottom:32px}

.qs-testimonial blockquote span.hl{background:linear-gradient(transparent 60%,rgba(235,153,162,.4) 60%)}

.qs-testimonial cite{font-style:normal;font-family:var(--logo);font-size:13px;letter-spacing:.28em;text-transform:uppercase;color:var(--forest);display:flex;align-items:center;justify-content:center;gap:14px}

.qs-testimonial cite::before,.qs-testimonial cite::after{content:"";width:32px;height:1px;background:var(--forest);opacity:.4}



.qs-mini{padding:clamp(80px,12vw,100px) var(--gutter);max-width:var(--maxw);margin:0 auto}

.qs-mini .head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:40px;gap:24px;flex-wrap:wrap}

.qs-mini h2{font-family:var(--serif);font-weight:300;font-size:clamp(38px,5.4vw,56px);line-height:1.02;color:var(--forest)}

.qs-mini h2 em{font-style:italic;color:var(--rose)}

.mini-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}

.mini-tile{overflow:hidden;border-radius:14px;background:var(--forest);position:relative}

.mini-tile img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.2,1)}

.mini-tile:hover img{transform:scale(1.07)}

.mini-tile.tall{aspect-ratio:3/5}



/* ABOUT US SECTIONS */

.ab-story{padding:clamp(80px,12vw,120px) var(--gutter);max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(40px,8vw,120px);align-items:center;position:relative}

.ab-story::before{content:"";position:absolute;top:-40px;right:0;width:220px;height:220px;background:radial-gradient(circle,var(--blush) 0%,transparent 70%);opacity:.35;filter:blur(20px);pointer-events:none}

.ab-story h2{font-family:var(--serif);font-weight:300;font-size:clamp(38px,5.4vw,58px);line-height:1.04;letter-spacing:-.005em;margin-bottom:28px;color:var(--forest)}

.ab-story h2 em{font-style:italic;color:var(--rose);font-weight:400}

.ab-story p{font-size:17px;color:var(--ink);opacity:.85;margin-bottom:18px;max-width:56ch}

.ab-story .sig{font-family:var(--serif);font-style:italic;font-size:22px;color:var(--forest);margin-top:24px}

.ab-story .image{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:200px 200px 12px 12px}

.ab-story .image img{width:100%;height:100%;object-fit:cover}

.ab-story .image-2{position:absolute;bottom:-40px;left:-50px;width:42%;aspect-ratio:3/4;border-radius:12px;overflow:hidden;border:8px solid var(--paper);box-shadow:0 30px 60px -20px rgba(28,33,26,.28)}

.ab-story .image-2 img{width:100%;height:100%;object-fit:cover}



.ab-values{padding:clamp(80px,12vw,100px) var(--gutter);background:var(--paper-2)}

.ab-values .head{max-width:var(--maxw);margin:0 auto 56px;text-align:center}

.ab-values .head .section-label{justify-content:center;align-items: center;}

.post-content-wrap .arrow {position: relative; margin-top: 0 !important; }

.ab-values .head h2{font-family:var(--serif);font-weight:300;font-size:clamp(40px,5.8vw,58px);line-height:1;color:var(--forest);letter-spacing:-.005em;max-width:18ch;margin:0 auto}

.ab-values .head h2 em{font-style:italic;color:var(--rose);font-weight:400}

.val-grid{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:28px}

.val-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:46px 36px 42px;display:flex;flex-direction:column;gap:18px;transition:transform .35s,box-shadow .35s,border-color .35s}

.val-card:hover{transform:translateY(-6px);box-shadow:0 30px 60px -25px rgba(28,33,26,.22);border-color:var(--rose)}

.val-icon{width:56px;height:56px;border-radius:16px;background:var(--cream);color:var(--rose);display:flex;align-items:center;justify-content:center;padding:14px}

.val-icon svg{width:28px;height:28px}

.val-card h3{font-family:var(--serif);font-style:italic;font-weight:400;font-size:28px;color:var(--forest);line-height:1.1;margin-top:6px}

.val-card p{font-size:14.5px;opacity:.82;line-height:1.6}



.ab-team{padding:clamp(80px,12vw,100px) var(--gutter);max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:.95fr 1.1fr;gap:clamp(40px,7vw,90px);align-items:center;background:var(--paper)}

.ab-team .visual{position:relative;aspect-ratio:4/5;border-radius:200px 12px 12px 12px;overflow:hidden;box-shadow:0 30px 60px -25px rgba(28,33,26,.28)}

.ab-team .visual img{width:100%;height:100%;object-fit:cover}

.ab-team h2{font-family:var(--serif);font-weight:300;font-size:clamp(38px,5.4vw,56px);line-height:1.02;color:var(--forest);letter-spacing:-.005em;margin-bottom:22px}

.ab-team h2 em{font-style:italic;color:var(--rose);font-weight:400}

.ab-team p{font-size:16.5px;opacity:.82;margin-bottom:18px;max-width:54ch}

.ab-team .stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;border-top:1px solid var(--line);padding-top:28px;margin-top:24px}

.ab-team .stat-item .num{font-family:var(--serif);font-style:italic;font-size:42px;color:var(--rose);line-height:1;margin-bottom:6px}

.ab-team .stat-item span{font-family:var(--logo);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--forest);opacity:.7}



.ab-partners{padding:clamp(80px,12vw,100px) var(--gutter);max-width:var(--maxw);margin:0 auto}

.page-id-78 section.ab-partners {padding-top: 0 !important; }

.page-hero.minimal .lede a {padding-left: 9px; }

.page-hero.minimal .lede a:hover {color: var(--ink) !important;}

.ab-partners .head{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:flex-end;margin-bottom:60px}

.ab-partners .head h2{font-family:var(--serif);font-weight:300;font-size:clamp(38px,5.4vw,56px);line-height:1.02;color:var(--forest);letter-spacing:-.005em}

.ab-partners .head h2 em{font-style:italic;color:var(--rose);font-weight:400}

.ab-partners .head p{font-size:16.5px;opacity:.78;max-width:46ch}

.part-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}

.part-item{padding:32px 28px;border:1px solid var(--line);border-radius:18px;background:#fff;transition:border-color .25s,transform .25s}

.part-item:hover{border-color:var(--rose);transform:translateY(-3px)}

.part-item h4{font-family:var(--serif);font-style:italic;font-weight:400;font-size:24px;color:var(--forest);margin-bottom:8px}

.part-item p{font-size:13.5px;opacity:.75;line-height:1.55}



.ab-testimonial{padding:clamp(80px,12vw,100px) var(--gutter);background:var(--cream);position:relative;overflow:hidden}

.ab-testimonial::before,.ab-testimonial::after{content:"”";position:absolute;font-family:var(--serif);font-style:italic;color:var(--blush);font-size:320px;line-height:1;opacity:.5}

.ab-testimonial::before{top:30px;left:5%;transform:rotate(180deg)}

.ab-testimonial::after{bottom:-90px;right:5%}

.ab-testimonial .wrap{max-width:1040px;margin:0 auto;text-align:center;position:relative;z-index:2}

.ab-testimonial .stars{color:var(--rose);font-size:22px;letter-spacing:6px;margin-bottom:20px}

.ab-testimonial blockquote{font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(26px,3.4vw,42px);line-height:1.2;color:var(--forest);margin-bottom:32px}

.ab-testimonial blockquote span.hl{background:linear-gradient(transparent 60%,rgba(235,153,162,.4) 60%)}

.ab-testimonial cite{font-style:normal;font-family:var(--logo);font-size:13px;letter-spacing:.28em;text-transform:uppercase;color:var(--forest);display:flex;align-items:center;justify-content:center;gap:14px}

.ab-testimonial cite::before,.ab-testimonial cite::after{content:"";width:32px;height:1px;background:var(--forest);opacity:.4}





/* ==========================================================================

   Reviews Plugin Override (Based on strict Inspector Classes)

   ========================================================================== */

.brtpmj_reviews_container {max-width: 80%; margin: 0 auto; text-align: center; justify-content: center; display: flex; flex-direction: column; align-items: center; gap: 1rem; }

#reviews {background: var(--cream); }

.carousel-container .brtpmj_all_reviews.carousel {align-items: center !important;border:0; }

body .carousel-container .brtpmj_all_reviews.carousel .brtpmj_sr_author_overview {padding-bottom:0;margin-bottom:0;border-bottom: 0 !important; }

.brtpmj_reviews_container .brtpmj_businessheader, .brtpmj_reviews_container .brtpmj_business_ratings {display: none !important; }

.brtpmj_reviews_container .brtpmj_single_rvw {border: none !important; background: transparent !important; box-shadow: none !important; padding: 20px 80px !important; margin: 0 auto !important; display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; }

.brtpmj_reviews_container .brtpmj_single_rvw p,

.brtpmj_reviews_container .brtpmj_single_rvw div {text-align: center !important; }

.brtpmj_reviews_container .brtpmj_single_rvw p {font-style: italic !important; max-width: 900px !important; margin: 20px auto !important; font-family: var(--serif); font-weight: 300; font-size: clamp(20px, 3.4vw, 37px); line-height: 1.2; color: var(--forest); margin-bottom: 32px; }

.brtpmj_reviews_container .brtpmj_single_rvw div {text-align: left !important; }

.brtpmj_reviews_container .brtpmj_single_rvw strong,

.brtpmj_reviews_container .brtpmj_single_rvw b {font-family: var(--font-body, 'Quicksand', sans-serif) !important; font-size: 0.85rem !important; text-transform: uppercase !important; letter-spacing: 3px !important; display: block !important; margin-top: 15px !important; font-weight: 600 !important; }



/* ============================================================

   PRICING PAGE

   ============================================================ */

.pricing{padding:clamp(60px,10vw,90px) var(--gutter) clamp(40px,8vw,60px);max-width:var(--maxw);margin:0 auto}

.pkg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;align-items:stretch}

.pkg{border:1px solid var(--line);border-radius:24px;background:#fff;padding:40px 32px 38px;display:flex;flex-direction:column;gap:20px;position:relative;transition:transform .35s,box-shadow .35s,border-color .35s}

.pkg:hover{transform:translateY(-6px);box-shadow:0 30px 60px -25px rgba(28,33,26,.22);border-color:var(--rose)}

.pkg .tag{align-self:flex-start;font-family:var(--logo);font-size:11px;letter-spacing:.28em;text-transform:uppercase;background:var(--cream);color:var(--rose);padding:8px 14px;border-radius:999px}

.pkg h3{font-family:var(--serif);font-style:italic;font-weight:400;font-size:40px;color:var(--forest);line-height:1}

.pkg .price{font-family:var(--logo);font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);opacity:.7}

.pkg .price strong{font-family:var(--serif);font-style:italic;font-size:42px;color:var(--rose);font-weight:400;letter-spacing:0;text-transform:none;display:block;margin-top:4px;opacity:1}

.pkg .price strong small{font-family:var(--logo);font-style:normal;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--sage);font-weight:500;margin-left:6px;vertical-align:middle}

.pkg .blurb{font-size:14.5px;opacity:.78;line-height:1.55;max-width:36ch;margin-top:-6px}

.pkg ul{list-style:none;display:flex;flex-direction:column;gap:11px;border-top:1px solid var(--line);padding-top:20px;margin-top:6px}

.pkg li{display:flex;gap:12px;align-items:flex-start;font-size:14px;opacity:.88}

.pkg li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--sage);margin-top:7px;flex:none}

.pkg li em{font-style:italic;color:var(--rose);font-weight:500;display: contents;}

.pkg .btn{margin-top:auto;align-self:flex-start}

.pkg.featured{background:linear-gradient(180deg,var(--cream) 0%,#fff 70%);border-color:var(--rose)}

.pkg.featured::before{content:"Most loved";position:absolute;top:-14px;left:32px;background:var(--rose);color:#fff;font-family:var(--logo);font-size:11px;letter-spacing:.24em;text-transform:uppercase;padding:7px 14px;border-radius:999px}



.home .pkg .btn:hover {border: 1px solid var(--blush); }

.pkg .btn:hover {border: 1px solid var(--blush); }

.included{padding:clamp(60px,10vw,90px) var(--gutter);background:var(--paper);max-width:var(--maxw);margin:0 auto}

.included .head{text-align:center;margin-bottom:48px}

.included .head .section-label{justify-content:center}

.included h2{font-family:var(--serif);font-weight:300;font-size:clamp(38px,5.4vw,56px);line-height:1.02;color:var(--forest);letter-spacing:-.005em}

.included h2 em{font-style:italic;color:var(--rose);font-weight:400}

.inc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}

.inc-item{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:30px 26px;background:#fff;border:1px solid var(--line);border-radius:18px;transition:border-color .25s,transform .25s,box-shadow .25s}

.inc-item:hover{border-color:var(--rose);transform:translateY(-3px);box-shadow:0 18px 40px -22px rgba(28,33,26,.18)}

.inc-icon{width:48px;height:48px;border-radius:14px;background:var(--cream);color:var(--rose);display:flex;align-items:center;justify-content:center}

.inc-icon svg{width:24px;height:24px}

.inc-item h4{font-family:var(--serif);font-style:italic;font-weight:400;font-size:22px;color:var(--forest);line-height:1.1}

.inc-item p{font-size:13.5px;opacity:.7;line-height:1.5}



.addons{padding:clamp(70px,10vw,90px) var(--gutter);background:var(--paper-2);padding-bottom: 0 !important;}

.addons .head{max-width:var(--maxw);margin:0 auto 40px;display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:flex-end}

.addons h2{font-family:var(--serif);font-weight:300;font-size:clamp(38px,5.4vw,56px);line-height:1.02;color:var(--forest);letter-spacing:-.005em}

.addons h2 em{font-style:italic;color:var(--rose);font-weight:400}

.addons .head p{font-size:16.5px;opacity:.78;max-width:46ch}

.addons-grid{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}

.addon{padding:24px 22px;background:#fff;border:1px solid var(--line);border-radius:14px;display:flex;flex-direction:column;gap:8px;transition:border-color .25s,transform .25s}

.addon:hover{border-color:var(--rose);transform:translateY(-2px)}

.addon h4{font-family:var(--serif);font-style:italic;font-weight:400;font-size:20px;color:var(--forest);line-height:1.1}

.addon .price{font-family:var(--logo);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--sage);margin-top:6px}

.addon .price strong{font-family:var(--serif);font-style:italic;font-size:18px;color:var(--rose);font-weight:400;letter-spacing:0;text-transform:none;display:block;margin-top:2px}



.compare{padding:clamp(70px,10vw,90px) var(--gutter);max-width:var(--maxw);margin:0 auto}

.compare .head{text-align:center;margin-bottom:48px}

.compare .head .section-label{justify-content:center}

.compare h2{font-family:var(--serif);font-weight:300;font-size:clamp(38px,5.4vw,56px);line-height:1.02;color:var(--forest);letter-spacing:-.005em}

.compare h2 em{font-style:italic;color:var(--rose);font-weight:400}

.tbl{width:100%;border-collapse:collapse;font-family:var(--sans);background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 14px 40px -28px rgba(28,33,26,.22)}

.tbl thead th{background:var(--ink);color:var(--cream);padding:24px 16px;font-family:var(--logo);font-weight:500;font-size:12px;letter-spacing:.22em;text-transform:uppercase;text-align:center;vertical-align:middle}

.tbl thead th:first-child{text-align:left;color:var(--blush)}

.tbl thead th.featured-col{background:var(--rose)}

.tbl thead th .name{font-family:var(--serif);font-style:italic;font-size:24px;font-weight:400;letter-spacing:0;text-transform:none;display:block;margin-bottom:4px;color:#fff}

.tbl tbody td{padding:18px 16px;border-bottom:1px solid var(--line);font-size:14.5px;text-align:center;color:var(--ink);vertical-align:middle}

.tbl tbody td:first-child{text-align:left;font-family:var(--logo);font-weight:500;color:var(--forest);letter-spacing:.02em}

.tbl tbody tr:hover td{background:var(--paper-2)}

.tbl .check{width:22px;height:22px;border-radius:50%;background:var(--cream);color:var(--rose);display:inline-flex;align-items:center;justify-content:center;font-weight:700}

.tbl .dash{color:var(--line);font-weight:300}

.tbl .featured-col-body{background:rgba(235,153,162,.05)}



.faq{padding:clamp(70px,10vw,90px) var(--gutter);background:var(--paper-2)}

.faq-inner{max-width:880px;margin:0 auto}

.faq .head{text-align:center;margin-bottom:40px}

.faq .head .section-label{justify-content:center}

.faq h2{font-family:var(--serif);font-weight:300;font-size:clamp(38px,5.4vw,56px);line-height:1.02;color:var(--forest);letter-spacing:-.005em}

.faq h2 em{font-style:italic;color:var(--rose);font-weight:400}

.faq-item{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:12px;overflow:hidden;transition:border-color .25s}

.faq-item.open{border-color:var(--rose)}

.faq-q{display:flex;justify-content:space-between;align-items:center;width:100%;padding:22px 26px;font-family:var(--logo);font-weight:500;font-size:15.5px;color:var(--forest);text-align:left;background:none;border:0;cursor:pointer;gap:18px;transition:color .25s}

.faq-q:hover{color:var(--rose)}

.faq-icon{width:24px;height:24px;flex-shrink:0;position:relative}

.faq-icon::before,.faq-icon::after{content:"";position:absolute;top:50%;left:50%;background:currentColor;border-radius:2px;transition:transform .3s ease,opacity .3s ease}

.faq-icon::before{width:12px;height:1.5px;transform:translate(-50%,-50%)}

.faq-icon::after{width:1.5px;height:12px;transform:translate(-50%,-50%)}

.faq-item.open .faq-icon::after{opacity:0;transform:translate(-50%,-50%) rotate(90deg)}

.faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease,padding .25s ease;padding:0 26px}

.faq-item.open .faq-a{max-height:300px;padding-bottom:22px}

.faq-a p{font-size:14.5px;opacity:.78;line-height:1.65;text-align: left;}



/* ============================================================

   CONTACT PAGE

   ============================================================ */

.contact-sec{padding:clamp(60px,10vw,100px) var(--gutter);max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(40px,6vw,90px);align-items:start}

.contact-info{display:flex;flex-direction:column;gap:36px}

.contact-info h2{font-family:var(--serif);font-weight:300;font-size:clamp(36px,5vw,52px);line-height:1.05;color:var(--forest)}

.contact-info h2 em{font-style:italic;color:var(--rose);font-weight:400}

.contact-info .desc{font-size:16px;opacity:.8;line-height:1.6;margin-top:-10px}

.contact-details{display:flex;flex-direction:column;gap:24px;border-top:1px solid var(--line);padding-top:30px}

.det-item{display:flex;align-items:flex-start;gap:18px}

.c-form .wide .wpcf7-submit br {display: none; }

.det-icon{width:42px;height:42px;border-radius:12px;background:var(--cream);color:var(--rose);display:flex;align-items:center;justify-content:center;flex-shrink:0}

.det-icon svg{width:20px;height:20px}

.contact-details .det-item:last-of-type {display: none; }

.det-content h4{font-family:var(--logo);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--rose);margin-bottom:4px}

.det-content p,.det-content a{font-size:15px;color:var(--ink);}

.det-content a:hover{color:var(--rose) !important;}

.det-content small{display:block;margin-top:4px;font-size:12px;color:var(--sage);letter-spacing:.05em}

.map-wrap{border-radius:20px;overflow:hidden;border:1px solid var(--line);box-shadow:0 20px 40px -20px rgba(28,33,26,.15);position:relative;aspect-ratio:16/9;background:var(--paper-2);margin-top:12px}

.map-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:none}

.form-wrap{background:#fff;border:1px solid var(--line);border-radius:24px;padding:46px 42px;box-shadow:0 30px 60px -25px rgba(28,33,26,.12);position:relative;overflow:hidden}

.form-wrap h3{font-family:var(--serif);font-weight:400;font-style:italic;font-size:32px;color:var(--forest);margin-bottom:12px}

.form-wrap .intro{font-size:14.5px;opacity:.75;margin-bottom:32px;line-height:1.5}

.c-form{display:grid;grid-template-columns:1fr 1fr;gap:22px 20px}

.c-form .wide{grid-column:span 2}

.wpcf7 form .wpcf7-response-output {color: #c70909c2; }

.wpcf7 form.sent .wpcf7-response-output { color: #000; text-align: center; }

.f-group{display:flex;flex-direction:column;gap:8px}

.f-group label{font-family:var(--logo);font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--forest);opacity:.85}

.f-group input,.f-group select,.f-group textarea{font-family:var(--sans);font-size:14.5px;color:var(--ink);background:rgba(65,80,58,.04);border:1px solid rgba(65,80,58,.1);border-radius:10px;padding:14px 16px;outline:none;transition:border-color .25s,background .25s;width:100%}

.f-group input:focus,.f-group select:focus,.f-group textarea:focus{border-color:var(--rose);background:#fff}

.f-group textarea{resize:none;height:130px;line-height:1.5}

/* Fix for Form Select Arrow & Text Spacing */

.f-group select {padding-right: 42px !important; text-overflow: ellipsis; appearance: none; -webkit-appearance: none; -moz-appearance: none; background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%2341503A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important; background-repeat: no-repeat !important; background-position: right 16px center !important; background-size: 16px !important; }

.f-group select:-moz-focusring {color: transparent; text-shadow: 0 0 0 var(--ink); }

.success-overlay{position:absolute;inset:0;background:#fff;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px;opacity:0;pointer-events:none;transition:opacity .4s ease}

.success-overlay.show{opacity:1;pointer-events:auto}

.success-overlay .success-icon{width:72px;height:72px;border-radius:50%;background:var(--cream);color:var(--rose);display:flex;align-items:center;justify-content:center;margin-bottom:24px}

.success-overlay .success-icon svg{width:36px;height:36px}

.success-overlay h3{font-family:var(--serif);font-size:36px;color:var(--forest);margin-bottom:14px}

.success-overlay p{font-size:16px;opacity:.78;max-width:34ch;line-height:1.6;margin-bottom:28px}

.exp-grid .expbtn {font-size: 13px; font-weight: 500; letter-spacing: 0.5px; border-radius: 50px; background: var(--forest); color: #fff; padding: 9px;transition: background .25s,transform .25s;line-height:normal; }

.exp-card:hover .meta .expbtn {background: var(--rose); transform: translateX(4px); }



/* ============================================================

   GALLERY PAGE

   ============================================================ */

.page-hero.minimal{background:linear-gradient(180deg,var(--paper) 0%,var(--cream) 100%);min-height:45vh}

.page-hero.minimal h1 {margin-bottom: 22px;line-height: 1.2;}

.filter-bar{position:static;top:0;z-index:20;background:rgba(251,247,243,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line);padding:18px var(--gutter)}

.filter-inner{max-width:var(--maxw);margin:0 auto;display:flex;gap:8px;justify-content:center;align-items:center;flex-wrap:wrap}

.filter-inner button{font-family:var(--logo);font-weight:500;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);padding:10px 18px;border-radius:999px;background:transparent;border:1px solid var(--line);transition:background .25s,color .25s,border-color .25s,transform .25s}

.filter-inner button:hover{background:var(--cream);color:var(--rose);border-color:var(--blush);transform:translateY(-1px)}

.filter-inner button.active{background:var(--ink);color:var(--cream);border-color:var(--ink)}



.gal{padding:clamp(40px,8vw,80px) var(--gutter) clamp(80px,12vw,120px)}

.gal-inner{max-width:var(--maxw);margin:0 auto;column-count:4;column-gap:18px}

.gal-item{display:block;break-inside:avoid;margin-bottom:18px;overflow:hidden;border-radius:14px;background:var(--forest);position:relative;cursor:pointer;transition:opacity .3s,transform .3s}

.gal-item img{width:100%;height:auto;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.2,1)}

.gal-item:hover img{transform:scale(1.06)}

.gal-item::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 50%,rgba(0,0,0,.75) 100%);opacity:0;transition:opacity .3s}

.gal-item:hover::after{opacity:1}

.gal-item .cap{position:absolute;left:18px;right:18px;bottom:14px;z-index:2;color:#fff;opacity:0;transform:translateY(8px);transition:opacity .3s,transform .3s;pointer-events:none}

.gal-item:hover .cap{opacity:1;transform:translateY(0)}

.gal-item .cap small{font-family:var(--logo);font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--blush);display:block;margin-bottom:4px}

.gal-item .cap h4{font-family:var(--serif);font-style:italic;font-weight:400;font-size:18px;line-height:1.1}

.gal-item.is-hidden{display:none}



.lightbox{position:fixed;inset:0;z-index:300;background:rgba(28,33,26,.96);display:none;align-items:center;justify-content:center;padding:60px 24px;backdrop-filter:blur(6px)}

.lightbox.open{display:flex}

.lightbox img{max-width:min(1200px,92vw);max-height:84vh;border-radius:8px;box-shadow:0 30px 90px rgba(0,0,0,.5)}

.lightbox-close,.lightbox-nav{position:absolute;width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;border:1px solid rgba(255,255,255,.2);transition:background .25s;backdrop-filter:blur(6px)}

.lightbox-close:hover,.lightbox-nav:hover{background:var(--rose);border-color:var(--rose)}

.lightbox-close{top:24px;right:24px}

.lightbox-close::before,.lightbox-close::after{content:"";position:absolute;width:18px;height:1.5px;background:#fff}

.lightbox-close::before{transform:rotate(45deg)}.lightbox-close::after{transform:rotate(-45deg)}

.lightbox-nav.prev{left:24px;top:50%;transform:translateY(-50%)}

.lightbox-nav.next{right:24px;top:50%;transform:translateY(-50%)}

.lightbox-nav::before{content:"";width:10px;height:10px;border-right:1.5px solid #fff;border-top:1.5px solid #fff}

.lightbox-nav.prev::before{transform:rotate(-135deg);margin-left:4px}

.lightbox-nav.next::before{transform:rotate(45deg);margin-right:4px}



.gal-stats{background:var(--cream);padding:clamp(60px,10vw,90px) var(--gutter)}

.gal-stats-inner{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:30px;text-align:center}

.gal-stats .stat .n{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(48px,6vw,72px);color:var(--rose);line-height:1}

.gal-stats .stat .l{font-family:var(--logo);font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--forest);margin-top:12px;display:block;opacity:.78}



.gal-test{padding:clamp(80px,12vw,100px) var(--gutter);background:var(--paper-2);position:relative;overflow:hidden}

.gal-test::before,.gal-test::after{content:"”";position:absolute;font-family:var(--serif);font-style:italic;color:var(--blush);font-size:320px;line-height:1;opacity:.4}

.gal-test::before{top:30px;left:5%;transform:rotate(180deg)}.gal-test::after{bottom:-90px;right:5%}

.gal-test .wrap{max-width:1040px;margin:0 auto;text-align:center;position:relative;z-index:2}

.gal-test .section-label{justify-content:center}

.slide{display:none;animation:fadeIn .6s ease}

.slide.is-active{display:block}

@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

.slide .stars{color:var(--rose);font-size:22px;letter-spacing:6px;margin-bottom:20px}

.slide blockquote{font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(24px,3.4vw,40px);line-height:1.2;color:var(--forest);margin-bottom:32px}

.slide blockquote span.hl{background:linear-gradient(transparent 60%,rgba(235,153,162,.4) 60%)}

.slide cite{font-style:normal;font-family:var(--logo);font-size:13px;letter-spacing:.28em;text-transform:uppercase;color:var(--forest);display:flex;align-items:center;justify-content:center;gap:14px}

.slide cite::before,.slide cite::after{content:"";width:32px;height:1px;background:var(--forest);opacity:.4}

.dots{display:flex;gap:10px;justify-content:center;margin-top:24px}

.dots button{width:10px;height:10px;border-radius:50%;background:var(--blush);opacity:.5;transition:opacity .25s,transform .25s,background .25s}

.dots button.active{opacity:1;background:var(--rose);transform:scale(1.3)}



/* ============================================================

   SINGLE BLOG POST PAGE

   ============================================================ */

.post-content-wrap {padding: clamp(60px, 10vw, 100px) var(--gutter); background: var(--paper); max-width: 880px; margin: 0 auto;text-align:center; }

.post-featured-image {margin-bottom: 50px; border-radius: 18px; overflow: hidden; box-shadow: 0 30px 60px -25px rgba(28,33,26,0.2); }

.post-featured-image img {width: 100%; height: auto; object-fit: cover; display: block; }

.entry-content {font-family: var(--sans); color: var(--ink); font-size: 17px; line-height: 1.7; }

.entry-content p {margin-bottom: 24px; opacity: 0.85; }

.entry-content h2, 

.entry-content h3, 

.entry-content h4 {font-family: var(--serif); color: var(--forest); font-weight: 400; margin-top: 48px; margin-bottom: 18px; }

.entry-content h2 { font-size: clamp(32px, 4vw, 42px); line-height: 1.1; }

.entry-content h3 { font-size: clamp(26px, 3vw, 32px); line-height: 1.15; }

.entry-content ul, 

.entry-content ol {margin-bottom: 24px; padding-left: 24px; opacity: 0.85; }

.entry-content li {margin-bottom: 10px; }

.entry-content blockquote {font-family: var(--serif); font-style: italic; font-size: clamp(24px, 3.4vw, 36px); line-height: 1.25; color: var(--forest); margin: 48px 0; padding: 0 0 0 32px; border-left: 3px solid var(--rose); }

.entry-content img {max-width: 100%; height: auto; border-radius: 14px; margin: 32px 0; }



/* ============================================================

   AUTHOR ARCHIVE PAGE

   ============================================================ */

.author-grid {display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 40px 30px; }

.blog-card {display: flex; flex-direction: column; }

.blog-card-img {border-radius: 12px; overflow: hidden; margin-bottom: 20px; background: var(--forest); }

.blog-card-img img {width: 100%; height: 240px; object-fit: cover; display: block; transition: transform .6s ease; }

.blog-card:hover .blog-card-img img {transform: scale(1.04); }

.blog-card-meta {font-family: var(--logo); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--sage); margin-bottom: 10px; }

.blog-card h3 {font-family: var(--serif); font-size: 24px; font-weight: 400; line-height: 1.2; color: var(--forest); margin-bottom: 12px; }

.blog-card p {font-size: 14.5px; opacity: 0.8; line-height: 1.5; margin-bottom: 16px; flex: 1; }

.blog-card .read-more-btn {font-family: var(--logo); font-size: 11px; letter-spacing: .15em; text-transform: uppercase; font-weight: 600; color: var(--ink); display: inline-flex; align-items: center; gap: 8px; }

.blog-card .read-more-btn .arrow {width: 7px; height: 7px; border-right: 1.5px solid currentColor; border-top: 1.5px solid currentColor; transform: rotate(45deg); transition: transform .25s; }

.blog-card:hover .read-more-btn {color: var(--rose); }

.blog-card:hover .read-more-btn .arrow {transform: translate(4px, 0px) rotate(45deg); }

/* Pagination styling */

.author-pagination .page-numbers {display: inline-block; padding: 8px 16px; margin: 0 4px; border-radius: 999px; font-family: var(--logo); font-size: 13px; color: var(--ink); }

.author-pagination .page-numbers.current {background: var(--ink); color: var(--cream); }

.author-pagination a.page-numbers:hover {background: var(--cream); color: var(--rose); }

.page-id-345 #main {padding-bottom: 0 !important; padding-top: 30px !important; }



/* ============================================================

   LEGAL / POLICY PAGES (Privacy & Terms)

   ============================================================ */

.legal-page {

    background: var(--paper);

    color: var(--ink);

}



.legal-header {

    padding: clamp(60px, 10vw, 60px) var(--gutter);

    text-align: center;

    background: var(--cream);

    border-bottom: 1px solid var(--line);

}



.legal-header h1 {

    font-family: var(--serif);

    font-weight: 300;

    font-size: clamp(40px, 5vw, 64px);

    color: var(--forest);

    margin-bottom: 12px;

}



.legal-header .updated-date {

    font-family: var(--logo);

    font-size: 12px;

    letter-spacing: .15em;

    text-transform: uppercase;

    color: var(--sage);

}



.legal-content {

    padding: clamp(40px, 6vw, 80px) var(--gutter);

}



.legal-content .wrap {

    max-width: 800px;

    margin: 0 auto;

    font-size: 16px;

    line-height: 1.8;

    opacity: 0.85;

}



.legal-content .wrap h2, 

.legal-content .wrap h3 {

    font-family: var(--serif);

    color: var(--forest);

    font-weight: 400;

    margin: 40px 0 16px;

    line-height: 1.2;

}



.legal-content .wrap h2 { font-size: 32px; }

.legal-content .wrap h3 { font-size: 24px; }

.legal-content .wrap p { margin-bottom: 20px; }

.legal-content .wrap ul, 

.legal-content .wrap ol { margin-bottom: 24px; padding-left: 20px; }

.legal-content .wrap li { margin-bottom: 10px; }



.legal-content .wrap a {

    color: var(--rose);

    text-decoration: underline;

    text-underline-offset: 4px;

    display: inline-block;

    transition: color 0.2s;

}



.legal-content .wrap a:hover {

    color: var(--blush);

}



/* ============================================================

   SCROLL TO TOP BUTTON

   ============================================================ */

.scroll-top-btn {

    position: fixed;

    bottom: 30px;

    right: 30px;

    width: 48px;

    height: 48px;

    border-radius: 50%;

    background: #FFB1BA6E;

    color: #fff;

    border: none;

    cursor: pointer;

    display: flex;

    align-items: center;

    justify-content: center;

    box-shadow: 0 15px 30px -10px rgba(28,33,26,.4);

    opacity: 0;

    visibility: hidden;

    transform: translateY(20px);

    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);

    z-index: 99;

}



.scroll-top-btn.visible {

    opacity: 1;

    visibility: visible;

    transform: translateY(0);

}



.scroll-top-btn:hover {

    background: var(--forest);

    transform: translateY(-4px);

    box-shadow: 0 20px 40px -10px rgba(28,33,26,.9);

}



.scroll-top-btn svg {

    width: 22px;

    height: 22px;

}



.mobile-header-call {

    display: none;

}