/* 2026-09-03 v1.14
 * - Hid the decorative homepage loom on phones so it cannot cross the introduction and actions.
 *
 * 2026-09-02 v1.13
 * - Opened the market card stack and added compact query-driven title labels.
 * - Removed the redundant market autoplay control.
 *
 * 2026-09-02 v1.12
 * - Applied Doto to the homepage hero kicker.
 *
 * 2026-09-02 v1.11
 * - Kept the Cards-effect slides in one horizontal wrapper row.
 *
 * 2026-09-02 v1.10
 * - Contained the Cards-effect wrapper and slides to one square stack.
 *
 * 2026-09-02 v1.9
 * - Added the query-driven Markets card stack with a subtle shadow and autoplay control.
 *
 * 2026-09-02 v1.8
 * - Made inline people photography landscape at 8:5 on phones.
 *
 * 2026-09-02 v1.7
 * - Scoped Doto proof headings to the stable homepage wrapper during transitions.
 *
 * 2026-09-02 v1.6
 * - Kept Doto proof headings authoritative when transition CSS coexists.
 *
 * 2026-09-02 v1.5
 * - Applied Doto to the complete homepage proof headings.
 *
 * 2026-09-02 v1.4
 * - Applied Doto to homepage figures and sequence numbers.
 * - Preserved the inherited large figure size against general span styling.
 *
 * 2026-09-01 v1.3
 * - Replaced the first two story numbers with responsive square photography.
 *
 * 2026-09-01 v1.2
 * - Kept the final call-to-action heading fully legible on the purple panel.
 *
 * 2026-09-01 v1.1
 * - Contained the inherited wide mobile loom without horizontal page overflow.
 *
 * 2026-09-01 v1.0
 * - Added the paced responsive Netsetup homepage journey.
 * - Integrated the existing loom with readable content layers and clear links.
 */

@import url("https://fonts.googleapis.com/css2?family=Doto:wght@500;600;700&display=swap");

.template-home_netsetup { overflow-x:clip; }
.template-home_netsetup .content { display:block; gap:0; overflow-x:clip; }
.template-home_netsetup #terrazzo { right:-25vw!important; width:150vw!important; max-width:none; }
.template-home_netsetup .netsetup-home { position:relative; z-index:1; display:block; width:100%; overflow:clip; }
.template-home_netsetup .netsetup-home section { width:100%; max-width:none; min-height:0; margin:0; box-sizing:border-box; }
.template-home_netsetup .netsetup-home section > * { width:auto; min-height:0; margin:0; }
.template-home_netsetup .netsetup-home h1,
.template-home_netsetup .netsetup-home h2,
.template-home_netsetup .netsetup-home h3,
.template-home_netsetup .netsetup-home p { margin-top:0; }
.template-home_netsetup .netsetup-home h1,
.template-home_netsetup .netsetup-home h2 { max-width:none; font-weight:500; letter-spacing:-.045em; text-wrap:balance; }
.template-home_netsetup .netsetup-home p { color:var(--textcolor); }
.template-home_netsetup .netsetup-home .button-group { flex-wrap:wrap; }
.template-home_netsetup .netsetup-home .button:focus-visible,
.template-home_netsetup .netsetup-home-solution:focus-visible { outline:3px solid var(--yellow); outline-offset:5px; }

.netsetup-home-kicker { margin-bottom:22px; color:var(--frontcolor_dark)!important; font-size:12px; font-weight:700; letter-spacing:.14em; line-height:1.4; text-transform:uppercase; }
.netsetup-home-hero .netsetup-home-kicker { font-family:"Doto",monospace; font-variation-settings:"ROND" 0; }

.template-home_netsetup .netsetup-home-hero { display:grid; min-height:100svh; padding:190px max(90px,calc((100vw - 1480px)/2)) 120px; align-items:center; }
.netsetup-home-hero-copy { display:flex; flex-direction:column; width:min(1120px,76vw)!important; max-width:none!important; gap:0!important; }
.netsetup-home-hero h1 { margin-bottom:42px; font-size:clamp(68px,8.2vw,132px); line-height:.91; }
.netsetup-home-lead { max-width:780px; margin-bottom:34px; font-size:clamp(20px,1.75vw,28px); line-height:1.5; }

.template-home_netsetup .netsetup-home-proof { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:0 max(90px,calc((100vw - 1480px)/2)); background:color-mix(in srgb,var(--lightblue) 88%,transparent); }
.netsetup-home-proof-item { display:flex; min-width:0; min-height:210px; padding:44px 48px; border-left:1px solid var(--bordercolor); box-sizing:border-box; justify-content:center; gap:12px!important; }
.netsetup-home-proof-item:last-child { border-right:1px solid var(--bordercolor); }
.netsetup-home .netsetup-home-proof-item strong { color:var(--frontcolor_dark); font-family:"Doto",monospace; font-size:clamp(30px,3vw,48px); font-weight:500; font-variation-settings:"ROND" 0; letter-spacing:-.035em; line-height:1; }
.netsetup-home-proof-item .netsetup-home-proof-number,
.netsetup-home-solution-index,
.netsetup-home-story-number { font-family:"Doto",monospace; font-variation-settings:"ROND" 0; }
.netsetup-home-proof-item .netsetup-home-proof-number { max-width:none; color:inherit; font-size:inherit; line-height:inherit; }
.netsetup-home-proof-item > span { max-width:240px; color:var(--textcolor); font-size:14px; line-height:1.5; }

.template-home_netsetup .netsetup-home-story { display:grid; grid-template-columns:minmax(320px,.82fr) minmax(0,1fr); min-height:78svh; padding:130px max(90px,calc((100vw - 1480px)/2)); align-items:center; column-gap:70px; }
.netsetup-home-story-number { align-self:start; padding-top:12px; color:var(--bordercolor_dark); font-size:13px; font-weight:600; letter-spacing:.12em; }
.netsetup-home-story-media { width:100%!important; max-width:600px!important; aspect-ratio:1; overflow:hidden; }
.netsetup-home-story-media img { display:block; width:100%; height:100%; object-fit:cover; }
.netsetup-home-market-stack { position:relative; display:block!important; width:min(100%,440px)!important; max-width:440px!important; margin:0 auto!important; padding:28px 58px 28px 18px; box-sizing:border-box; }
.netsetup-home-market-cards { position:relative; display:block!important; width:100%; height:auto!important; max-width:none!important; aspect-ratio:1; margin:0!important; overflow:visible; }
.netsetup-home-market-cards .swiper-wrapper { position:absolute!important; inset:0; display:flex!important; flex-direction:row!important; width:100%; height:100%!important; margin:0!important; gap:0!important; }
.netsetup-home-market-card { position:relative; width:100%; height:100%!important; min-height:0!important; margin:0; padding:0!important; overflow:hidden; border-radius:10px; background:var(--lightcolor_light); box-shadow:0 14px 34px rgba(82,0,86,.14); box-sizing:border-box; flex-shrink:0!important; }
.netsetup-home-market-card img { display:block; width:100%; height:100%; max-height:none; object-fit:cover; filter:saturate(.78) contrast(.95); }
.netsetup-home-market-card-title { position:absolute; z-index:2; left:14px; bottom:14px; display:block; max-width:calc(100% - 28px); padding:7px 10px; border-radius:3px; background:rgba(255,253,251,.9); color:var(--frontcolor_dark); font-family:"Doto",monospace; font-size:12px; font-weight:700; font-variation-settings:"ROND" 0; letter-spacing:.04em; line-height:1.2; text-transform:uppercase; box-sizing:border-box; }
.netsetup-home-story-copy { display:flex; width:100%!important; max-width:760px!important; gap:0!important; }
.netsetup-home-story h2 { margin-bottom:36px; font-size:clamp(54px,6.2vw,98px); line-height:.96; }
.netsetup-home-story-copy > p:not(.netsetup-home-kicker) { max-width:720px; margin-bottom:30px; font-size:clamp(18px,1.4vw,23px); line-height:1.62; }
.template-home_netsetup .netsetup-home-story-right .netsetup-home-story-copy { margin-left:auto; }
.template-home_netsetup .netsetup-home-story-right { background:color-mix(in srgb,var(--lightcolor_light) 82%,transparent); }

.template-home_netsetup .netsetup-home-solutions { display:block; padding:120px max(90px,calc((100vw - 1480px)/2)) 140px; background:var(--lightblue); }
.netsetup-home-solutions-heading { display:flex; width:min(920px,70vw)!important; max-width:none!important; margin:0 0 70px!important; gap:0!important; }
.netsetup-home-solutions-heading h2 { margin-bottom:0; font-size:clamp(54px,6vw,92px); line-height:.96; }
.netsetup-home-solution-list { display:block!important; width:100%; max-width:none!important; border-top:1px solid var(--bordercolor_dark); gap:0!important; }
.netsetup-home-solution { display:grid; grid-template-columns:70px minmax(0,1fr) 58px; min-height:180px; padding:34px 0; border-bottom:1px solid var(--bordercolor_dark); box-sizing:border-box; color:var(--textcolor); align-items:center; column-gap:28px; transition:color .25s ease,padding .25s ease; }
.netsetup-home-solution-index { align-self:start; padding-top:10px; color:var(--frontcolor_dark); font-size:12px; font-weight:600; letter-spacing:.12em; }
.netsetup-home-solution-copy { display:flex; flex-direction:column; min-width:0; gap:14px; }
.netsetup-home-solution-copy strong { color:var(--frontcolor_dark); font-family:"neue-haas-unica","Inter",sans-serif; font-size:clamp(34px,4vw,62px); font-weight:500; letter-spacing:-.035em; line-height:1; }
.netsetup-home-solution-copy small { max-width:720px; font-size:16px; line-height:1.55; }
.netsetup-home-solution-arrow { display:flex; width:52px; height:52px; border:1px solid var(--bordercolor_dark); border-radius:50%; color:var(--frontcolor_dark); font-size:22px; align-items:center; justify-content:center; transition:background-color .25s ease,color .25s ease,transform .25s ease; }
.netsetup-home-solution:hover { padding-left:14px; color:var(--frontcolor_dark); }
.netsetup-home-solution:hover .netsetup-home-solution-arrow { background:var(--frontcolor); color:var(--lightcolor_light); transform:translateX(4px); }

.template-home_netsetup .netsetup-home-contact { display:grid; min-height:72svh; padding:130px max(90px,calc((100vw - 1480px)/2)); background:var(--frontcolor); align-items:center; }
.netsetup-home-contact-copy { display:flex; width:min(960px,75vw)!important; max-width:none!important; gap:0!important; }
.netsetup-home-contact .netsetup-home-kicker,
.netsetup-home-contact h2,
.netsetup-home-contact p,
.netsetup-home-contact a { color:var(--lightcolor_light)!important; -webkit-text-fill-color:currentColor; }
.template-home_netsetup .netsetup-home-contact h2 { background-image:none; background-clip:border-box; -webkit-background-clip:border-box; -webkit-text-fill-color:var(--lightcolor_light); }
.netsetup-home-contact h2 { margin-bottom:34px; font-size:clamp(58px,6.8vw,106px); line-height:.94; }
.netsetup-home-contact-copy > p:not(.netsetup-home-kicker) { max-width:720px; margin-bottom:28px; font-size:clamp(18px,1.45vw,23px); line-height:1.62; }

@media (max-width:820px) {
	.template-home_netsetup #terrazzo { display:none!important; }
	.template-home_netsetup .netsetup-home-hero { min-height:90svh; padding:145px 20px 76px; }
	.netsetup-home-hero-copy { width:100%!important; }
	.netsetup-home-hero h1 { margin-bottom:28px; font-size:clamp(52px,15vw,76px); }
	.netsetup-home-lead { margin-bottom:26px; font-size:18px; }
	.template-home_netsetup .netsetup-home .button-group { flex-direction:column!important; gap:8px; align-items:flex-start; }
	.template-home_netsetup .netsetup-home-proof { grid-template-columns:1fr; padding:0 20px; }
	.netsetup-home-proof-item { min-height:0; padding:30px 0; border-left:0; border-top:1px solid var(--bordercolor); }
	.netsetup-home-proof-item:last-child { border-right:0; border-bottom:1px solid var(--bordercolor); }
	.template-home_netsetup .netsetup-home-story { grid-template-columns:1fr; min-height:0; padding:86px 20px 100px; row-gap:34px; }
	.netsetup-home-story-number { padding-top:0; }
	.netsetup-home-story-media { max-width:none!important; aspect-ratio:8/5; }
	.netsetup-home-market-stack { width:min(100%,360px)!important; padding:22px 46px 22px 12px; }
	.netsetup-home-story-copy { width:100%!important; }
	.netsetup-home-story h2 { margin-bottom:26px; font-size:clamp(48px,13vw,68px); }
	.netsetup-home-story-copy > p:not(.netsetup-home-kicker) { font-size:17px; }
	.template-home_netsetup .netsetup-home-solutions { padding:82px 20px 96px; }
	.netsetup-home-solutions-heading { width:100%!important; margin-bottom:48px!important; }
	.netsetup-home-solutions-heading h2 { font-size:clamp(48px,13vw,68px); }
	.netsetup-home-solution { grid-template-columns:34px minmax(0,1fr) 42px; min-height:0; padding:28px 0; column-gap:12px; }
	.netsetup-home-solution-copy { gap:10px; }
	.netsetup-home-solution-copy strong { font-size:clamp(30px,9vw,42px); }
	.netsetup-home-solution-copy small { font-size:14px; }
	.netsetup-home-solution-arrow { width:40px; height:40px; font-size:18px; }
	.netsetup-home-solution:hover { padding-left:0; }
	.template-home_netsetup .netsetup-home-contact { min-height:70svh; padding:90px 20px 120px; }
	.netsetup-home-contact-copy { width:100%!important; }
	.netsetup-home-contact h2 { font-size:clamp(50px,14vw,72px); }
}

@media (prefers-reduced-motion:reduce) {
	.netsetup-home-solution,
	.netsetup-home-solution-arrow { transition-duration:0ms; }
}
