@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#171d1b;--dark:#111817;--dark2:#202a27;--pine:#465e50;--lime:#c1cbb4;--cream:#f4f2eb;--pale:#eaece5;--line:#d6ddd4;--white:#fff;--muted:#68716a;--gold:#c5b69e;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.65}img{max-width:100%;display:block}a{text-decoration:none;color:inherit}button,input,textarea,select{font:inherit}button{cursor:pointer}h1,h2,h3,h4{font-family:'Manrope',sans-serif;line-height:1.12;margin:0;letter-spacing:-.035em}h1{font-size:clamp(3.4rem,7.3vw,7.2rem);font-weight:600}h2{font-size:clamp(2.3rem,4.1vw,4.45rem);font-weight:600}h3{font-size:clamp(1.25rem,1.6vw,1.7rem);font-weight:650}p{margin:0 0 1rem}.container{width:min(calc(100% - 88px),var(--max));margin-inline:auto}.eyebrow{display:inline-flex;gap:.65rem;align-items:center;font-family:'Manrope',sans-serif;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;font-weight:800}.eyebrow:before{content:'';width:21px;height:2px;background:currentColor}.muted{color:var(--muted)}.small{font-size:.82rem}.site-header{position:absolute;z-index:20;top:0;left:0;right:0;color:white;border-bottom:1px solid #ffffff33}.nav-wrap{display:flex;align-items:center;min-height:94px;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;gap:13px;max-width:325px}.brand-mark{width:48px;height:48px;flex:none;display:block}.brand-word{font-family:Manrope,sans-serif;font-weight:800;letter-spacing:.18em;font-size:1.4rem;line-height:1}.brand-sub{font-size:.56rem;text-transform:uppercase;letter-spacing:.22em;display:block;margin-top:7px;opacity:.82;white-space:nowrap}.nav-links{display:flex;align-items:center;gap:clamp(1rem,2.2vw,2rem);margin-left:auto}.nav-links a{font-size:.83rem;font-weight:700;letter-spacing:.02em;opacity:.88;transition:opacity .2s}.nav-links a:hover,.nav-links a.active{opacity:1}.header-cta,.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:1px solid transparent;font-weight:750;font-size:.83rem;min-height:52px;padding:0 23px;transition:.24s ease;font-family:Manrope,sans-serif;letter-spacing:.005em}.header-cta{border:1px solid #ffffff60;white-space:nowrap}.header-cta:hover,.btn-outline:hover{background:white;color:var(--ink)}.btn-primary{background:#d4ddce;color:var(--dark)}.btn-primary:hover{background:white;transform:translateY(-2px)}.btn-dark{background:var(--dark);color:white}.btn-dark:hover{background:var(--pine);transform:translateY(-2px)}.btn-outline{border-color:#ffffff8a;color:white}.btn-sand{background:#e6e2d5;color:var(--dark)}.arrow{font-size:1.2rem;font-weight:400;line-height:1}.menu-btn{display:none;color:inherit;background:transparent;border:1px solid #ffffff55;padding:9px 12px;font-size:1.3rem}.hero{position:relative;min-height:850px;display:flex;align-items:center;background:#25352e;color:#fff;isolation:isolate;overflow:hidden}.hero:before{content:'';position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center;filter:grayscale(.06) saturate(1.12)}.hero.home-hero:before{background-image:url('projects/visan-project-05.webp');background-position:center 58%}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,20,17,.93) 0%,rgba(11,21,18,.78) 48%,rgba(18,28,22,.26) 100%),linear-gradient(0deg,rgba(9,21,17,.54),transparent 30%)}.hero .hero-content{padding-top:135px;padding-bottom:115px;position:relative}.hero .eyebrow{color:#d7e5d5;margin-bottom:36px}.hero h1{max-width:850px}.hero h1 em{font-style:normal;color:#c8d5c4}.hero .lead{font-size:clamp(1rem,1.35vw,1.2rem);color:#e0e5dc;max-width:610px;margin:28px 0 35px;line-height:1.75}.btn-pair{display:flex;gap:13px;flex-wrap:wrap}.hero-bottom{position:absolute;bottom:30px;left:0;right:0;display:flex;justify-content:space-between;align-items:center;color:#e4e7dfad;font-size:.73rem;letter-spacing:.08em;text-transform:uppercase}.hero-bottom span:last-child{display:inline-flex;align-items:center;gap:12px}.scroll-line{display:inline-block;height:1px;width:58px;background:#f2f2e4a0}.inner-hero{min-height:570px}.inner-hero:before{background-image:linear-gradient(160deg,#293f34,#111917),repeating-linear-gradient(45deg,#ffffff1c 0 1px,transparent 1px 40px);background-blend-mode:overlay}.inner-hero.photo:before{background-image:var(--image);background-size:cover;background-position:center;filter:grayscale(.08) saturate(1.06)}.inner-hero:after{background:linear-gradient(95deg,rgba(11,21,19,.93),rgba(12,23,19,.72) 65%,rgba(14,25,20,.35))}.inner-hero .hero-content{padding-bottom:70px}.inner-hero h1{font-size:clamp(2.95rem,5.6vw,5.7rem);max-width:940px}.inner-hero .lead{max-width:670px}.section{padding:110px 0}.section-tint{background:#e8ece6}.section-dark{background:var(--dark);color:white}.section-white{background:#fff}.section-top{display:flex;justify-content:space-between;gap:32px;align-items:flex-end;margin-bottom:46px}.section-top h2{max-width:760px;margin-top:17px}.section-top p{max-width:365px;margin:0;color:var(--muted)}.section-dark .section-top p{color:#b8c5ba}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.feature{display:flex;flex-direction:column;min-height:380px;padding:32px;background:white;border:1px solid var(--line);transition:transform .25s,box-shadow .25s}.feature:hover,.service-card:hover{transform:translateY(-5px);box-shadow:0 14px 38px #15281f15}.feature .serial{display:flex;justify-content:space-between;align-items:center;color:var(--pine);font-size:.76rem;font-weight:800;letter-spacing:.12em}.feature h3{margin-top:auto;margin-bottom:16px}.feature p{font-size:.94rem;color:var(--muted);margin-bottom:19px}.text-link{display:inline-flex;align-items:center;gap:11px;font-size:.81rem;text-transform:uppercase;letter-spacing:.09em;font-weight:800;color:var(--pine)}.section-dark .text-link{color:#d5decf}.photo-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:18px;min-height:480px}.photo-box{position:relative;background:var(--dark2);overflow:hidden;min-height:370px}.photo-box img{height:100%;width:100%;object-fit:cover;filter:saturate(.62);transition:transform .5s}.photo-box:hover img{transform:scale(1.035)}.photo-box:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#0d1614bb);pointer-events:none}.photo-box-label{position:absolute;bottom:27px;left:27px;color:white;z-index:1;max-width:80%}.photo-box-label .eyebrow{font-size:.65rem;margin-bottom:13px}.photo-box-label h3{font-size:1.65rem}.photo-stack{display:grid;grid-template-rows:1fr 1fr;gap:18px}.photo-stack .photo-box{min-height:225px}.image-notice{font-size:.75rem;color:var(--muted);margin-top:16px}.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(42px,7vw,130px);align-items:center}.split .body h2{margin:18px 0 23px}.split .body p{color:#505c54;max-width:565px;font-size:1.05rem}.split .body .btn{margin-top:18px}.split-photo{min-height:580px;position:relative;background:#34463a}.split-photo img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;filter:saturate(.65)}.split-photo .photo-stamp{position:absolute;right:-18px;bottom:26px;background:var(--pine);color:white;padding:23px 28px;max-width:250px;font-size:.83rem;font-weight:600}.process{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;margin-top:55px}.process-item{border-top:1px solid #ffffff45;padding-top:28px}.process-item .number{font-family:Manrope,sans-serif;color:var(--lime);font-size:2rem;letter-spacing:-.04em;margin-bottom:45px}.process-item h3{margin-bottom:12px}.process-item p{color:#becac1;font-size:.9rem;max-width:245px}.banner{background:var(--pine);color:white;padding:75px 0}.banner .wrap{display:flex;align-items:center;justify-content:space-between;gap:40px}.banner h2{max-width:810px;font-size:clamp(2rem,3.8vw,3.9rem);margin:12px 0 0}.banner .eyebrow{color:#dfe8d9}.footer{background:#101716;color:#e1e7df;padding:76px 0 24px}.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.3fr;gap:45px}.footer .brand{margin-bottom:25px}.footer .intro{color:#b4c1b7;max-width:345px;font-size:.91rem}.foot-title{font-size:.74rem;color:#d9e6d4;letter-spacing:.15em;text-transform:uppercase;font-weight:800;margin-bottom:19px}.foot-menu{display:grid;gap:11px}.foot-menu a,.foot-menu p{font-size:.84rem;color:#b5c2b8;margin:0}.foot-menu a:hover{color:white}.foot-bottom{border-top:1px solid #ffffff29;margin-top:70px;padding-top:23px;display:flex;justify-content:space-between;gap:25px;font-size:.71rem;color:#a6b4aa}.foot-bottom a{text-decoration:underline}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card{background:white;border:1px solid var(--line);overflow:hidden;transition:.25s}.service-card .photo{height:220px;overflow:hidden;background:var(--pine)}.service-card .photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.62);transition:transform .5s}.service-card:hover .photo img{transform:scale(1.04)}.service-card .content{padding:27px;min-height:260px;display:flex;flex-direction:column}.service-card .eyebrow{font-size:.62rem;color:var(--pine);margin-bottom:16px}.service-card h3{margin-bottom:15px}.service-card p{color:var(--muted);font-size:.89rem}.service-card a{margin-top:auto}.bullets{list-style:none;padding:0;margin:20px 0 0}.bullets li{border-top:1px solid var(--line);padding:15px 0;font-size:.95rem;display:flex;gap:12px}.bullets li:before{content:'↗';font-weight:800;color:var(--pine)}.detail-image{min-height:540px;position:relative}.detail-image img{position:absolute;width:100%;height:100%;object-fit:cover;filter:saturate(.68)}.detail-heading{margin-bottom:20px}.detail-heading h2{margin:17px 0}.intro-paragraph{font-size:1.14rem;line-height:1.85;color:#49574e}.note-panel{background:#e1e8df;padding:32px 36px;border-left:3px solid var(--pine);margin-top:30px}.note-panel p{margin:0;color:#47554b}.project-panel{border:1px solid #d4ddd3;background:#fff;display:grid;grid-template-columns:1.15fr 1fr;min-height:440px}.project-panel .photobg{background:#2a3f34;overflow:hidden}.project-panel img{height:100%;width:100%;object-fit:cover;filter:saturate(.5)}.project-panel .content{padding:50px;display:flex;justify-content:center;flex-direction:column}.project-panel h3{font-size:2.1rem;margin:17px 0}.project-panel p{color:var(--muted)}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.info-box{padding:36px;border:1px solid var(--line);background:white;min-height:220px}.info-box .eyebrow{color:var(--pine);font-size:.65rem;margin-bottom:35px}.info-box h3{font-size:1.15rem;margin-bottom:10px}.info-box p{color:var(--muted);font-size:.9rem}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}.contact-info{border-top:1px solid #bdc7bc;padding:28px 0}.contact-info span{color:var(--pine);display:block;font-weight:800;font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:12px}.contact-info strong{font-size:1.15rem}.form-panel{background:white;border:1px solid var(--line);padding:42px}.form-panel h3{font-size:1.65rem;margin-bottom:7px}.form-panel .subtext{color:var(--muted);font-size:.9rem;margin-bottom:30px}.form-field{margin-bottom:19px}.form-field label{font-size:.78rem;font-weight:800;display:block;margin-bottom:7px}.form-field input,.form-field textarea,.form-field select{width:100%;background:#fafbf8;border:1px solid #cad3c8;padding:14px 15px;outline:none;border-radius:0;color:var(--ink)}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{border-color:var(--pine);box-shadow:0 0 0 2px #5f806823}.form-field textarea{min-height:120px;resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-panel .btn{width:100%;margin-top:8px}.form-help{font-size:.77rem;color:var(--muted);margin-top:17px}.legal-content{max-width:860px}.legal-content h2{font-size:1.65rem;margin:35px 0 10px}.legal-content p,.legal-content li{color:#536057}.legal-content a{text-decoration:underline}.breadcrumbs{position:absolute;top:122px;left:0;right:0;color:#c4d0c5;font-size:.76rem}.breadcrumbs a:hover{text-decoration:underline}::selection{background:#adc2aa;color:#111b16}
@media(max-width:1050px){.nav-links{gap:14px}.header-cta{padding:0 14px}.foot-grid{grid-template-columns:1.4fr 1fr 1fr}.foot-grid>div:last-child{grid-column:1/-1}.contact-grid{gap:42px}}
@media(max-width:800px){.container{width:min(calc(100% - 40px),var(--max))}.nav-wrap{min-height:78px}.brand-mark{width:40px;height:40px}.brand-word{font-size:1.14rem}.brand-sub{font-size:.47rem}.menu-btn{display:block;margin-left:auto}.nav-links{display:none;position:absolute;top:78px;left:0;right:0;flex-direction:column;background:#111916;padding:25px 20px;align-items:stretch;gap:0;border-top:1px solid #ffffff35}.nav-links.open{display:flex}.nav-links a{padding:12px}.header-cta{display:none}.hero{min-height:740px}.hero .hero-content{padding-top:165px}.hero h1{font-size:clamp(3.2rem,11vw,5.5rem)}.inner-hero{min-height:570px}.inner-hero h1{font-size:clamp(2.65rem,8vw,4.6rem)}.hero-bottom{bottom:24px}.hero-bottom span:first-child{display:none}.section{padding:78px 0}.section-top{display:block}.section-top p{margin-top:22px}.grid-3,.service-grid,.info-grid{grid-template-columns:1fr 1fr}.split,.project-panel,.contact-grid{grid-template-columns:1fr}.split-photo{min-height:420px}.process{grid-template-columns:1fr 1fr}.photo-grid{grid-template-columns:1fr}.photo-stack{grid-template-columns:1fr 1fr;grid-template-rows:auto}.photo-stack .photo-box{min-height:220px}.banner .wrap{display:block}.banner .btn{margin-top:28px}.foot-grid{grid-template-columns:1fr 1fr}.foot-grid>div:last-child{grid-column:auto}.foot-bottom{display:block}}
@media(max-width:540px){.grid-3,.grid-2,.service-grid,.info-grid,.photo-stack,.process,.form-row{grid-template-columns:1fr}.hero{min-height:720px}.hero h1{font-size:3.12rem}.hero .lead{font-size:1rem}.btn-pair{flex-direction:column;align-items:stretch}.btn-pair .btn{width:100%}.photo-stack{display:grid;grid-template-rows:1fr 1fr}.photo-box{min-height:300px}.section{padding:70px 0}.feature{min-height:315px}.foot-grid{grid-template-columns:1fr 1fr;gap:35px}.foot-grid>div:first-child,.foot-grid>div:last-child{grid-column:1/-1}.foot-bottom{margin-top:45px}.form-panel{padding:24px}.project-panel .photobg{min-height:245px}.project-panel .content{padding:28px}.split-photo .photo-stamp{right:0}.hero-bottom{font-size:.62rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Accessibility and long email support */
.skip-link{position:absolute;left:12px;top:-100px;z-index:100;background:#fff;color:#111817;padding:10px 14px}
.skip-link:focus{top:12px}
.foot-menu a,.contact-email-direct a{overflow-wrap:anywhere}
.contact-email-direct a{display:inline-block;font-weight:750;color:#465e50;text-decoration:underline;text-underline-offset:3px}

/* VISAN identity and visual quality refinement — Oct 2026 */
html { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
.site-header .brand,.footer .brand { gap: 14px; }
.brand-logo { width: 76px; height: 58px; flex: 0 0 auto; display: block; object-fit: contain; background: rgba(255,255,255,.98); border-radius: 9px; padding: 5px 4px; box-shadow: 0 4px 16px rgba(0,0,0,.14); }
.footer .brand-logo { width: 70px; height: 54px; }
.brand-word { letter-spacing: .135em; }
.hero:before { image-rendering: auto; }
.hero.home-hero:after { background:linear-gradient(90deg,rgba(10,22,17,.90) 0%,rgba(11,22,18,.75) 42%,rgba(18,29,22,.12) 100%),linear-gradient(0deg,rgba(9,21,17,.35),transparent 34%); }
.site-header a:focus-visible,.footer a:focus-visible,.btn:focus-visible,.header-cta:focus-visible,.menu-btn:focus-visible {outline:3px solid #d5e3b8;outline-offset:4px;}
img {height:auto;}
@media (max-width: 920px) { .brand-logo { width: 62px; height: 48px; }.footer .brand-logo { width: 64px; height: 50px; }.brand {gap:10px!important;} }
@media (max-width: 480px) { .brand-logo { width: 50px; height: 44px; padding: 3px; }.brand-word {font-size:1.05rem;} .brand-sub {font-size:.43rem;letter-spacing:.12em;} }
@media (prefers-reduced-motion:reduce){html {scroll-behavior:auto;}*{animation-duration:.01ms!important;transition-duration:.01ms!important;}}
