*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
html,body{margin:0;padding:0;}
body{background:#FDFBF7;font-family:'DM Sans',system-ui,sans-serif;color:#1A1A18;-webkit-font-smoothing:antialiased;}
::selection{background:#5C6B4F;color:#FDFBF7;}
input::placeholder{color:rgba(26,26,24,0.3);}
[data-ph-light]::placeholder{color:rgba(253,251,247,0.45);}
img{max-width:100%;display:block;}

#ns-root{
  background-color:#FDFBF7;
  background-image:
    radial-gradient(130% 90% at 50% -5%, rgba(196,164,85,0.16), transparent 52%),
    radial-gradient(50% 30% at 105% 105%, rgba(92,107,79,0.02), transparent 30%),
    radial-gradient(80% 50% at -10% 60%, rgba(196,164,85,0.07), transparent 50%),
    radial-gradient(rgba(26,26,24,0.028) 0.7px, transparent 0.7px);
  background-size:auto,auto,auto,22px 22px;
}
#ns-root.ns-subpage-root{
  min-height:100vh;display:flex;flex-direction:column;
  background-image:
    radial-gradient(130% 90% at 50% -5%, rgba(196,164,85,0.16), transparent 52%),
    radial-gradient(80% 50% at -10% 60%, rgba(196,164,85,0.07), transparent 50%),
    radial-gradient(rgba(26,26,24,0.028) 0.7px, transparent 0.7px);
  background-size:auto,auto,22px 22px;
}
.ns-spacer{flex:1;}

/* ===================== animations ===================== */
@keyframes nsFade{from{opacity:0}to{opacity:1}}
@keyframes nsRevealUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes nsHeroIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

[data-step-fade]{opacity:0.06;transition:opacity .4s cubic-bezier(0.13,0.83,0.24,1);}
[data-step-fade][data-in-view]{opacity:1;}
[data-reveal]{opacity:0;}
[data-reveal][data-revealed]{animation:nsRevealUp 0.7s cubic-bezier(0.22,1,0.36,1) var(--rd,0s) both;}
[data-ns-panel]{opacity:0;}
[data-ns-panel][data-revealed]{animation:nsFade .5s ease both;}
[data-hero]{animation:nsHeroIn 1s cubic-bezier(0.22,1,0.36,1) var(--rd,0.1s) both;}

@media(prefers-reduced-motion:reduce){
  [data-hero]{animation:none!important;opacity:1!important;transform:none!important;}
  [data-step-fade]{opacity:1!important;transition:none!important;}
  [data-reveal]{opacity:1!important;animation:none!important;}
  [data-ns-panel]{opacity:1!important;animation:none!important;}
}

/* ===================== tooltip ===================== */
.ns-tip{position:relative;display:inline;cursor:default;}
.ns-tip .ns-tip-bubble{pointer-events:none;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translateX(-50%) translateY(4px);white-space:nowrap;background:#1A1A18;color:#FDFBF7;font-family:'DM Sans',sans-serif;font-size:13px;font-style:normal;font-weight:400;letter-spacing:0;line-height:1.5;padding:9px 16px;border-radius:10px;opacity:0;transition:opacity .2s ease,transform .2s ease;z-index:100;}
.ns-tip .ns-tip-bubble::after{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);border:6px solid transparent;border-top-color:#1A1A18;}
.ns-tip:hover .ns-tip-bubble{opacity:1;transform:translateX(-50%) translateY(0);}

/* ===================== nav ===================== */
.ns-nav{position:sticky;top:0;z-index:40;background:rgba(253,251,247,0.82);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(26,26,24,0.06);}
.ns-nav-grid{max-width:1180px;margin:0 auto;padding:16px clamp(20px,5vw,40px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;}
.ns-logo{display:flex;align-items:center;gap:10px;font-family:'Playfair Display',serif;font-size:25px;font-weight:500;letter-spacing:.5px;color:#1A1A18;text-decoration:none;justify-self:start;}
.ns-dot{display:inline-block;width:7px;height:7px;background:#C4A455;transform:rotate(45deg);border-radius:1px;}
.ns-nav-links{display:flex;align-items:center;gap:clamp(20px,3vw,38px);justify-self:center;}
.ns-nav-links a{font-size:13px;font-weight:500;letter-spacing:.6px;text-decoration:none;transition:color .2s ease;white-space:nowrap;color:rgba(26,26,24,0.66);}
.ns-nav-links a:hover{color:#5C6B4F;}
.ns-nav-links a.active{color:#5C6B4F;}
.ns-login{justify-self:end;white-space:nowrap;cursor:pointer;background:#EDE6D6;color:#1A1A18;border:1px solid rgba(26,26,24,0.1);padding:10px 24px;font-size:13px;font-weight:500;letter-spacing:.6px;text-decoration:none;border-radius:999px;transition:all .2s ease;}
.ns-login:hover{background:#E4DBC5;}
@media(max-width:760px){.ns-nav-links{display:none;}.ns-nav-grid{grid-template-columns:auto 1fr;}}

/* ===================== hero ===================== */
.ns-hero{position:relative;overflow-x:clip;overflow-y:visible;padding:clamp(60px,8vw,104px) clamp(20px,5vw,40px) clamp(60px,8vw,104px);text-align:center;}
.ns-hero-texture{position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:
    radial-gradient(circle at 50% 100%, transparent 29%, rgba(196,164,85,0.10) 30% 33%, transparent 34%, transparent 43%, rgba(196,164,85,0.075) 44% 47%, transparent 48%, transparent 57%, rgba(196,164,85,0.05) 58% 61%, transparent 62%),
    radial-gradient(circle at 50% 100%, transparent 29%, rgba(196,164,85,0.10) 30% 33%, transparent 34%, transparent 43%, rgba(196,164,85,0.075) 44% 47%, transparent 48%, transparent 57%, rgba(196,164,85,0.05) 58% 61%, transparent 62%);
  background-size:66px 33px,66px 33px;
  background-position:0 0,33px 16.5px;
  -webkit-mask-image:radial-gradient(130% 100% at 50% 38%, transparent 24%, #000 82%);
  mask-image:radial-gradient(130% 100% at 50% 38%, transparent 24%, #000 82%);
}
.ns-hero-photo{position:absolute;background:#fff;padding:13px 13px 46px;border-radius:4px;box-shadow:0 22px 42px -16px rgba(26,26,24,0.42),0 3px 8px rgba(26,26,24,0.14);}
.ns-hero-photo img{width:100%;aspect-ratio:1/1.06;object-fit:cover;background:#eee;}
#hero-photo-card-1{z-index:1;left:calc(50% - clamp(334px, 42.5vw + 36px, 716px));bottom:clamp(16px,3.6vw,54px);width:clamp(166px,18vw,238px);transform:rotate(-9deg);}
#hero-photo-card-2{z-index:2;left:calc(50% - clamp(220px, 36vw - 32px, 544px));bottom:clamp(2px,1.4vw,28px);width:clamp(140px,15vw,204px);padding:11px 11px 38px;transform:rotate(7deg);}
#hero-photo-card-3{z-index:1;right:calc(50% - clamp(334px, 42.5vw + 36px, 716px));bottom:clamp(14px,3.2vw,50px);width:clamp(166px,18vw,238px);transform:rotate(8deg);}
#hero-photo-card-4{z-index:2;right:calc(50% - clamp(223px, 36.2vw - 30px, 549px));bottom:clamp(0px,1.2vw,24px);width:clamp(138px,14.6vw,200px);padding:11px 11px 38px;transform:rotate(-6deg);}

.ns-hero-inner{position:relative;z-index:3;max-width:880px;margin:0 auto;display:flex;flex-direction:column;align-items:center;}
.ns-badge{--rd:0.1s;text-decoration:none;cursor:pointer;display:inline-flex;align-items:center;gap:13px;margin-bottom:clamp(30px,4vw,44px);padding:11px 22px;background:rgba(196,164,85,0.1);border:1px solid rgba(196,164,85,0.42);border-radius:999px;box-shadow:0 14px 34px -20px rgba(196,164,85,0.95);transition:all .25s ease;}
.ns-badge:hover{transform:translateY(-2px);background:rgba(196,164,85,0.18);border-color:rgba(196,164,85,0.7);box-shadow:0 20px 40px -18px rgba(196,164,85,0.95);}
.ns-badge-dot{display:inline-block;width:6px;height:6px;background:#C4A455;transform:rotate(45deg);}
.ns-badge-text{white-space:nowrap;font-size:12px;font-weight:500;letter-spacing:1.8px;text-transform:uppercase;color:#5C6B4F;}

.ns-h1{--rd:0.38s;font-family:'Playfair Display',serif;font-weight:500;font-size:clamp(38px,5.4vw,66px);line-height:1.1;letter-spacing:-1.2px;margin:0;max-width:820px;text-wrap:balance;}
.ns-h1 em{font-style:italic;color:#5C6B4F;}

.ns-step-row{--rd:0.7s;margin-top:clamp(32px,4.2vw,44px);display:inline-flex;align-items:center;}
.ns-step-word{padding:0 18px;font-family:'DM Sans',sans-serif;font-size:17px;font-weight:600;letter-spacing:1.8px;color:#5C6B4F;white-space:nowrap;display:inline-flex;align-items:center;}
.ns-step-num-wrap{position:relative;display:inline-block;overflow:hidden;height:1em;width:1ch;vertical-align:middle;margin-left:0.3em;}
.ns-step-num{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;}
.ns-step-pill{display:inline-flex;align-items:center;justify-content:center;overflow:hidden;background:#F1ECE1;border-radius:999px;padding:13px 30px;white-space:nowrap;transition:width .2s ease;}
.ns-step-pill-inner{position:relative;display:inline-block;height:1.6em;width:100%;}
.ns-step-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-weight:700;font-size:19px;color:#1A1A18;white-space:nowrap;}
.ns-cta-wrap{--rd:0.78s;margin-top:clamp(30px,4vw,40px);}
.ns-btn-primary{cursor:pointer;white-space:nowrap;background:#5C6B4F;color:#FDFBF7;border:1px solid #5C6B4F;padding:16px 42px;font-family:'DM Sans',sans-serif;font-size:13px;font-weight:500;letter-spacing:1.8px;text-transform:uppercase;border-radius:999px;box-shadow:0 18px 38px -18px rgba(92,107,79,0.8);transition:all .25s ease;}
.ns-btn-primary:hover{background:#1A1A18;border-color:#1A1A18;transform:translateY(-2px);}

@media(max-width:800px){
  .ns-hero{padding-bottom:250px;}
  #hero-photo-card-1{left:calc(50% - 280px);bottom:30px;width:150px;}
  #hero-photo-card-2{left:calc(50% - 180px);bottom:12px;width:124px;}
  #hero-photo-card-3{right:calc(50% - 280px);bottom:28px;width:150px;}
  #hero-photo-card-4{right:calc(50% - 178px);bottom:10px;width:122px;}
}
@media(max-width:560px){
  .ns-step-word{font-size:14px;padding:0 12px;}
  .ns-step-pill{padding:11px 20px;}
  .ns-step-label{font-size:16px;}
}

/* ===================== sections / panels ===================== */
section{padding:clamp(6px,1.5vw,20px) clamp(12px,3vw,30px) clamp(20px,3vw,40px);}
.ns-panel{max-width:1200px;margin:0 auto;border-radius:clamp(26px,4vw,46px);box-shadow:0 40px 90px -56px rgba(26,26,24,0.6);}

.ns-subhead{padding-top:clamp(6px,1.5vw,20px);}
.ns-subhead .ns-panel{background:#5C6B4F;padding:clamp(40px,5.5vw,64px) clamp(26px,5vw,72px);text-align:center;}
.ns-subhead-quote{font-family:'Playfair Display',serif;font-weight:500;font-size:clamp(21px,2.4vw,30px);line-height:1.4;letter-spacing:-.3px;color:#FFFFFF;margin:0;max-width:680px;margin-left:auto;margin-right:auto;}
.ns-subhead-body{font-size:clamp(15px,1.5vw,17.5px);line-height:1.65;color:#FDFBF7;margin:16px auto 0;max-width:560px;}

.ns-how .ns-panel{background:#FFFDF8;border:1px solid rgba(26,26,24,0.08);padding:clamp(44px,6vw,84px) clamp(26px,5vw,72px);}
.ns-how-head{text-align:center;margin-bottom:clamp(34px,4.5vw,56px);}
.ns-how-head h2{font-family:'Playfair Display',serif;font-weight:500;font-size:clamp(30px,4.2vw,52px);line-height:1.1;letter-spacing:-.6px;margin:0;}

.ns-step{display:grid;grid-template-columns:auto 1fr;column-gap:clamp(20px,3.5vw,40px);align-items:start;padding:clamp(26px,3.4vw,38px) 0;border-top:1px solid rgba(26,26,24,0.1);}
.ns-step:last-child{border-bottom:1px solid rgba(26,26,24,0.1);}
.ns-step-img{grid-row:1 / span 2;overflow:hidden;width:clamp(58px,7vw,76px);height:clamp(70px,8.4vw,92px);background:rgba(92,107,79,0.08);border:1px solid rgba(92,107,79,0.28);border-radius:34px 34px 15px 15px;}
.ns-step-img img{width:100%;height:100%;object-fit:cover;}
.ns-step.gold .ns-step-img{background:rgba(196,164,85,0.12);border-color:rgba(196,164,85,0.4);}
.ns-step-head{grid-column:2;}
.ns-step-eyebrow{font-family:'DM Sans',sans-serif;font-size:11px;font-weight:600;letter-spacing:2px;color:#5C6B4F;margin-bottom:6px;}
.ns-step.gold .ns-step-eyebrow{color:#C4A455;}
.ns-step-head h3{font-family:'Playfair Display',serif;font-weight:500;font-size:clamp(21px,2.5vw,29px);margin:0;letter-spacing:-.3px;}
.ns-step-body{grid-column:2;margin-top:9px;}
.ns-step-body p{font-size:clamp(14.5px,1.5vw,16.5px);line-height:1.65;color:rgba(26,26,24,0.62);margin:0;}

@media(max-width:640px){
  section{padding-left:12px;padding-right:12px;}
  .ns-step-img{grid-row:1;align-self:center;}
  .ns-step-head{align-self:center;}
  .ns-step-body{grid-column:1 / -1;margin-top:14px;}
}

.ns-approach .ns-panel{background:#F1ECE1;padding:clamp(54px,8vw,104px) clamp(24px,5vw,76px);box-shadow:none;}
.ns-approach-head{margin-bottom:clamp(24px,3.4vw,36px);max-width:640px;}
.ns-eyebrow-row{display:flex;align-items:center;gap:11px;margin-bottom:20px;}
.ns-eyebrow-dot{width:5px;height:5px;background:#C4A455;transform:rotate(45deg);}
.ns-eyebrow{font-size:11.5px;font-weight:500;letter-spacing:2.8px;text-transform:uppercase;color:#5C6B4F;}
.ns-approach-head h2{font-family:'Playfair Display',serif;font-weight:500;font-size:clamp(30px,4.2vw,52px);line-height:1.1;letter-spacing:-.6px;margin:0;}
.ns-approach-head p{font-size:clamp(15px,1.6vw,18px);line-height:1.6;color:rgba(26,26,24,0.6);margin:16px 0 0;}
.ns-approach-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.2vw,26px);}
.ns-approach-card{background:#FDFBF7;border:1px solid rgba(26,26,24,0.07);border-radius:24px;padding:clamp(28px,3vw,40px);box-shadow:0 26px 54px -40px rgba(26,26,24,0.5);transition:transform .3s ease;}
.ns-approach-card:hover{transform:translateY(-5px);}
.ns-approach-num{font-family:'Playfair Display',serif;font-style:italic;font-size:22px;color:#C4A455;margin-bottom:18px;}
.ns-approach-card h3{font-family:'Playfair Display',serif;font-weight:500;font-style:italic;font-size:clamp(23px,2.5vw,29px);line-height:1.18;letter-spacing:-.3px;margin:0 0 14px;}
.ns-approach-card p{font-size:clamp(14.5px,1.5vw,16px);line-height:1.72;color:rgba(26,26,24,0.64);margin:0;}
@media(max-width:820px){.ns-approach-grid{grid-template-columns:1fr;}}

/* ===================== apply ===================== */
.ns-apply{scroll-margin-top:90px;padding:clamp(20px,4vw,56px) clamp(12px,3vw,30px) clamp(28px,4vw,64px);}
.ns-apply .ns-panel{position:relative;overflow:hidden;color:#FDFBF7;background:#5C6B4F;padding:clamp(60px,9vw,120px) clamp(24px,5vw,60px);text-align:center;box-shadow:0 40px 90px -50px rgba(92,107,79,0.95);}
.ns-apply-glow{position:absolute;left:50%;bottom:-32%;transform:translateX(-50%);width:70%;height:70%;background:radial-gradient(closest-side, rgba(196,164,85,0.22), transparent 70%);pointer-events:none;}
.ns-apply-arch{position:absolute;left:50%;top:clamp(28px,5vw,56px);transform:translateX(-50%);width:min(70vw,360px);height:min(50vh,420px);border:1px solid rgba(253,251,247,0.18);border-bottom:none;border-radius:200px 200px 0 0;pointer-events:none;}

/* ===================== signup form ===================== */
.ns-signup{position:relative;max-width:520px;margin:0 auto;text-align:left;}
.ns-signup-close{position:absolute;top:-8px;right:-8px;cursor:pointer;background:rgba(253,251,247,0.12);border:1px solid rgba(253,251,247,0.3);color:#FDFBF7;width:32px;height:32px;border-radius:50%;font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center;}
.ns-signup h2{font-family:'Playfair Display',serif;font-weight:500;font-size:clamp(28px,4vw,40px);line-height:1.1;letter-spacing:-.6px;margin:0;color:#FDFBF7;text-align:center;}
.ns-signup-sub{font-size:clamp(16px,1.5vw,18px);font-weight:500;line-height:1.6;color:#FDFBF7;margin:22px 0 0;text-align:center;}
.ns-signup-form{margin-top:22px;}
.ns-google-btn{width:100%;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;background:rgba(253,251,247,0.06);color:#FDFBF7;border:1px solid rgba(253,251,247,0.3);padding:14px;font-family:'DM Sans',sans-serif;font-size:14px;font-weight:500;border-radius:13px;margin-bottom:16px;transition:all .2s ease;}
.ns-google-btn:hover{background:rgba(253,251,247,0.14);}
.ns-or-divider{display:flex;align-items:center;gap:12px;margin-bottom:16px;}
.ns-or-divider .line{flex:1;height:1px;background:rgba(253,251,247,0.16);}
.ns-or-divider span{font-size:11px;letter-spacing:1px;color:rgba(253,251,247,0.4);}
.ns-signup-form .ns-email-row{margin-bottom:16px;}
.ns-signup-form input[type="email"]{width:100%;border:1px solid rgba(253,251,247,0.22);background:rgba(253,251,247,0.1);padding:13px 15px;font-family:'DM Sans',sans-serif;font-size:15px;color:#FDFBF7;border-radius:13px;outline:none;transition:all .2s ease;box-sizing:border-box;}
.ns-signup-form input[type="email"]:focus{border-color:rgba(253,251,247,0.6);background:rgba(253,251,247,0.16);}
.ns-signup-error{font-size:13px;line-height:1.5;color:#F4B89A;margin:0 0 16px;text-align:center;}
.ns-signup-submit{width:100%;cursor:pointer;background:#FDFBF7;color:#1A1A18;border:1px solid #FDFBF7;padding:16px;font-family:'DM Sans',sans-serif;font-size:13px;font-weight:500;letter-spacing:1.8px;text-transform:uppercase;border-radius:999px;box-shadow:0 18px 36px -20px rgba(0,0,0,0.4);transition:all .25s ease;margin-bottom:52px;}
.ns-signup-submit:hover{background:#1A1A18;color:#FDFBF7;border-color:rgba(253,251,247,0.3);}
.ns-signup-submit:disabled{opacity:.6;cursor:default;}
.ns-signup-foot{font-size:clamp(15px,1.4vw,17px);font-weight:300;line-height:1.5;color:rgba(253,251,247,0.8);max-width:460px;margin:0 auto;text-align:center;}
.ns-signup-success{text-align:center;padding:18px 0 8px;}
.ns-signup-check{width:58px;height:58px;border-radius:999px;background:rgba(253,251,247,0.12);border:1px solid rgba(253,251,247,0.4);display:flex;align-items:center;justify-content:center;margin:0 auto 24px;font-family:'Playfair Display',serif;font-style:italic;font-size:26px;color:#FDFBF7;}
.ns-signup-success h3{font-family:'Playfair Display',serif;font-weight:500;font-size:clamp(24px,3.6vw,30px);letter-spacing:-.4px;margin:0 0 12px;color:#FDFBF7;}
.ns-signup-success p{font-size:clamp(14.5px,1.5vw,16.5px);line-height:1.6;color:rgba(253,251,247,0.6);margin:0;}
[hidden]{display:none!important;}

/* ===================== modal ===================== */
.ns-modal-overlay{position:fixed;inset:0;z-index:1000;background:rgba(26,26,24,0.6);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:20px;}
.ns-modal-box{position:relative;width:100%;max-width:480px;background:#5C6B4F;border-radius:28px;box-shadow:0 60px 120px -40px rgba(0,0,0,0.5);}
.ns-modal-scroll{max-height:90vh;overflow-y:auto;overflow-x:hidden;border-radius:28px;padding:clamp(32px,5vw,48px);}

/* ===================== newsletter tile ===================== */
.ns-newsletter{padding:0 clamp(12px,3vw,30px) clamp(28px,4vw,64px);}
.ns-newsletter .ns-panel{background:#F1ECE1;border:1px solid rgba(26,26,24,0.08);padding:clamp(44px,6vw,84px) clamp(26px,5vw,72px);box-shadow:none;}
.ns-newsletter h3{font-family:'Playfair Display',serif;font-weight:500;font-size:clamp(28px,3.6vw,40px);letter-spacing:-.4px;margin:0 0 clamp(34px,4.5vw,56px);text-align:center;}
.ns-newsletter-cols{display:flex;flex-wrap:wrap;gap:20px;}
.ns-ig-card{flex:1 1 340px;background:#5C6B4F;color:#FDFBF7;border-radius:clamp(18px,2.2vw,24px);padding:32px 28px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.ns-ig-card p{font-family:'Playfair Display',serif;font-weight:500;font-size:24px;color:#FDFBF7;margin:0 0 20px;text-align:center;}
.ns-ig-avatar{width:68px;height:68px;margin-bottom:28px;border-radius:50%;background:radial-gradient(circle at 35% 30%, rgba(253,251,247,0.35), rgba(253,251,247,0.1));border:1px solid rgba(253,251,247,0.3);}
.ns-ig-card a{font-family:'DM Sans',sans-serif;font-weight:500;font-size:24px;color:#FDFBF7;text-decoration:none;transition:opacity .2s ease;}
.ns-ig-card a:hover{opacity:0.75;}
.ns-nl-card{flex:1 1 340px;background:#FDFBF7;border:1px solid rgba(26,26,24,0.08);border-radius:clamp(18px,2.2vw,24px);padding:32px 28px;display:flex;flex-direction:column;justify-content:center;}
.ns-nl-card h4{font-family:'Playfair Display',serif;font-weight:500;font-size:24px;color:#1A1A18;margin:0 0 6px;text-align:center;}
.ns-nl-card p{font-size:15px;line-height:1.5;color:rgba(26,26,24,0.6);margin:0 0 18px;text-align:center;}
.ns-nl-card .ns-nl-thanks{font-size:15px;color:#1A1A18;margin:0;text-align:center;}
.ns-nl-form{display:flex;flex-direction:column;gap:10px;}
.ns-nl-form input[type="email"]{width:100%;border:1px solid rgba(26,26,24,0.14);background:#FDFBF7;padding:12px 16px;font-family:'DM Sans',sans-serif;font-size:15px;color:#1A1A18;border-radius:999px;outline:none;transition:all .2s ease;box-sizing:border-box;}
.ns-nl-form input[type="email"]:focus{border-color:rgba(92,107,79,0.5);}
.ns-nl-form button{width:100%;cursor:pointer;background:#5C6B4F;color:#FDFBF7;border:1px solid #5C6B4F;padding:12px 20px;font-family:'DM Sans',sans-serif;font-size:12.5px;font-weight:500;letter-spacing:1.2px;text-transform:uppercase;border-radius:999px;transition:all .2s ease;}
.ns-nl-form button:hover{background:#1A1A18;border-color:#1A1A18;}

/* ===================== footer ===================== */
.ns-footer{padding:clamp(8px,2vw,24px) clamp(12px,3vw,30px) clamp(20px,3vw,36px);}
.ns-footer-box{max-width:1200px;margin:0 auto;background:#1A1A18;color:#FDFBF7;border-radius:clamp(24px,3.5vw,40px);padding:clamp(28px,4vw,44px) clamp(24px,5vw,64px);}
.ns-footer-grid{display:grid;grid-template-columns:1fr 340px;gap:28px;align-items:center;}
.ns-footer-logo{display:flex;align-items:center;gap:10px;font-family:'Playfair Display',serif;font-size:30px;font-weight:500;margin-bottom:14px;}
.ns-footer-desc{font-size:14.5px;line-height:1.65;color:rgba(253,251,247,0.55);margin:0 0 20px;max-width:380px;}
.ns-footer-ig{display:flex;align-items:center;gap:9px;color:rgba(253,251,247,0.7);text-decoration:none;font-size:13.5px;letter-spacing:.3px;transition:color .2s ease;width:fit-content;margin-bottom:20px;}
.ns-footer-ig:hover{color:#FDFBF7;}
.ns-footer-ig .ns-eyebrow-dot{flex:0 0 auto;}
.ns-footer-copy{font-size:12.5px;letter-spacing:.4px;color:rgba(253,251,247,0.4);}
.ns-footer-right{display:flex;flex-direction:column;gap:12px;width:340px;}
.ns-btn-outline{display:block;cursor:pointer;white-space:nowrap;background:transparent;border:1px solid rgba(253,251,247,0.4);color:#FDFBF7;padding:13px 32px;font-family:'DM Sans',sans-serif;font-size:12px;font-weight:500;letter-spacing:1.6px;text-transform:uppercase;border-radius:999px;transition:all .25s ease;text-align:center;text-decoration:none;box-sizing:border-box;}
.ns-btn-outline:hover{background:#5C6B4F;color:#FDFBF7;border-color:#5C6B4F;}
.ns-footer-or{display:flex;align-items:center;gap:10px;margin:2px 0;}
.ns-footer-or .line{flex:1;height:1px;background:rgba(253,251,247,0.16);}
.ns-footer-or span{font-family:'Playfair Display',serif;font-style:italic;font-size:13px;color:rgba(253,251,247,0.45);}
.ns-footer-thanks{font-size:13.5px;color:#FDFBF7;}
.ns-footer-nl-form{display:flex;gap:8px;}
.ns-footer-nl-form input[type="email"]{flex:1 1 auto;min-width:0;border:1px solid rgba(253,251,247,0.22);background:rgba(253,251,247,0.08);padding:10px 15px;font-family:'DM Sans',sans-serif;font-size:13.5px;color:#FDFBF7;border-radius:999px;outline:none;transition:all .2s ease;box-sizing:border-box;}
.ns-footer-nl-form input[type="email"]:focus{border-color:rgba(253,251,247,0.6);background:rgba(253,251,247,0.14);}
.ns-footer-nl-form button{flex:0 0 auto;cursor:pointer;white-space:nowrap;background:transparent;color:#FDFBF7;border:1px solid rgba(253,251,247,0.4);padding:10px 22px;font-family:'DM Sans',sans-serif;font-size:11.5px;font-weight:500;letter-spacing:1.2px;text-transform:uppercase;border-radius:999px;transition:all .2s ease;}
.ns-footer-nl-form button:hover{background:#FDFBF7;color:#1A1A18;border-color:#FDFBF7;}
@media(max-width:760px){
  .ns-footer-grid{grid-template-columns:1fr;}
  .ns-footer-right{width:100%;max-width:420px;}
}

/* ===================== subpage header ===================== */
.ns-page-hero{padding:clamp(56px,8vw,104px) clamp(16px,4vw,30px) clamp(20px,3vw,32px);text-align:center;}
.ns-eyebrow-row.center{justify-content:center;margin-bottom:22px;}
.ns-page-hero h1{font-family:'Playfair Display',serif;font-weight:500;font-size:clamp(38px,6vw,72px);line-height:1.06;letter-spacing:-1px;margin:0;max-width:900px;margin-left:auto;margin-right:auto;}
.ns-page-hero p{font-size:clamp(16px,1.7vw,19px);line-height:1.65;color:rgba(26,26,24,0.6);max-width:560px;margin:22px auto 0;}

/* ===================== FAQ ===================== */
.ns-faq-section{padding:clamp(20px,3vw,40px) clamp(16px,4vw,30px) clamp(40px,6vw,72px);}
.ns-faq-list{display:flex;flex-direction:column;max-width:780px;margin:0 auto;}
.ns-faq-item{padding:clamp(24px,3vw,32px) 0;border-top:1px solid rgba(26,26,24,0.12);}
.ns-faq-item:last-child{border-bottom:1px solid rgba(26,26,24,0.12);}
.ns-faq-item h3{font-family:'Playfair Display',serif;font-weight:500;font-size:clamp(20px,2.4vw,26px);margin:0 0 11px;letter-spacing:-.3px;}
.ns-faq-item p{font-size:clamp(14.5px,1.5vw,16.5px);line-height:1.72;color:rgba(26,26,24,0.64);margin:0;}

.ns-ask-section{padding:clamp(20px,3vw,40px) clamp(16px,4vw,30px) clamp(48px,7vw,88px);}
.ns-ask-panel{max-width:780px;margin:0 auto;background:#FDFBF7;border:1px solid rgba(196,164,85,0.4);border-radius:clamp(20px,3vw,28px);padding:clamp(30px,4vw,52px);box-shadow:0 30px 64px -46px rgba(26,26,24,0.5);}
.ns-ask-panel h2{font-family:'Playfair Display',serif;font-weight:500;font-size:clamp(26px,3.4vw,40px);line-height:1.1;letter-spacing:-.5px;margin:0 0 12px;}
.ns-ask-panel>p{font-size:clamp(15px,1.6vw,17px);line-height:1.65;color:rgba(26,26,24,0.6);margin:0 0 clamp(24px,3vw,32px);max-width:520px;}
.ns-ask-form{display:flex;flex-direction:column;gap:16px;}
.ns-ask-field{display:flex;flex-direction:column;gap:7px;}
.ns-ask-field label{font-size:12px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:#5C6B4F;}
.ns-ask-field input,.ns-ask-field textarea{font-family:'DM Sans',sans-serif;font-size:15px;color:#1A1A18;background:#F2EEE5;border:1px solid rgba(26,26,24,0.14);border-radius:12px;padding:14px 16px;outline:none;transition:border-color .2s ease;}
.ns-ask-field textarea{line-height:1.6;resize:vertical;}
.ns-ask-field input:focus,.ns-ask-field textarea:focus{border-color:#5C6B4F;}
.ns-ask-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:4px;}
.ns-ask-actions button{cursor:pointer;white-space:nowrap;background:#5C6B4F;color:#FDFBF7;border:1px solid #5C6B4F;padding:14px 34px;font-family:'DM Sans',sans-serif;font-size:12px;font-weight:600;letter-spacing:1.6px;text-transform:uppercase;border-radius:999px;transition:all .25s ease;}
.ns-ask-actions button:hover{background:#4a5740;border-color:#4a5740;}
.ns-ask-sent{font-size:14px;color:#5C6B4F;font-weight:500;}

/* ===================== Our Story ===================== */
.ns-story-section{padding:clamp(20px,3vw,40px) clamp(16px,4vw,30px) clamp(20px,3vw,32px);}
.ns-story-panel{position:relative;overflow:hidden;max-width:1000px;margin:0 auto;background:#1A1A18;color:#FDFBF7;border-radius:clamp(26px,4vw,46px);padding:clamp(54px,8vw,100px) clamp(26px,5vw,76px);box-shadow:0 40px 90px -50px rgba(26,26,24,0.9);}
.ns-story-glow{position:absolute;left:50%;top:-10%;transform:translateX(-50%);width:80%;height:60%;background:radial-gradient(closest-side, rgba(196,164,85,0.14), transparent 70%);pointer-events:none;}
.ns-story-inner{position:relative;max-width:680px;margin:0 auto;text-align:center;}
.ns-story-inner h2{font-family:'Playfair Display',serif;font-weight:500;font-size:clamp(26px,4vw,44px);line-height:1.16;letter-spacing:-.5px;margin:0 0 24px;}
.ns-story-inner p{font-size:clamp(15px,1.6vw,18px);line-height:1.78;color:rgba(253,251,247,0.74);margin:0 0 18px;}
.ns-story-inner p:last-child{margin-bottom:0;}

.ns-founder-section{padding:clamp(20px,3vw,40px) clamp(16px,4vw,30px) clamp(20px,3vw,32px);}
.ns-founder{max-width:1000px;margin:0 auto;display:flex;gap:clamp(28px,4vw,56px);align-items:center;flex-wrap:wrap;}
.ns-founder-photo{flex:0 0 auto;margin:0 auto;overflow:hidden;width:clamp(140px,16vw,180px);aspect-ratio:1;border-radius:999px;border:1px solid rgba(196,164,85,0.45);box-shadow:0 36px 72px -48px rgba(26,26,24,0.5);background:radial-gradient(circle at 35% 30%, rgba(196,164,85,0.2), rgba(196,164,85,0.05));}
.ns-founder-text{flex:1 1 320px;min-width:0;}
.ns-founder-text h2{font-family:'Playfair Display',serif;font-weight:500;font-size:clamp(26px,3.6vw,40px);line-height:1.14;letter-spacing:-.5px;margin:0 0 16px;}
.ns-founder-text p{font-size:clamp(15px,1.6vw,17.5px);line-height:1.75;color:rgba(26,26,24,0.66);margin:0;}

.ns-team-section{padding:clamp(20px,3vw,40px) clamp(16px,4vw,30px) clamp(40px,6vw,72px);}
.ns-team-inner{max-width:1000px;margin:0 auto;}
.ns-team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:clamp(24px,3vw,40px);}
.ns-team-card{text-align:center;}
.ns-team-photo{overflow:hidden;width:clamp(120px,13vw,150px);aspect-ratio:1;border-radius:999px;border:1px solid rgba(196,164,85,0.45);background:radial-gradient(circle at 35% 30%, rgba(196,164,85,0.2), rgba(196,164,85,0.05));margin:0 auto 18px;}
.ns-team-card h3{font-family:'Playfair Display',serif;font-weight:500;font-size:clamp(19px,2vw,23px);letter-spacing:-.3px;margin:0 0 5px;}
.ns-team-card .ns-team-role{font-size:13px;font-weight:500;letter-spacing:.4px;color:#5C6B4F;margin:0 0 12px;}
.ns-team-card .ns-team-bio{font-size:clamp(14px,1.5vw,15px);line-height:1.65;color:rgba(26,26,24,0.6);margin:0 auto;max-width:280px;}
@media(max-width:680px){.ns-team-grid{grid-template-columns:1fr;}}

/* ===================== Pricing ===================== */
.ns-price-section{padding:clamp(20px,3vw,40px) clamp(16px,4vw,30px) clamp(40px,6vw,72px);}
.ns-price-card{max-width:440px;margin:0 auto;background:#FDFBF7;border:1px solid rgba(196,164,85,0.4);border-radius:28px;padding:clamp(40px,5vw,56px) clamp(28px,4vw,48px);box-shadow:0 32px 64px -44px rgba(26,26,24,0.55);text-align:center;}
.ns-price-figure{position:relative;display:inline-block;margin-bottom:14px;}
.ns-price-was{position:absolute;left:-34px;top:-26px;font-family:'Playfair Display',serif;font-style:italic;font-size:clamp(30px,4vw,40px);color:rgba(26,26,24,0.42);text-decoration:line-through;text-decoration-thickness:2px;transform:rotate(-8deg);}
.ns-price-now{font-family:'Playfair Display',serif;font-weight:600;font-size:clamp(64px,9vw,92px);line-height:1;letter-spacing:-2px;color:#5C6B4F;}
.ns-price-tag{display:block;font-size:11px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;color:#5C6B4F;margin-top:8px;}
.ns-price-per{font-size:13px;font-weight:500;letter-spacing:1.6px;text-transform:uppercase;color:rgba(26,26,24,0.5);margin:0 0 28px;}
.ns-price-features{display:flex;flex-direction:column;gap:14px;text-align:left;max-width:300px;margin:0 auto 30px;}
.ns-price-feature{display:flex;align-items:flex-start;gap:11px;}
.ns-price-feature .dot{flex:0 0 auto;width:6px;height:6px;background:#C4A455;transform:rotate(45deg);margin-top:7px;}
.ns-price-feature span:last-child{font-size:15px;line-height:1.55;color:rgba(26,26,24,0.7);}
.ns-price-footnote{text-align:center;font-size:13.5px;color:rgba(26,26,24,0.45);margin:24px auto 0;max-width:420px;}
