.spotter-v3{--base:#1f2224;--green:#7ed321;--white:#fff;--line:#3a4140;--muted:#b1b8b6}
.spotter-v3 *{box-sizing:border-box}
.spotter-v3{scroll-behavior:smooth}
.spotter-v3{margin:0;background:var(--base);color:var(--white);font-family:"DM Sans",system-ui,sans-serif;-webkit-font-smoothing:antialiased}
.spotter-v3 a{color:inherit;text-decoration:none}
.spotter-v3 a:hover{text-decoration:none}
.spotter-v3 button{font:inherit;cursor:pointer}
.spotter-v3 .wrap{width:min(1220px,calc(100% - 96px));margin:auto}
.spotter-v3 .preview{background:#29302a;color:#cbd8cd;min-height:30px;display:flex;justify-content:center;align-items:center;gap:9px;font-size:10px;letter-spacing:.13em;font-weight:700}
.spotter-v3 .preview .live{width:6px;height:6px;border-radius:100%;background:var(--green)}
.spotter-v3 .sep{opacity:.4}
.spotter-v3 .site-header{height:87px;padding:0 max(48px,calc((100% - 1220px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #383e3e}
.spotter-v3 .logo{display:flex;align-items:center;font-family:Manrope,sans-serif;letter-spacing:-1px;font-size:23px;font-weight:800}
.spotter-v3 .logo-mark{width:30px;height:30px;border:1.5px solid var(--green);color:var(--green);display:grid;place-items:center;font-size:21px;border-radius:8px;margin-right:9px}
.spotter-v3 .dot{color:var(--green)}
.spotter-v3 .logo-divider{height:20px;width:1px;background:#626966;margin:0 15px}
.spotter-v3 .logo small{font-family:"DM Sans",sans-serif;color:#abb2ad;letter-spacing:.16em;font-size:10px;font-weight:600}
.spotter-v3 .site-header nav{display:flex;gap:29px}
.spotter-v3 .site-header nav a{font-size:12px;color:#bac2bd;transition:color .2s}
.spotter-v3 .site-header nav a:hover{color:var(--green)}
.spotter-v3 .nav-contact{border:1px solid #505852;border-radius:8px;padding:12px 17px;font-size:12px;font-weight:700;transition:background .2s}
.spotter-v3 .nav-contact span{color:var(--green);margin-left:12px}
.spotter-v3 .nav-contact:hover{background:#303832}
.spotter-v3 .hero{display:grid;grid-template-columns:1fr 46%;min-height:650px;gap:6%;align-items:center;padding:55px 0 85px}
.spotter-v3 .eyebrow{font-size:10px;font-weight:800;letter-spacing:.16em;color:var(--green);text-transform:uppercase;display:inline-flex;align-items:center;gap:12px}
.spotter-v3 .eyebrow .line{width:23px;height:2px;background:var(--green)}
.spotter-v3 h1,.spotter-v3 h2,.spotter-v3 h3,.spotter-v3 p{margin-top:0}
.spotter-v3 h1,.spotter-v3 h2{font-family:Manrope,sans-serif;letter-spacing:-.06em}
.spotter-v3 h1{font-size:clamp(48px,5vw,80px);line-height:1.08;margin:25px 0 28px;font-weight:800}
.spotter-v3 h1 em,.spotter-v3 h2 em{font-style:normal;color:var(--green)}
.spotter-v3 .lead{font-size:16px;line-height:1.9;color:#b9c2bb;max-width:500px}
.spotter-v3 .lead strong{color:#fff}
.spotter-v3 .hero-actions{display:flex;align-items:center;gap:23px;margin-top:32px}
.spotter-v3 .primary{background:var(--green);color:var(--base);padding:17px 22px;border-radius:9px;font-size:13px;font-weight:800;display:inline-flex;gap:25px;align-items:center;justify-content:space-between;transition:transform .2s,box-shadow .2s}
.spotter-v3 .primary:hover{transform:translateY(-3px);box-shadow:0 13px 28px #7ed32122}
.spotter-v3 .quiet{font-size:12px;font-weight:700;color:#e2e9e1}
.spotter-v3 .quiet span{color:var(--green);margin-left:6px}
.spotter-v3 .hero-meta{display:flex;gap:20px;flex-wrap:wrap;margin-top:45px;color:#abb4af;font-size:11px}
.spotter-v3 .green-check{color:var(--green);margin-right:6px}
.spotter-v3 .hero-visual{position:relative;padding:0 15px 15px}
.spotter-v3 .hero-photo{height:510px;overflow:hidden;border-radius:130px 12px 12px 12px;border:1px solid #414c44;background:#29342c;position:relative}
.spotter-v3 .figure svg{width:100%;height:100%;object-fit:cover}
.spotter-v3 .photo-label{position:absolute;bottom:29px;left:22px;background:#1f2224d9;border:1px solid #536054;color:#c9d5cb;border-radius:5px;font-size:9px;font-weight:800;letter-spacing:.13em;padding:11px 13px}
.spotter-v3 .portrait{position:absolute;bottom:-17px;left:-25px;background:#f5f7f0;color:#1f2224;display:flex;align-items:center;gap:13px;padding:15px 23px 15px 15px;border-radius:12px;box-shadow:0 20px 35px #0004}
.spotter-v3 .portrait-circle{width:53px;height:53px;background:#d3e2c9;color:#2b4b1f;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:19px}
.spotter-v3 .portrait strong,.spotter-v3 .portrait span{display:block}
.spotter-v3 .portrait strong{font-size:13px}
.spotter-v3 .portrait span{margin-top:4px;font-size:11px;color:#6b756c}
.spotter-v3 .rotated{position:absolute;right:-26px;top:40px;writing-mode:vertical-rl;font-size:9px;letter-spacing:.15em;color:#9ca79d}
.spotter-v3 .section{padding-top:100px;padding-bottom:115px}
.spotter-v3 .section-title{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:45px}
.spotter-v3 .section-title h2,.spotter-v3 .about h2,.spotter-v3 .process h2,.spotter-v3 .contact h2{font-size:clamp(36px,4vw,58px);line-height:1.13;margin:17px 0 0;font-weight:800}
.spotter-v3 .section-title>p{max-width:350px;line-height:1.85;color:#aeb8b0;font-size:14px;margin:0 0 5px}
.spotter-v3 .services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.spotter-v3 .service{border:1px solid #434c47;background:#292f2d;border-radius:11px;min-height:365px;padding:24px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .2s,border-color .2s,box-shadow .2s}
.spotter-v3 .service:hover{transform:translateY(-5px);border-color:#7ed32166;box-shadow:0 14px 40px #0003}
.spotter-v3 .service-top{display:flex;align-items:start;justify-content:space-between;font-size:11px;color:#87958a}
.spotter-v3 .pict{height:58px;width:58px;border:1px solid #637258;border-radius:13px;color:var(--green);font-size:29px;display:grid;place-items:center}
.spotter-v3 .pill{border:1px solid #657e4b;color:#b5e87c;display:inline-block;font-size:9px;letter-spacing:.12em;padding:7px 10px;border-radius:100px;font-weight:700}
.spotter-v3 .service h3{font-family:Manrope,sans-serif;letter-spacing:-.04em;font-size:23px;line-height:1.2;margin:18px 0 12px}
.spotter-v3 .service p{font-size:13px;line-height:1.8;color:#afbab1}
.spotter-v3 .service a{font-size:12px;color:var(--green);font-weight:700}
.spotter-v3 .service a span{margin-left:7px}
.spotter-v3 .hint{color:#829086;font-size:11px;margin-top:17px}
.spotter-v3 .about{background:#262c29;padding:100px 0}
.spotter-v3 .about-grid{display:grid;grid-template-columns:45% 1fr;align-items:center;gap:11%}
.spotter-v3 .about-art{position:relative}
.spotter-v3 .about-frame{min-height:460px;border:1px solid #53624f;border-radius:8px 115px 8px 8px;background:linear-gradient(140deg,#344037,#242f27);display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:hidden}
.spotter-v3 .large-initials{font-family:Manrope,sans-serif;font-size:clamp(80px,16vw,190px);font-weight:800;letter-spacing:-.12em;color:#647865}
.spotter-v3 .large-initials span{color:var(--green)}
.spotter-v3 .about-frame>span{font-size:9px;letter-spacing:.13em;color:#a5b5a3}
.spotter-v3 .about-stamp{position:absolute;bottom:27px;right:-30px;background:var(--green);padding:23px 25px;color:#1f2224;border-radius:9px;font:800 16px/1.2 Manrope}
.spotter-v3 .about-stamp b{display:block;font-size:28px;text-align:right}
.spotter-v3 .about-copy p{color:#b0bbb3;font-size:15px;line-height:1.95;margin:23px 0}
.spotter-v3 .about-points{border-top:1px solid #4a564d;margin-top:30px}
.spotter-v3 .about-points>div{display:flex;gap:25px;border-bottom:1px solid #4a564d;padding:19px 0;font-size:13px}
.spotter-v3 .about-points span{color:var(--green);font-size:11px}
.spotter-v3 .process{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding-top:110px;padding-bottom:115px}
.spotter-v3 .process-side{align-self:end}
.spotter-v3 .process-side p{line-height:1.9;color:#afbab0;max-width:460px}
.spotter-v3 .process-track{display:flex;justify-content:space-between;border-top:1px solid #465047;padding-top:19px;font-size:10px;letter-spacing:.1em;color:var(--green);font-weight:700;margin-top:33px}
.spotter-v3 .testimonials{padding-top:70px}
.spotter-v3 .review-empty{border:1px solid #465047;border-radius:13px;padding:35px;display:flex;align-items:center;gap:22px;background:#272e2a}
.spotter-v3 .review-icon{font-size:45px;color:var(--green)}
.spotter-v3 .review-empty>div:nth-child(2){flex:1}
.spotter-v3 .review-empty strong{font-size:16px}
.spotter-v3 .review-empty p{color:#b2beb4;font-size:12px;line-height:1.7;margin:7px 0 0}
.spotter-v3 .review-empty button{border:1px solid #658d40;border-radius:7px;padding:12px 16px;background:transparent;color:var(--green);font-size:12px;font-weight:700}
.spotter-v3 .content-section{background:#252b28;padding:110px 0}
.spotter-v3 .articles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.spotter-v3 .articles article{min-width:0}
.spotter-v3 .article-cover{height:255px;padding:24px;display:flex;flex-direction:column;justify-content:space-between;border-radius:8px;overflow:hidden;border:1px solid #576354}
.spotter-v3 .article-cover span{font-size:10px;letter-spacing:.12em;color:#e1e9df}
.spotter-v3 .article-cover strong{font:800 31px/1.2 Manrope;letter-spacing:-.06em}
.spotter-v3 .article-a{background:radial-gradient(circle at 80% 0,#607b4e,transparent 55%),#303d34}
.spotter-v3 .article-b{background:radial-gradient(circle at 30% 90%,#667547,transparent 50%),#343932}
.spotter-v3 .article-c{background:radial-gradient(circle at 80% 60%,#526a5d,transparent 55%),#293632}
.spotter-v3 .article-detail{padding:22px 4px}
.spotter-v3 .article-detail span{color:var(--green);font-size:9px;font-weight:700;letter-spacing:.12em}
.spotter-v3 .article-detail h3{font:700 16px Manrope;margin:10px 0}
.spotter-v3 .article-detail p{color:#aeb9b0;font-size:12px}
.spotter-v3 .contact{padding-top:110px}
.spotter-v3 .contact-panel{background:#323e32;border:1px solid #546b44;border-radius:15px;padding:70px;display:grid;grid-template-columns:1.4fr 1fr;gap:60px;overflow:hidden}
.spotter-v3 .contact-panel p{color:#c0cbbd;line-height:1.8;max-width:480px;margin:23px 0 28px}
.spotter-v3 .contact-art{border:1px solid #647e52;border-radius:110px 110px 7px 7px;min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-4deg)}
.spotter-v3 .contact-art span{font:700 20px Manrope;letter-spacing:.15em;color:#b7c7ae}
.spotter-v3 .contact-art strong{font:800 76px Manrope;letter-spacing:-.08em;color:var(--green)}
.spotter-v3 .contact-art small{font-size:10px;letter-spacing:.2em;color:#b7c7ae}
.spotter-v3 .footer{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #414b43;margin-top:90px;padding:30px 0 45px;color:#9daaa0;font-size:12px}
.spotter-v3 .footer .logo{font-size:19px;color:#fff}
.spotter-v3 .footer .logo-mark{width:27px;height:27px;font-size:16px}
.spotter-v3 .footer a:hover{color:var(--green)}
.spotter-v3 .toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,30px);border:1px solid #5f7c4d;border-radius:10px;background:#344133;color:#fff;box-shadow:0 20px 50px #0006;padding:15px 20px;font-size:13px;max-width:calc(100% - 30px);opacity:0;pointer-events:none;transition:.2s;z-index:5}
.spotter-v3 .toast.show{opacity:1;transform:translate(-50%,0)}
.spotter-v3 :focus-visible{outline:2px solid var(--green);outline-offset:4px}
@media (max-width:1000px){.spotter-v3 .wrap{width:calc(100% - 52px)}
.spotter-v3 .site-header{padding:0 26px}
.spotter-v3 .site-header nav{gap:15px}
.spotter-v3 .hero{grid-template-columns:1fr 44%;gap:4%;min-height:540px}
.spotter-v3 .hero-photo{height:390px}
.spotter-v3 .hero h1{font-size:52px}
.spotter-v3 .portrait{left:-6px}
.spotter-v3 .about-grid{gap:7%}
.spotter-v3 .contact-panel{padding:45px}}
@media (max-width:700px){.spotter-v3 .wrap{width:calc(100% - 36px)}
.spotter-v3 .preview{text-align:center;font-size:8px;padding:8px 12px}
.spotter-v3 .site-header{height:65px;padding:0 18px}
.spotter-v3 .site-header nav{display:none}
.spotter-v3 .logo{font-size:20px}
.spotter-v3 .logo small{font-size:8px}
.spotter-v3 .nav-contact{padding:10px 12px}
.spotter-v3 .hero{display:flex;flex-direction:column-reverse;gap:32px;padding:25px 0 70px;min-height:unset}
.spotter-v3 .hero-visual{width:100%;padding:0 0 19px}
.spotter-v3 .hero-photo{height:335px;border-radius:90px 9px 9px 9px}
.spotter-v3 .portrait{left:8px;bottom:0;padding:9px 13px}
.spotter-v3 .portrait-circle{width:43px;height:43px;font-size:15px}
.spotter-v3 .portrait strong{font-size:11px}
.spotter-v3 .portrait span{font-size:9px}
.spotter-v3 .rotated{right:-9px;font-size:8px}
.spotter-v3 .hero-copy{width:100%}
.spotter-v3 h1{font-size:clamp(43px,12vw,61px);margin:20px 0}
.spotter-v3 .lead{font-size:14px}
.spotter-v3 .hero-actions{gap:13px;align-items:flex-start;flex-direction:column}
.spotter-v3 .primary{width:100%}
.spotter-v3 .hero-meta{margin-top:30px;gap:10px 19px}
.spotter-v3 .section{padding:65px 0}
.spotter-v3 .section-title{display:block;margin-bottom:28px}
.spotter-v3 .section-title h2,.spotter-v3 .about h2,.spotter-v3 .process h2,.spotter-v3 .contact h2{font-size:36px}
.spotter-v3 .section-title>p{margin-top:18px}
.spotter-v3 .services-grid{grid-template-columns:1fr}
.spotter-v3 .service{min-height:270px;padding:22px}
.spotter-v3 .service h3{font-size:21px}
.spotter-v3 .about{padding:65px 0}
.spotter-v3 .about-grid{grid-template-columns:1fr;gap:55px}
.spotter-v3 .about-frame{min-height:290px;border-radius:7px 70px 7px 7px}
.spotter-v3 .about-stamp{right:0;bottom:-20px}
.spotter-v3 .process{display:block;padding:65px 0}
.spotter-v3 .process-side{margin-top:26px}
.spotter-v3 .testimonials{padding-top:50px}
.spotter-v3 .review-empty{flex-wrap:wrap;padding:22px;gap:13px}
.spotter-v3 .review-empty button{width:100%}
.spotter-v3 .content-section{padding:70px 0}
.spotter-v3 .articles{grid-template-columns:1fr;gap:20px}
.spotter-v3 .article-cover{height:225px}
.spotter-v3 .contact{padding-top:65px}
.spotter-v3 .contact-panel{grid-template-columns:1fr;padding:30px 23px;gap:30px}
.spotter-v3 .contact-art{min-height:200px}
.spotter-v3 .contact-art strong{font-size:59px}
.spotter-v3 .footer{margin-top:55px;flex-wrap:wrap;font-size:10px}
.spotter-v3 .footer>a{width:100%}}
@media (prefers-reduced-motion:reduce){.spotter-v3{scroll-behavior:auto}
.spotter-v3 *,.spotter-v3 *:before,.spotter-v3 *:after{transition:none!important;animation:none!important}}
/* Scoped real-data presentation */
.spotter-v3{--green:#7ed321;color:#fff;min-height:100vh;background:#1f2224}
.spotter-v3 .pv3-photo{height:100%;width:100%;display:flex;align-items:center;justify-content:center;font-size:clamp(74px,12vw,160px);font-weight:800;color:#7ed321;background:linear-gradient(145deg,#243127,#18201b)}
.spotter-v3 .pv3-photo img{width:100%;height:100%;object-fit:cover;display:block}
.spotter-v3 #pv3-services:empty,.spotter-v3 #pv3-content:empty{display:none}
.spotter-v3 .service[hidden],.spotter-v3 section[hidden]{display:none!important}
.spotter-v3 #pv3-reviews{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:15px}
.spotter-v3 .pv3-review{padding:22px;border:1px solid #3a443b;border-radius:12px;background:#283029}
.spotter-v3 .pv3-review strong{display:block;margin-bottom:8px}
.spotter-v3 .pv3-stars{color:#7ed321;letter-spacing:4px}
.spotter-v3 .pv3-review p{color:#d4ded3;line-height:1.6;white-space:pre-wrap}
.spotter-v3 .pv3-form{margin-top:22px;max-width:640px}.spotter-v3 .pv3-form textarea{box-sizing:border-box;width:100%;min-height:90px;padding:13px;background:#222923;color:white;border:1px solid #495549;border-radius:10px;font:inherit}
.spotter-v3 .pv3-rating button{font-size:25px;color:#7ed321;background:none;border:0;cursor:pointer;padding:4px}.spotter-v3 .pv3-form button.pv3-submit{padding:12px 22px;border:0;background:#7ed321;color:#1f2224;font-weight:800;border-radius:7px;cursor:pointer;margin-top:12px}
.spotter-v3 .pv3-note{font-size:13px;color:#c7d1c7}.spotter-v3 .pv3-content-card{display:block;text-decoration:none;color:inherit}
.spotter-v3 .pv3-content-card img{width:100%;height:100%;object-fit:cover}.spotter-v3 .pv3-empty{color:#b7c4b7;padding:12px 0}
@media(max-width:700px){.spotter-v3 .hero-photo{min-height:340px}.spotter-v3 .portrait{max-width:85%}.spotter-v3 .pv3-photo{height:100%}}

/* V3.1: standalone full-width portfolio; portrait ratio across breakpoints */
#spotter-v3-stage,.spotter-v3{width:100%;max-width:none;min-width:0}
.spotter-v3 .hero-visual{min-width:0}
.spotter-v3 .hero-photo{height:auto;aspect-ratio:4/5;min-height:0;width:100%;border-radius:120px 12px 12px 12px}
.spotter-v3 .pv3-photo{height:100%}
.spotter-v3 .hero-expertise{font-weight:700;color:#d9e6d5;font-size:15px;line-height:1.6;margin:-8px 0 15px}
.spotter-v3 .hero .lead{margin-top:0}
.spotter-v3 [hidden]{display:none!important}
@media (max-width:700px){
 .spotter-v3 .hero-photo{height:auto;aspect-ratio:4/5;min-height:0;border-radius:76px 10px 10px 10px}
 .spotter-v3 .hero{gap:29px;padding-top:18px}
 .spotter-v3 .hero-expertise{font-size:14px}
 .spotter-v3 .hero h1{margin-bottom:17px}
 .spotter-v3 .rotated{display:none}
}

/* V3.2: structured review experience, breathing room and safe contact */
.spotter-v3 .testimonials{padding-top:96px;padding-bottom:120px}
.spotter-v3 #pv3-review-form{margin:38px 0 0}
.spotter-v3 .pv3-form{max-width:none;margin:0;padding:34px;background:#272f2a;border:1px solid #465548;border-radius:18px;box-shadow:0 22px 50px rgba(0,0,0,.12)}
.spotter-v3 .pv3-form-head{margin-bottom:23px}
.spotter-v3 .pv3-form-kicker{display:block;color:#7ed321;font-size:10px;font-weight:800;letter-spacing:.16em;margin-bottom:12px}
.spotter-v3 .pv3-form-head strong{display:block;font:800 clamp(23px,3vw,33px)/1.2 Manrope,system-ui,sans-serif;letter-spacing:-.035em}
.spotter-v3 .pv3-form-head p{color:#bfc9c0;font-size:14px;line-height:1.7;margin:10px 0 0}
.spotter-v3 .pv3-rating{display:flex;gap:10px;margin:0 0 22px;align-items:center}
.spotter-v3 .pv3-rating button{font:32px/1 system-ui,sans-serif;padding:4px 5px;border-radius:5px;transition:transform .15s}
.spotter-v3 .pv3-rating button:hover{transform:scale(1.12)}
.spotter-v3 .pv3-field-label{display:block;font-size:13px;font-weight:750;margin-bottom:11px}
.spotter-v3 .pv3-field-label span{font-weight:400;color:#a7b4aa}
.spotter-v3 .pv3-form textarea{width:100%;min-height:110px;display:block;padding:16px;border-radius:10px;background:#1f2622;resize:vertical}
.spotter-v3 .pv3-note{margin-top:12px;line-height:1.5}
.spotter-v3 .pv3-form-actions{display:flex;justify-content:flex-end;margin-top:20px}
.spotter-v3 .pv3-form button.pv3-submit{margin:0;padding:15px 25px;font-size:13px;min-height:48px}
.spotter-v3 .pv3-review-list-head{margin:58px 0 20px;display:flex;gap:15px;justify-content:space-between;align-items:baseline;padding-bottom:18px;border-bottom:1px solid #414e43}
.spotter-v3 .pv3-review-list-head h3{font:800 23px Manrope,system-ui,sans-serif;letter-spacing:-.03em;margin:0}
.spotter-v3 .pv3-review-list-head span{font-size:12px;color:#acb9ae}
.spotter-v3 #pv3-reviews{margin-bottom:0}
.spotter-v3 .pv3-review{padding:24px;line-height:1.5}
.spotter-v3 .pv3-unavailable{background:#333c35!important;color:#d8e1da!important;pointer-events:none;cursor:default;border:1px solid #546156}
.spotter-v3 .pv3-contact-note{font-size:12px!important;margin:14px 0 0!important}
.spotter-v3 .hero-photo{aspect-ratio:4/5}
@media(max-width:700px){
 .spotter-v3 .testimonials{padding-top:70px;padding-bottom:95px}
 .spotter-v3 #pv3-review-form{margin-top:28px}
 .spotter-v3 .pv3-form{padding:23px 18px;border-radius:14px}
 .spotter-v3 .pv3-form-actions{display:block}
 .spotter-v3 .pv3-form button.pv3-submit{width:100%}
 .spotter-v3 .pv3-review-list-head{margin-top:40px;display:block}
 .spotter-v3 .pv3-review-list-head span{display:block;margin-top:7px}
 .spotter-v3 .hero-photo{aspect-ratio:4/5}
}
