
:root{
  --navy:#173d5d;
  --deep:#08283f;
  --cream:#f7f0e3;
  --paper:#fffaf0;
  --gold:#e6b315;
  --gold-soft:#f5d77e;
  --pink:#ed2c7a;
  --ink:#17354f;
  --muted:#6f7e89;
  --line:rgba(23,61,93,.13);
  --line-strong:rgba(23,61,93,.2);
  --shadow:0 24px 70px rgba(8,40,63,.10);
  --shadow-soft:0 12px 34px rgba(8,40,63,.07);
  --ease:cubic-bezier(.2,.75,.2,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'Be Vietnam Pro',sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit}
img{display:block;max-width:100%}
::selection{background:var(--gold);color:var(--deep)}
.price-grain{position:fixed;inset:0;pointer-events:none;z-index:100;opacity:.018;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitchTiles'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}

.price-topbar{position:sticky;top:0;z-index:80;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;min-height:78px;padding:10px clamp(18px,4vw,58px);background:rgba(255,250,240,.88);border-bottom:1px solid var(--line);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.price-brand{justify-self:start;display:flex;align-items:center;min-width:0}
.price-logo-shell{width:176px;height:54px;display:flex;align-items:center;justify-content:center;padding:8px 12px;border:1px solid rgba(23,61,93,.1);border-radius:16px;background:#fffdf8;box-shadow:0 8px 24px rgba(8,40,63,.07);overflow:hidden;transition:transform .28s var(--ease),box-shadow .28s ease}
.price-brand:hover .price-logo-shell{transform:translateY(-2px);box-shadow:0 13px 30px rgba(8,40,63,.11)}
.price-logo-shell img{width:100%;height:100%;object-fit:contain}
.price-nav{justify-self:center;display:flex;align-items:center;gap:30px}
.price-nav a{position:relative;padding:8px 0;color:rgba(23,53,79,.72);font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.price-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:3px;height:1px;background:var(--gold);transition:right .25s ease}
.price-nav a:hover,.price-nav a.active{color:var(--navy)}
.price-nav a:hover::after,.price-nav a.active::after{right:0}
.price-book-cta{justify-self:end;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 17px;border-radius:999px;background:var(--navy);color:var(--cream);font-size:12px;font-weight:800;box-shadow:0 9px 25px rgba(23,61,93,.18);transition:transform .25s var(--ease),background .25s ease,color .25s ease}
.price-book-cta:hover{transform:translateY(-2px);background:var(--gold);color:var(--deep)}

.pricing-hero{position:relative;overflow:hidden;background:var(--deep);color:var(--cream);padding:clamp(64px,9vw,112px) clamp(20px,6vw,84px);isolation:isolate}
.pricing-hero::before{content:"";position:absolute;width:560px;height:560px;border-radius:50%;right:-180px;top:-260px;background:radial-gradient(circle,rgba(230,179,21,.24),rgba(230,179,21,0) 68%);z-index:-1}
.pricing-hero::after{content:"CHEESE";position:absolute;right:-24px;bottom:-74px;font:600 clamp(120px,19vw,310px)/.8 'Playfair Display',serif;letter-spacing:0;color:rgba(247,240,227,.028);z-index:-1;pointer-events:none}
.pricing-hero-inner{width:min(1180px,100%);margin:auto;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(310px,.68fr);align-items:end;gap:clamp(38px,7vw,90px)}
.pricing-kicker{display:flex;align-items:center;gap:10px;font-size:10px;font-weight:800;letter-spacing:.19em;color:rgba(247,240,227,.68)}
.pricing-kicker i{width:28px;height:1px;background:var(--gold)}
.pricing-hero h1{margin:18px 0 20px;font:600 clamp(52px,7vw,92px)/.94 'Playfair Display',serif;letter-spacing:0;max-width:760px}
.pricing-hero h1 em{color:var(--gold);font-weight:600}
.pricing-hero-copy>p{margin:0;max-width:680px;color:rgba(247,240,227,.69);font-size:clamp(15px,1.5vw,18px);line-height:1.8}
.pricing-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}
.primary-action,.secondary-action{min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0 20px;border-radius:999px;font-size:12px;font-weight:800;transition:.25s var(--ease)}
.primary-action{background:var(--gold);color:var(--deep);box-shadow:0 14px 35px rgba(230,179,21,.2)}
.primary-action:hover{transform:translateY(-2px);background:#f1c12c}
.secondary-action{border:1px solid rgba(247,240,227,.28);background:rgba(247,240,227,.06);color:var(--cream)}
.secondary-action:hover{transform:translateY(-2px);background:var(--cream);color:var(--deep)}
.pricing-hero-card{position:relative;overflow:hidden;padding:24px;border:1px solid rgba(247,240,227,.16);border-radius:24px;background:linear-gradient(145deg,rgba(247,240,227,.12),rgba(247,240,227,.035));box-shadow:0 28px 70px rgba(0,0,0,.18);backdrop-filter:blur(16px)}
.hero-card-head{display:flex;align-items:center;justify-content:space-between;color:rgba(247,240,227,.56);font-size:9px;font-weight:800;letter-spacing:.18em}
.hero-card-head b{font:600 38px/1 'Playfair Display',serif;color:rgba(247,240,227,.17)}
.hero-card-price{display:flex;flex-direction:column;margin:38px 0 12px}
.hero-card-price small{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:rgba(247,240,227,.54)}
.hero-card-price strong{font-size:clamp(34px,4vw,54px);letter-spacing:0;color:var(--gold)}
.pricing-hero-card>p{margin:0;color:rgba(247,240,227,.66);font-size:13px;line-height:1.65}
.hero-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:24px}
.hero-mini-grid div{padding:13px;border:1px solid rgba(247,240,227,.1);border-radius:14px;background:rgba(8,40,63,.28)}
.hero-mini-grid b{display:block;font-size:18px;color:var(--cream)}
.hero-mini-grid span{font-size:10px;color:rgba(247,240,227,.54)}
.hero-card-star{position:absolute;right:20px;top:65px;color:var(--pink);font-size:22px}

.pricing-section{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:clamp(72px,9vw,118px) 0}
.section-heading-modern{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.6fr);gap:36px;align-items:end;margin-bottom:34px}
.section-heading-modern>div{position:relative}
.section-number{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;margin-bottom:16px;border-radius:50%;background:var(--navy);color:var(--cream);font-size:11px;font-weight:800}
.section-kicker{display:block;margin-bottom:7px;color:#7a8995;font-size:9px;font-weight:800;letter-spacing:.18em}
.section-heading-modern h2{margin:0;font:600 clamp(38px,5.4vw,62px)/.98 'Playfair Display',serif;letter-spacing:0;color:var(--navy)}
.section-heading-modern>p{margin:0;color:var(--muted);font-size:14px;line-height:1.8}

.team-price-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.team-price-row{position:relative;min-height:250px;padding:25px;border:1px solid var(--line);border-radius:22px;background:#fffdf8;box-shadow:var(--shadow-soft);overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;transition:transform .32s var(--ease),box-shadow .32s ease,border-color .32s ease}
.team-price-row::after{content:"";position:absolute;right:-65px;top:-65px;width:140px;height:140px;border-radius:50%;border:1px solid rgba(23,61,93,.07)}
.team-price-row:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:rgba(230,179,21,.42)}
.team-price-row:nth-child(1){background:var(--navy);color:var(--cream);border-color:var(--navy)}
.team-price-row:nth-child(1)::after{border-color:rgba(247,240,227,.1)}
.team-price-row:nth-child(4){background:#fff5f9;border-color:rgba(237,44,122,.16)}
.team-price-row h3{margin:0 0 10px;font:600 34px/1 'Playfair Display',serif;letter-spacing:0;color:var(--navy)}
.team-price-row:nth-child(1) h3{color:var(--cream)}
.team-price-row p{margin:0;max-width:520px;color:var(--muted);font-size:13px;line-height:1.75}
.team-price-row:nth-child(1) p{color:rgba(247,240,227,.65)}
.team-price-side{margin-top:28px;display:flex;align-items:flex-end;justify-content:space-between;gap:16px}
.team-price-side small{display:block;font-size:9px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:#8a979f}
.team-price-side strong{display:block;font-size:30px;line-height:1.3;color:var(--gold);letter-spacing:0;white-space:nowrap}
.team-price-side span{padding:7px 10px;border-radius:999px;background:rgba(23,61,93,.07);color:var(--navy);font-size:9px;font-weight:800;white-space:nowrap}
.team-price-row:nth-child(1) .team-price-side span{background:rgba(247,240,227,.11);color:var(--cream)}
.soft-alert{display:flex;align-items:flex-start;gap:11px;margin-top:14px;padding:14px 16px;border:1px solid rgba(230,179,21,.28);border-radius:14px;background:#fff8dc;color:#715d16}
.soft-alert span{flex:0 0 auto;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--gold);color:var(--deep);font-size:11px;font-weight:800}
.soft-alert p{margin:1px 0 0;font-size:12px;line-height:1.6}

.province-section{padding-top:30px}
.province-tool-card{position:relative;padding:26px;border:1px solid var(--line);border-radius:24px;background:var(--navy);color:var(--cream);box-shadow:0 30px 72px rgba(8,40,63,.16);overflow:hidden}
.province-tool-card::after{content:"✦";position:absolute;right:28px;top:24px;color:var(--gold);font-size:24px}
.province-tool-copy{max-width:700px;margin-bottom:22px}
.tool-chip{display:inline-flex;padding:6px 9px;border-radius:999px;background:rgba(230,179,21,.13);border:1px solid rgba(230,179,21,.26);color:var(--gold);font-size:8px;font-weight:800;letter-spacing:.16em}
.province-tool-copy h3{margin:13px 0 7px;font:600 28px/1.1 'Playfair Display',serif}
.province-tool-copy p{margin:0;color:rgba(247,240,227,.63);font-size:13px;line-height:1.7}
.province-calculator{display:grid;grid-template-columns:1fr 230px;gap:12px}
.field-box{display:block;padding:12px 13px;border:1px solid rgba(247,240,227,.15);border-radius:15px;background:rgba(247,240,227,.07)}
.field-box>span{display:block;margin-bottom:7px;font-size:10px;font-weight:800;color:rgba(247,240,227,.68)}
.field-box select{width:100%;height:46px;padding:0 12px;border:1px solid rgba(247,240,227,.16);border-radius:10px;background:#fffaf0;color:var(--ink);font-weight:600;outline:none}
.field-box select:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(230,179,21,.15)}
.field-box small{display:block;margin-top:6px;color:rgba(247,240,227,.46);font-size:9px}
.province-summary-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;margin-top:12px;padding:18px;border-radius:16px;background:var(--cream);color:var(--ink)}
.province-summary-card>div>small,.province-summary-price small{display:block;margin-bottom:4px;color:#82909a;font-size:8px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.province-summary-card b{font-size:15px;color:var(--navy)}
.province-summary-card p{margin:4px 0 0;max-width:650px;color:#6b7a85;font-size:11px;line-height:1.55}
.province-summary-price{text-align:right}
.province-summary-price strong{font-size:25px;color:var(--navy);letter-spacing:0;white-space:nowrap}

.province-details{margin-top:16px;border:1px solid var(--line);border-radius:20px;background:#fffdf8;box-shadow:var(--shadow-soft);overflow:hidden}
.province-details summary{list-style:none;cursor:pointer;padding:17px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid transparent;transition:background .2s ease}
.province-details[open] summary{border-bottom-color:var(--line);background:#fcf8ee}
.province-details summary::-webkit-details-marker{display:none}
.province-details summary span{display:flex;align-items:center;gap:10px}
.province-details summary b{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--navy)}
.province-details summary small{padding:5px 8px;border-radius:999px;background:#eaf0f5;color:#60768a;font-size:9px}
.province-details summary i{font-style:normal;font-size:22px;color:var(--gold);transition:transform .25s ease}
.province-details[open] summary i{transform:rotate(45deg)}
.province-table-wrap{padding:0 18px 16px}
.province-group{padding-top:15px}
.province-group-head{margin-bottom:5px;font-size:9px;font-weight:800;letter-spacing:.15em;color:#8897a2;text-transform:uppercase}
.province-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;padding:14px 0;border-top:1px solid var(--line)}
.province-row:first-of-type{border-top:0}
.province-row b{font-size:13px;color:var(--ink)}
.province-row p{margin:3px 0 0;color:#75838d;font-size:10px;line-height:1.55}
.province-fee{display:flex;align-items:center;justify-content:flex-end;color:var(--navy);font-size:12px;font-weight:800;text-align:right;white-space:nowrap}

.travel-notes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}
.travel-notes-grid article{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:start;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fffdf8}
.travel-notes-grid span{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#edf2f6;color:var(--navy);font-size:9px;font-weight:800}
.travel-notes-grid p{margin:4px 0 0;color:#667782;font-size:11px;line-height:1.55}

.pricing-bottom-cta{width:min(1180px,calc(100% - 40px));margin:0 auto 70px;padding:34px 36px;border-radius:26px;background:var(--deep);color:var(--cream);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:30px;box-shadow:0 30px 80px rgba(8,40,63,.16)}
.pricing-bottom-cta span{font-size:9px;font-weight:800;letter-spacing:.18em;color:rgba(247,240,227,.55)}
.pricing-bottom-cta h2{margin:8px 0 0;font:600 clamp(34px,5vw,58px)/.96 'Playfair Display',serif;letter-spacing:0}
.pricing-bottom-cta h2 em{color:var(--gold)}
.pricing-bottom-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.outline-action,.gold-action{min-height:48px;padding:0 18px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:11px;font-weight:800;transition:.25s var(--ease)}
.outline-action{border:1px solid rgba(247,240,227,.24);color:var(--cream)}
.outline-action:hover{background:var(--cream);color:var(--deep);transform:translateY(-2px)}
.gold-action{background:var(--gold);color:var(--deep)}
.gold-action:hover{background:#f1c12c;transform:translateY(-2px)}

.pricing-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding:28px clamp(20px,5vw,60px);border-top:1px solid var(--line);background:#fffdf8;color:#6a7a86}
.footer-wordmark{justify-self:start;width:150px}
.footer-wordmark img{width:100%;height:auto}
.pricing-footer p{margin:0;font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.pricing-footer>div{justify-self:end;display:flex;gap:18px}
.pricing-footer>div a{font-size:10px;font-weight:700;color:var(--navy)}

@media(max-width:900px){
  .price-topbar{grid-template-columns:1fr auto;gap:12px;min-height:70px;padding:8px 14px}.price-logo-shell{width:148px;height:48px}.price-nav{display:none}.price-book-cta{font-size:10px;min-height:40px;padding:0 13px}
  .pricing-hero{padding:58px 20px 66px}.pricing-hero-inner{grid-template-columns:1fr}.pricing-hero-card{max-width:520px}.pricing-hero h1{font-size:clamp(48px,12vw,72px)}
  .section-heading-modern{grid-template-columns:1fr;gap:14px}.section-heading-modern>p{max-width:680px}.team-price-list{grid-template-columns:1fr}.team-price-row{min-height:220px}
  .province-calculator{grid-template-columns:1fr}.pricing-bottom-cta{grid-template-columns:1fr;align-items:start}.pricing-bottom-actions{justify-content:flex-start}.pricing-footer{grid-template-columns:1fr;justify-items:start}.pricing-footer>div{justify-self:start}.pricing-footer p{order:3}
}
@media(max-width:620px){
  .pricing-section{width:min(100% - 28px,1180px);padding:64px 0}.section-heading-modern h2{font-size:38px}.pricing-hero::after{font-size:150px;bottom:-32px}.pricing-hero-actions{display:grid;grid-template-columns:1fr 1fr}.primary-action,.secondary-action{padding:0 12px;font-size:10px}
  .team-price-row{padding:20px;border-radius:18px}.team-price-row h3{font-size:30px}.team-price-side{align-items:flex-end}.team-price-side strong{font-size:26px}
  .province-tool-card{padding:18px;border-radius:20px}.province-tool-copy h3{font-size:24px}.province-summary-card{grid-template-columns:1fr}.province-summary-price{text-align:left}.province-summary-price strong{font-size:22px}.province-row{grid-template-columns:1fr;gap:5px}.province-fee{justify-content:flex-start;text-align:left}.travel-notes-grid{grid-template-columns:1fr}.pricing-bottom-cta{width:min(100% - 28px,1180px);margin-bottom:46px;padding:24px;border-radius:20px}.pricing-bottom-actions{display:grid;width:100%}.outline-action,.gold-action{width:100%}.pricing-footer{padding:24px 14px}.footer-wordmark{width:130px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.team-price-row,.price-book-cta,.primary-action,.secondary-action,.outline-action,.gold-action,.price-logo-shell{transition:none!important}}

.team-index{display:block;margin-bottom:14px;color:#8a979f;font-size:8px;font-weight:800;letter-spacing:.16em}.team-price-row:nth-child(1) .team-index{color:rgba(247,240,227,.48)}


/* Pricing nav with standalone Library item */
@media(min-width:901px) and (max-width:1180px){
  .price-nav{gap:18px}
  .price-nav a{font-size:10px;letter-spacing:.055em}
}
