/* North / Form — original Vastyro Launch Business starter.
 * Native WordPress blocks; no scripts, web fonts, remote assets or page builder.
 * Copyright (c) PluginPip Ltd.
 */

/* Opt-in site scope, added to the body only for North / Form starter content. */
body.vastyro-launch-demo{--nf-ink:#172a27;--nf-muted:#63716b;--nf-paper:#f7f6f1;--nf-sand:#ebe8df;--nf-orange:#e86b44;--nf-green:#264e40;--nf-lime:#e3edab;background:var(--nf-paper);color:var(--nf-ink);font-family:Arial,"Helvetica Neue",Helvetica,sans-serif}
.vastyro-launch-demo .vastyro-header{background:#f7f6f1!important;border-bottom:1px solid #dddcd3;box-shadow:none}
.vastyro-launch-demo .vastyro-header .wp-block-site-title{font-family:Arial,"Helvetica Neue",sans-serif;font-size:20px;font-weight:900;letter-spacing:-.065em}
.vastyro-launch-demo .vastyro-header .wp-block-site-title a{color:var(--nf-ink);text-decoration:none}
.vastyro-launch-demo .vastyro-header .wp-block-navigation a{color:var(--nf-ink);font-size:13px;font-weight:750}
.vastyro-launch-demo .vastyro-header .wp-block-navigation-item__content:hover{background:#e8ebdc;color:var(--nf-ink)}
.vastyro-launch-demo .vastyro-footer{background:#172a27!important;color:#f8f6ed;border-top:0;margin-top:0!important;padding-block:42px!important}
.vastyro-launch-demo .vastyro-footer .wp-block-site-title a,.vastyro-launch-demo .vastyro-footer .wp-block-site-tagline,.vastyro-launch-demo .vastyro-footer p{color:#f7f6ed!important}
.vastyro-launch-demo .vastyro-footer .wp-block-site-title{font-weight:850;letter-spacing:-.045em}
.vastyro-launch-demo :where(.wp-site-blocks,.wp-block-post-content) > .wp-block-group{margin-block-start:0}

.nf-site{background:var(--nf-paper);color:var(--nf-ink);overflow:hidden;margin:0!important;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;line-height:1.6;--wp--preset--color--brand:var(--nf-green);--wp--preset--color--brand-strong:var(--nf-green)}
.nf-site,.nf-site *, .nf-site *:before,.nf-site *:after{box-sizing:border-box}
.nf-site :where(.wp-block-group){margin-block-start:0}
.nf-site :where(h1,h2,h3,p){margin:0}
.nf-site a{color:inherit;text-decoration:none}
.nf-site a:focus-visible{outline:3px solid var(--nf-orange);outline-offset:4px}
.nf-shell{width:min(100% - 80px,1320px)!important;max-width:1320px!important;margin-inline:auto!important}
.nf-section{padding-block:clamp(78px,9vw,142px)}
.nf-kicker{font-size:11px;font-weight:860;letter-spacing:.17em;text-transform:uppercase;color:#557165;line-height:1.4}
.nf-h2{font-size:clamp(44px,5.8vw,86px);line-height:1.01;font-weight:750;letter-spacing:-.078em;color:var(--nf-ink);max-width:950px}
.nf-h2 em,.nf-display em,.nf-page-title em,.nf-about-copy .nf-h2 em,.nf-statement-title em,.nf-contact-title em,.nf-cta-title em{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-weight:450;letter-spacing:-.066em}
.nf-section-heading{display:flex;flex-direction:column;align-items:flex-start;gap:23px;margin-bottom:clamp(42px,5vw,80px)}
.nf-intro{max-width:590px;font-size:clamp(17px,1.5vw,20px);line-height:1.67;color:#5b6964}
.nf-h3{font-size:clamp(23px,2.3vw,34px);font-weight:750;line-height:1.1;letter-spacing:-.055em;color:inherit}
.nf-number{font-size:12px;font-weight:850;letter-spacing:.11em;line-height:1.4}
.nf-description{font-size:15px;line-height:1.75;color:#5d6762}
.nf-small{font-size:12px;color:#71827c}
.nf-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0}
.nf-actions .wp-block-button .wp-block-button__link{font-size:14px;font-weight:770;line-height:1.2;letter-spacing:-.01em;text-decoration:none;padding:17px 25px;border-radius:100px;transition:transform .2s ease,background-color .2s ease}
.nf-actions .wp-block-button .wp-block-button__link:hover{transform:translateY(-2px)}
.nf-actions .nf-btn--dark .wp-block-button__link{background:var(--nf-ink)!important;color:#fff!important}
.nf-actions .nf-btn--dark .wp-block-button__link:hover{background:var(--nf-green)!important}
.nf-actions .nf-btn--text .wp-block-button__link{background:transparent!important;color:var(--nf-ink)!important;border:1px solid #c6d2c9;padding-inline:24px;box-shadow:none}
.nf-actions .nf-btn--light .wp-block-button__link{background:#e7eebd!important;color:#132520!important}
.nf-actions .nf-btn--light .wp-block-button__link:hover{background:#fff!important}

/* Editorial homepage hero with authored graphical brand study. */
.nf-hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(36px,6vw,96px);align-items:center;padding-block:70px 80px}
.nf-hero-copy{min-width:0;display:flex;align-items:flex-start;flex-direction:column;gap:30px}
.nf-display{font-size:clamp(67px,6.8vw,112px);font-weight:770;line-height:.98;letter-spacing:-.088em;max-width:850px;color:var(--nf-ink)}
.nf-display em{color:var(--nf-orange)}
.nf-hero-lead{font-size:clamp(19px,1.55vw,23px);line-height:1.58;max-width:530px;color:#5e6c65}
.nf-hero-note{font-size:11px;color:#8b948a;letter-spacing:.03em}
.nf-hero-art{position:relative;min-width:0;min-height:545px;background:#254b3e;overflow:hidden;border-radius:3px;isolation:isolate;box-shadow:25px 25px 0 #e3e2d5}
.nf-hero-art:before{position:absolute;content:"";width:450px;height:450px;right:-75px;top:22px;border-radius:50%;background:#e7a66a;transform:rotate(-24deg);z-index:-1}
.nf-hero-art:after{position:absolute;content:"";height:500px;width:500px;border:1px solid #f3e1c582;top:-245px;right:-205px;border-radius:50%;box-shadow:0 0 0 38px #ffffff08,0 0 0 85px #ffffff07;z-index:-1}
.nf-hero-art__inside{display:flex;align-items:flex-start;flex-direction:column;justify-content:space-between;min-height:545px;padding:35px 38px}
.nf-art-top{font-size:11px;letter-spacing:.21em;font-weight:850;color:#e7ead5}
.nf-art-display{font-family:Georgia,"Times New Roman",serif;font-size:clamp(68px,7vw,114px);letter-spacing:-.092em;color:#fff9e9;line-height:.89;font-weight:400;position:relative;z-index:1}
.nf-art-display em{font-style:italic;color:#eff3b4}
.nf-art-brand{position:absolute;right:34px;bottom:80px;font-size:15px;font-weight:900;letter-spacing:-.04em;color:#ecf2da;z-index:1}
.nf-art-bottom{font-size:11px;color:#dfe8d3;letter-spacing:.04em;border-top:1px solid #fffffa50;padding-top:18px;width:100%}
.nf-ticker{padding:17px 0;background:#dfe9b4;text-align:center}
.nf-ticker-text{font-size:11px;letter-spacing:.17em;font-weight:850;color:#254736;word-spacing:.8em}
.nf-ticker-text span{color:#a05b3c;padding-inline:17px;word-spacing:0}

/* Capability cards and conceptual brand artwork. */
.nf-offer .nf-section-heading{max-width:980px}
.nf-service-grid,.nf-process-grid,.nf-faq-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.nf-service{padding:clamp(24px,3vw,43px);min-height:330px;background:#eeeee5;border:1px solid #dadfd5;display:flex;flex-direction:column;align-items:flex-start;gap:25px;transition:background-color .2s ease,transform .2s ease}
.nf-service:nth-child(2){background:#e5eadb}
.nf-service:nth-child(3){background:#e9e9e2}
.nf-service:hover{transform:translateY(-4px);background:#e1eacb}
.nf-service .nf-h3{max-width:280px}
.nf-service .nf-description{max-width:280px}
.nf-tag{font-size:10px;font-weight:820;letter-spacing:.12em;color:#4d6759;line-height:1.5;margin-top:auto!important}
.nf-section-link{font-size:15px;font-weight:760;margin-top:34px!important}
.nf-section-link a{border-bottom:1px solid #6e8174;padding-bottom:6px}
.nf-section-link span{padding-left:17px}
.nf-work{background:#f0efe8}
.nf-work .nf-shell{padding:0}
.nf-work-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px}
.nf-project{min-width:0}
.nf-project-art{display:flex;flex-direction:column;justify-content:space-between;min-height:460px;padding:32px;position:relative;isolation:isolate;overflow:hidden}
.nf-project-art:before,.nf-project-art:after{position:absolute;content:"";z-index:-1;pointer-events:none}
.nf-project--green .nf-project-art{background:#dce8b7;color:#1b513e}
.nf-project--green .nf-project-art:before{width:460px;height:460px;border-radius:50%;left:27%;top:13%;background:#40755b;box-shadow:0 0 0 22px #e3e8be,0 0 0 51px #7aa17a55}
.nf-project--green .nf-project-art:after{width:240px;height:240px;border:2px solid #e5f0a5;border-radius:50%;right:-70px;bottom:-80px}
.nf-project--orange .nf-project-art{background:#e6bba5;color:#66392f}
.nf-project--orange .nf-project-art:before{height:490px;width:280px;right:18%;top:-10%;background:#c46b4c;transform:rotate(28deg);border-radius:140px 140px 0 0}
.nf-project--orange .nf-project-art:after{height:310px;width:310px;left:-90px;bottom:-100px;border:36px solid #fbe8d0;border-radius:50%}
.nf-project-serial,.nf-art-caption{font-size:11px;font-weight:850;letter-spacing:.16em;z-index:1}
.nf-art-title{font-family:Georgia,"Times New Roman",serif;font-size:clamp(50px,5.4vw,88px);line-height:.91;letter-spacing:-.07em;color:#f8f6e5;position:relative;z-index:1;text-align:center;align-self:center;text-shadow:0 1px 20px #344f3a20}
.nf-project-info{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-top:20px}
.nf-project-title{display:flex;flex-direction:column;gap:5px}
.nf-project-title .nf-h3{font-size:25px}
.nf-project-arrow{font-size:26px;color:#526b5e}
.nf-footnote{font-size:12px;color:#7d8a82;margin-top:24px!important}
.nf-principles .nf-section-heading{max-width:900px}
.nf-process-step{border-top:1px solid #adbdb0;padding:28px 17px 0 0;min-height:225px;display:flex;flex-direction:column;align-items:flex-start;gap:17px}
.nf-process-step .nf-h3{font-size:27px}
.nf-process-step .nf-description{max-width:340px}

/* Full-width conversion panel, native WordPress button. */
.nf-cta{background:#254d40;color:#f9f8ec;border-radius:2px;padding:clamp(48px,6vw,95px);margin-top:5px!important;margin-bottom:0!important;position:relative;isolation:isolate;overflow:hidden}
.nf-cta:before{content:"";position:absolute;width:360px;height:360px;background:#b4ca84;right:-150px;top:-220px;border-radius:50%;opacity:.34;z-index:-1}
.nf-cta-copy{display:flex;flex-direction:column;gap:24px;align-items:flex-start}
.nf-cta .nf-kicker{color:#d8edb4}
.nf-cta-title{font-size:clamp(44px,6vw,91px);line-height:1.04;letter-spacing:-.08em;color:#f8f7e9;max-width:900px}
.nf-cta-desc{font-size:18px;color:#d7e0d2;max-width:620px;line-height:1.6}
.nf-cta .nf-actions{margin-top:5px}
.nf-demo-disclaimer{text-align:center;font-size:10px;font-weight:720;letter-spacing:.12em;color:#84918a;margin-block:45px 35px!important}

/* Full editorial inner pages; no generic duplicated WordPress page title. */
.nf-page-hero{padding-block:clamp(76px,10vw,160px) clamp(72px,9vw,134px);display:flex;flex-direction:column;align-items:flex-start;gap:28px}
.nf-page-title{font-size:clamp(66px,8.8vw,144px);line-height:.91;letter-spacing:-.084em;font-weight:755;max-width:1240px;color:var(--nf-ink)}
.nf-page-title em{color:var(--nf-orange)}
.nf-page-lead{max-width:740px;font-size:clamp(19px,2vw,27px);line-height:1.5;color:#68776d}
.nf-page--services .nf-page-hero{background:transparent}
.nf-page--services>.nf-section:not(.nf-page-hero){padding-top:55px}
.nf-service-statement{background:#dce7ce;padding-block:clamp(85px,10vw,150px);overflow:hidden;position:relative}
.nf-service-statement:after{content:"";position:absolute;width:500px;height:500px;right:-140px;bottom:-290px;border-radius:50%;border:100px solid #b6d09f88;pointer-events:none}
.nf-service-statement__inner{display:flex;flex-direction:column;gap:35px;align-items:flex-start}
.nf-statement-title{font-size:clamp(45px,7vw,103px);letter-spacing:-.08em;line-height:.98;color:#244939}
.nf-statement-text{max-width:680px;font-size:20px;line-height:1.65;color:#465d4d}

/* About: brutalist editorial art, not a fictional photo or false credentials. */
.nf-about-editorial{background:#e7e8dd;padding-block:75px}
.nf-about-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(50px,8vw,135px);align-items:center}
.nf-about-art{background:#d0dfab;position:relative;min-height:600px;padding:38px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;color:#25503f}
.nf-about-art:before{content:"";position:absolute;width:430px;height:430px;right:-105px;top:105px;background:#e99e78;border-radius:50%;mix-blend-mode:multiply;opacity:.85}
.nf-about-art:after{content:"";position:absolute;width:400px;height:400px;left:-160px;bottom:-195px;border:60px solid #2b5b48;border-radius:50%}
.nf-about-art__serial,.nf-about-art__footer{font-size:12px;font-weight:870;letter-spacing:.14em;z-index:1}
.nf-about-art__title{font-family:Georgia,"Times New Roman",serif;font-size:clamp(70px,7vw,112px);font-weight:400;line-height:.93;letter-spacing:-.09em;z-index:1;color:#fdf9e7}
.nf-about-copy{display:flex;flex-direction:column;align-items:flex-start;gap:28px}
.nf-about-copy .nf-h2{font-size:clamp(48px,5.5vw,83px)}
.nf-copy{font-size:17px;line-height:1.8;color:#59685d;max-width:560px}
.nf-about-copy .nf-actions{margin-top:12px}
.nf-quote-block{padding-block:110px;background:#f0d9c9;text-align:center}
.nf-quote{font-family:Georgia,"Times New Roman",serif;font-size:clamp(42px,5.6vw,84px);letter-spacing:-.06em;line-height:1.13;color:#5a4337;max-width:1080px;margin:auto!important}
.nf-quote-attribution{font-size:11px;letter-spacing:.16em;font-weight:800;margin-top:29px!important;color:#8c6e58}

/* Contact: compelling messaging, clear contact methods, placeholder disclosed. */
.nf-page--contact .nf-page-hero{padding-bottom:95px}
.nf-contact-section{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(25px,5vw,75px);padding-bottom:105px}
.nf-contact-panel{padding:clamp(30px,4.8vw,72px);background:#d9e6c7;display:flex;flex-direction:column;gap:28px;min-height:460px}
.nf-contact-title{font-size:clamp(45px,5vw,79px);letter-spacing:-.075em;line-height:1.06;color:#244d3c}
.nf-contact-hint{max-width:460px;color:#546d55;font-size:14px;line-height:1.7}
.nf-contact-email{font-size:clamp(19px,2.5vw,33px);font-weight:700;letter-spacing:-.05em}
.nf-contact-email a{border-bottom:2px solid currentColor;padding-bottom:6px}
.nf-contact-email span{font-size:20px;margin-left:9px}
.nf-contact-side{display:flex;flex-direction:column;gap:22px;align-items:flex-start;padding-block:26px}
.nf-contact-side .nf-h3{font-size:clamp(31px,3vw,46px)}
.nf-contact-detail{padding-top:19px;border-top:1px solid #c4d0c4;width:100%;display:flex;flex-direction:column;gap:10px}
.nf-contact-detail .nf-description{max-width:480px}
.nf-faq .nf-section-heading{max-width:800px}
.nf-faq-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.nf-faq-card{padding:clamp(27px,3vw,42px);background:#ebebe2;min-height:185px}
.nf-faq-card .nf-description{margin-top:19px}

/* Responsive layouts and accessibly sized controls. */
@media(max-width:1150px){
 .nf-shell{width:min(100% - 60px,1320px)!important}
 .nf-hero{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:40px}
 .nf-display{font-size:clamp(59px,6.5vw,91px)}
 .nf-hero-art,.nf-hero-art__inside{min-height:490px}
 .nf-art-display{font-size:86px}
 .nf-service{padding:26px}
 .nf-about-art{min-height:510px}
}
@media(max-width:860px){
 .nf-shell{width:min(100% - 44px,1320px)!important}
 .nf-hero{grid-template-columns:1fr;padding-block:60px 62px;gap:50px}
 .nf-hero-copy{gap:24px}
 .nf-display{font-size:clamp(65px,10vw,106px)}
 .nf-hero-art{width:100%;min-height:450px;box-shadow:14px 14px 0 #e3e2d5}
 .nf-hero-art__inside{min-height:450px}
 .nf-service-grid,.nf-process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .nf-service:nth-child(3){grid-column:1/-1;min-height:240px}
 .nf-service:nth-child(3) .nf-description{max-width:620px}
 .nf-work-grid{grid-template-columns:1fr}
 .nf-project-art{min-height:420px}
 .nf-about-grid,.nf-contact-section{grid-template-columns:1fr}
 .nf-about-art{min-height:420px}
 .nf-about-copy{padding-bottom:25px}
 .nf-contact-section{gap:26px}
 .nf-contact-side{padding:25px 10px 0}
 .nf-page-title{font-size:clamp(67px,9.6vw,108px)}
}
@media(max-width:580px){
 .nf-shell{width:calc(100% - 38px)!important}
 .nf-section{padding-block:75px}
 .nf-kicker{font-size:10px;letter-spacing:.13em}
 .nf-display{font-size:clamp(52px,13.1vw,76px)}
 .nf-h2{font-size:clamp(40px,10.5vw,63px)}
 .nf-hero{padding-top:44px;gap:35px}
 .nf-hero-copy{gap:22px}
 .nf-hero-lead{font-size:18px}
 .nf-actions .wp-block-button .wp-block-button__link{padding:15px 19px}
 .nf-hero-art,.nf-hero-art__inside{min-height:350px}
 .nf-hero-art__inside{padding:23px}
 .nf-hero-art:before{width:330px;height:330px;right:-100px;top:23px}
 .nf-art-display{font-size:clamp(63px,14vw,82px)}
 .nf-art-brand{right:22px;bottom:75px;font-size:12px}
 .nf-ticker{padding-inline:17px}
 .nf-ticker-text{font-size:9px;word-spacing:.2em;line-height:1.8}
 .nf-ticker-text span{padding-inline:6px}
 .nf-service-grid,.nf-process-grid,.nf-faq-grid{grid-template-columns:1fr}
 .nf-service,.nf-service:nth-child(3){grid-column:auto;min-height:250px;padding:26px}
 .nf-service{gap:18px}
 .nf-service .nf-tag{margin-top:5px!important}
 .nf-process-step{min-height:155px}
 .nf-project-art{min-height:340px;padding:25px}
 .nf-art-title{font-size:62px}
 .nf-cta{padding:37px 27px}
 .nf-cta-title{font-size:clamp(45px,11vw,67px)}
 .nf-page-hero{padding-block:76px 70px}
 .nf-page-title{font-size:clamp(59px,12vw,79px)}
 .nf-page-lead{font-size:18px}
 .nf-service-statement{padding-block:80px}
 .nf-statement-title{font-size:clamp(44px,10.5vw,72px)}
 .nf-about-editorial{padding-block:50px}
 .nf-about-art{min-height:370px;padding:27px}
 .nf-about-art__title{font-size:75px}
 .nf-about-copy{gap:20px}
 .nf-quote-block{padding-block:70px}
 .nf-quote{font-size:clamp(39px,9vw,62px)}
 .nf-contact-panel{min-height:360px;padding:28px}
 .nf-contact-title{font-size:clamp(43px,9vw,58px)}
 .nf-contact-section{padding-bottom:60px}
 .vastyro-launch-demo .vastyro-footer{padding-block:25px!important}
}
@media(prefers-reduced-motion:reduce){.nf-site a,.nf-service,.nf-actions .wp-block-button .wp-block-button__link{transition:none}.nf-service:hover,.nf-actions .wp-block-button .wp-block-button__link:hover{transform:none}}
