/*
Theme Name: SasNas Immigration
Author: SasNas
Description: A complete, editable immigration-assistance website for SasNas, including a private client portal, native website pages, and customizable navigation.
Version: 1.1.0
Requires at least: 6.2
Requires PHP: 8.0
Text Domain: sasnas-immigration-theme
*/
:root{--sasnas-accent:#176a70;--ink:#102e39;--muted:#61737f;--line:#e2ecee;--bg:#f7faf9;--shadow:0 14px 45px rgba(24,59,66,.06)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;line-height:1.66}
a{color:var(--sasnas-accent)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #efb55a;outline-offset:3px}img{max-width:100%;height:auto}button,input,textarea,select{font:inherit}
.sn-skip-link{position:absolute;top:-100px;left:12px;z-index:90;background:#fff;padding:11px 18px}.sn-skip-link:focus{top:12px}
.site-wrap{max-width:1160px;margin:0 auto;padding:0 26px}.site-header{background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:20}
.site-header-inner{display:flex;align-items:center;gap:28px;min-height:88px}.site-brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:var(--ink);flex:1;min-width:240px}
.brand-icon{display:grid;place-items:center;width:43px;height:43px;border-radius:12px;color:#fff;background:var(--sasnas-accent);font-weight:850;font-size:21px;letter-spacing:-.07em}
.site-logo{max-width:150px;height:auto;max-height:62px;object-fit:contain}.brand-stack{display:block}.brand-text{display:block;font-size:18px;font-weight:850;line-height:1.25}.brand-sub{display:block;font-size:11px;color:var(--muted);font-weight:500;letter-spacing:.025em;margin-top:2px}
.site-nav ul{list-style:none;padding:0;margin:0;display:flex;gap:20px;align-items:center;flex-wrap:wrap}.site-nav a{color:#34515d;text-decoration:none;font-size:13px;font-weight:700}.site-nav a:hover,.site-nav .current-menu-item>a{color:var(--sasnas-accent)}
.button,.site-cta,.sn-home .wp-block-button__link{display:inline-flex;gap:8px;align-items:center;justify-content:center;background:var(--sasnas-accent);color:#fff!important;text-decoration:none!important;padding:13px 21px;border:1px solid transparent;border-radius:11px;font-size:14px;font-weight:800;white-space:nowrap}
.sn-home .is-style-outline .wp-block-button__link{background:#fff;color:var(--sasnas-accent)!important;border-color:#bcd4d4}
.sn-home .wp-block-button__link:hover,.button:hover,.site-cta:hover{filter:brightness(.94)}
.sn-home>*,.sn-home .sn-home-hero,.sn-home .sn-home-section,.sn-home .sn-home-band,.sn-home .sn-home-cta{margin:0}.sn-home .sn-home-hero{background:radial-gradient(circle at 86% 40%,#d7f0e9 0,#ecf8f3 29%,transparent 59%),linear-gradient(120deg,#f8fcfb,#ecf5f4);padding:92px max(26px,calc((100% - 1100px)/2)) 95px}
.sn-home .sn-hero-columns{gap:65px;align-items:center;max-width:1100px;margin:0 auto}.sn-home .sn-home-title{font-size:clamp(38px,5vw,67px);line-height:1.09;letter-spacing:-.047em;margin:13px 0 20px;font-weight:850;color:#102e39}
.sn-home .sn-kicker{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:850;color:var(--sasnas-accent);margin:0 0 9px}.sn-home .sn-lead{font-size:18px;color:#4f6a75;max-width:610px;line-height:1.7;margin-bottom:27px}
.sn-home .sn-home-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.sn-home .sn-hero-card{background:#fff;border:1px solid #e6eff0;border-radius:22px;padding:30px;box-shadow:0 28px 80px rgba(22,71,76,.1)}
.sn-home .sn-hero-card .sn-card-kicker{font-size:11px;letter-spacing:.13em;color:var(--sasnas-accent);font-weight:850}.sn-home .sn-hero-card h3{font-size:24px;line-height:1.3;margin:8px 0 16px;letter-spacing:-.035em}
.sn-home .sn-checklist{list-style:none!important;padding:0!important;margin:0!important}.sn-home .sn-checklist li{padding:12px 0 12px 29px;border-top:1px solid #e6eff0;position:relative;font-size:14px;font-weight:640}.sn-home .sn-checklist li:before{content:'✓';position:absolute;left:0;top:10px;color:var(--sasnas-accent);font-weight:900}
.sn-home .sn-home-section,.sn-home .sn-home-band{padding:76px max(26px,calc((100% - 1100px)/2)) 83px}.sn-home .sn-home-band{background:#eef6f4}.sn-home h2{font-size:clamp(30px,3.3vw,42px);line-height:1.2;letter-spacing:-.034em;margin:0 0 27px}
.sn-home .sn-service-cards,.sn-home .sn-steps{display:flex;gap:18px;max-width:1100px}.sn-home .sn-service-cards .wp-block-column,.sn-home .sn-steps .wp-block-column{background:#fff;border:1px solid var(--line);border-radius:17px;padding:28px;box-shadow:var(--shadow);min-width:0}
.sn-home .sn-service-cards h3,.sn-home .sn-steps h3{font-size:18px;letter-spacing:-.018em;margin:0 0 10px}.sn-home .sn-service-cards p,.sn-home .sn-steps p{font-size:14px;color:var(--muted);margin:0}.sn-home .sn-home-section>p:last-child,.sn-home .sn-home-band>p:last-child{margin-top:25px;font-weight:700}
.sn-home .sn-home-cta{padding:54px max(26px,calc((100% - 1100px)/2));background:#183f49;color:#fff}.sn-home .sn-home-cta h2{color:#fff;margin:0 0 12px}.sn-home .sn-home-cta p{color:#d6e5e6;max-width:650px}.sn-home .sn-home-cta .wp-block-button__link{background:#fff;color:#184750!important}
.page-outer{min-height:55vh;padding:58px 0 76px}.page-container{background:#fff;padding:50px;max-width:1080px;margin:auto;border:1px solid var(--line);border-radius:18px}.entry-title{font-size:clamp(30px,4vw,43px);letter-spacing:-.035em;line-height:1.2;margin:0 0 25px}.entry-content>*{max-width:100%}.entry-content h2{letter-spacing:-.03em;font-size:27px}.entry-content h3{font-size:20px;margin-bottom:6px}.entry-content p{color:#445d67}.entry-content li{padding:4px 0}.entry-content{max-width:850px}
.sn-article{padding:22px 0;border-top:1px solid var(--line)}.sn-article h2{margin:0;font-size:21px}
.sn-portal-page{min-height:55vh;padding:22px 0}.sn-portal-page .sn-portal{margin-top:10px}
.sn-public-form{max-width:650px;margin:25px 0}.sn-public-form label{display:block;color:var(--ink);font-size:14px;font-weight:700;margin-bottom:6px}.sn-public-form input,.sn-public-form textarea{width:100%;border-radius:10px;border:1px solid #bfd2d5;background:#fff;padding:12px 14px;color:var(--ink)}.sn-public-form button{border:0;background:var(--sasnas-accent);color:#fff;border-radius:9px;padding:12px 23px;cursor:pointer;font-weight:700}.sn-public-form .sn-form-hint{font-size:13px;color:#657c85}.sn-public-form .sn-success{color:#1b5e4d;background:#e9f6f0;padding:13px;border-radius:9px}.sn-public-form .sn-error{color:#9a3826;background:#fff0ec;padding:13px;border-radius:9px}.sn-honeypot{position:absolute;left:-9999px;top:-9999px;overflow:hidden;width:1px;height:1px}
.site-footer{border-top:1px solid #dbe8e9;background:#f0f6f5;padding:41px 0;font-size:13px;color:#536e75}.footer-inner{display:flex;justify-content:space-between;gap:35px;flex-wrap:wrap}.footer-inner strong{display:block;font-size:18px;color:var(--ink);margin-bottom:4px}.footer-inner p{margin:5px 0;max-width:640px}.footer-copyright{font-size:12px;color:#70838b}.footer-nav{display:flex;gap:17px;align-items:center;flex-wrap:wrap}.footer-nav a{text-decoration:none;color:#47646e}.footer-nav a:hover{color:var(--sasnas-accent)}
@media(max-width:1020px){.site-header-inner{flex-wrap:wrap;padding-top:14px;padding-bottom:14px}.site-nav{order:3;width:100%}.sn-home .sn-hero-columns{gap:26px}.sn-home .sn-home-hero{padding-top:70px;padding-bottom:70px}}
@media(max-width:800px){.sn-home .sn-hero-columns{display:block}.sn-home .sn-hero-columns .wp-block-column{width:100%!important;flex-basis:100%!important;margin-bottom:32px}.sn-home .sn-hero-card{max-width:610px}.sn-home .sn-service-cards,.sn-home .sn-steps{display:block}.sn-home .sn-service-cards .wp-block-column,.sn-home .sn-steps .wp-block-column{margin:0 0 15px}}
@media(max-width:620px){.site-wrap{padding:0 18px}.site-header-inner{gap:11px}.site-brand{min-width:185px}.brand-text{font-size:16px}.brand-sub{font-size:10px}.site-nav ul{gap:13px}.site-nav a{font-size:12px}.site-cta{padding:9px 12px;font-size:12px}.sn-home .sn-home-hero,.sn-home .sn-home-section,.sn-home .sn-home-band{padding:53px 19px}.sn-home .sn-home-title{font-size:39px}.sn-home .sn-lead{font-size:16px}.sn-home .sn-hero-card{padding:23px}.sn-home .sn-home-cta{padding:45px 19px}.page-container{padding:25px}.page-outer{padding:26px 0 55px}}
