/* 2026-09-02 v1.1
 * - Prevented shared section widths from overflowing the mobile privacy layout.
 *
 * 2026-09-02 v1.0
 * - Added the responsive Netsetup privacy notice layout.
 */

.netsetup-privacy-page { display:block; width:100%; overflow:clip; }
.netsetup-privacy-page,
.netsetup-privacy-page * { box-sizing:border-box; }
.netsetup-privacy-page section { width:100%; max-width:none; min-height:0; margin:0; box-sizing:border-box; }
.netsetup-privacy-page section > * { width:auto!important; max-width:100%; min-width:0!important; min-height:0; margin:0; }
.netsetup-privacy-page h1,
.netsetup-privacy-page h2,
.netsetup-privacy-page h3,
.netsetup-privacy-page p { margin-top:0; }
.netsetup-privacy-page h1,
.netsetup-privacy-page h2,
.netsetup-privacy-page h3 { color:var(--frontcolor_dark); font-weight:500; text-wrap:balance; }
.netsetup-privacy-page p,
.netsetup-privacy-page li,
.netsetup-privacy-page address { color:var(--textcolor); }
.netsetup-privacy-page a { color:var(--frontcolor_dark); text-decoration:none; }
.netsetup-privacy-page a:hover { color:var(--yellow); }
.netsetup-privacy-page a:focus-visible { outline:3px solid var(--yellow); outline-offset:5px; }

.netsetup-privacy-system-label,
.netsetup-privacy-facts strong { font-family:"Doto",monospace; }
.netsetup-privacy-system-label { margin-bottom:24px!important; color:var(--frontcolor_dark)!important; font-size:14px; font-weight:700; letter-spacing:.08em; line-height:1.4; }

.netsetup-privacy-hero { display:grid; min-height:70svh; padding:190px max(90px,calc((100vw - 1480px)/2)) 110px; align-items:center; }
.netsetup-privacy-hero-copy { display:flex; width:min(1120px,78vw)!important; max-width:none!important; flex-direction:column; gap:0!important; }
.netsetup-privacy-hero h1 { margin-bottom:38px; font-size:clamp(72px,10vw,150px); letter-spacing:-.05em; line-height:.9; }
.netsetup-privacy-lead { max-width:820px; margin-bottom:0!important; font-size:clamp(20px,1.75vw,28px); line-height:1.5; }

.netsetup-privacy-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:0 max(90px,calc((100vw - 1480px)/2)); background:var(--lightblue); }
.netsetup-privacy-facts > div { display:flex; min-height:190px; padding:40px; border-left:1px solid var(--bordercolor_dark); box-sizing:border-box; flex-direction:column; justify-content:center; gap:10px!important; }
.netsetup-privacy-facts > div:last-child { border-right:1px solid var(--bordercolor_dark); }
.netsetup-privacy-facts strong { color:var(--frontcolor_dark); font-size:clamp(22px,2.2vw,36px); font-weight:700; letter-spacing:.02em; line-height:1; }
.netsetup-privacy-facts span { color:var(--textcolor); font-size:15px; line-height:1.4; }

.netsetup-privacy-content { display:grid; grid-template-columns:minmax(220px,310px) minmax(0,820px); padding:130px max(90px,calc((100vw - 1480px)/2)); justify-content:space-between; align-items:start; gap:clamp(70px,9vw,180px); }
.netsetup-privacy-index { position:sticky; top:145px; }
.netsetup-privacy-index nav { display:flex; border-top:1px solid var(--bordercolor); flex-direction:column; }
.netsetup-privacy-index a { padding:12px 0; border-bottom:1px solid var(--bordercolor); font-size:14px; line-height:1.35; }
.netsetup-privacy-index a::after { float:right; content:"→"; }

.netsetup-privacy-article { min-width:0; }
.netsetup-privacy-article section { padding:0 0 76px; scroll-margin-top:130px; }
.netsetup-privacy-article section + section { padding-top:76px; border-top:1px solid var(--bordercolor); }
.netsetup-privacy-article h2 { margin-bottom:30px; font-size:clamp(38px,4vw,62px); letter-spacing:-.04em; line-height:.98; }
.netsetup-privacy-article h3 { margin:42px 0 18px; font-size:clamp(23px,2vw,30px); letter-spacing:-.025em; line-height:1.15; }
.netsetup-privacy-article p,
.netsetup-privacy-article li,
.netsetup-privacy-article address { font-size:clamp(17px,1.25vw,20px); line-height:1.7; }
.netsetup-privacy-article p { margin-bottom:24px; }
.netsetup-privacy-article ul { margin:0 0 28px; padding-left:1.25em; }
.netsetup-privacy-article li + li { margin-top:10px; }
.netsetup-privacy-article address { padding-left:24px; border-left:3px solid var(--yellow); font-style:normal; }
.netsetup-privacy-article address a { overflow-wrap:anywhere; }

@media only screen and (max-width:1020px) {
	.netsetup-privacy-hero,
	.netsetup-privacy-facts,
	.netsetup-privacy-content { padding-right:60px; padding-left:60px; }
	.netsetup-privacy-content { grid-template-columns:220px minmax(0,1fr); gap:70px; }
}

@media only screen and (max-width:820px) {
	.netsetup-privacy-hero { min-height:68svh; padding:145px 20px 76px; }
	.netsetup-privacy-hero-copy { width:100%!important; }
	.netsetup-privacy-hero h1 { margin-bottom:28px; font-size:clamp(62px,18vw,92px); }
	.netsetup-privacy-lead { max-width:100%; font-size:18px; overflow-wrap:break-word; }
	.netsetup-privacy-facts { grid-template-columns:1fr; padding:0 20px; }
	.netsetup-privacy-facts > div { min-height:128px; padding:26px 20px; border-right:1px solid var(--bordercolor_dark); border-bottom:1px solid var(--bordercolor_dark); }
	.netsetup-privacy-facts strong { font-size:28px; }
	.netsetup-privacy-content { display:flex; padding:90px 20px; flex-direction:column; gap:70px; }
	.netsetup-privacy-index { position:static; width:100%; }
	.netsetup-privacy-article section { padding-bottom:58px; scroll-margin-top:100px; }
	.netsetup-privacy-article section + section { padding-top:58px; }
	.netsetup-privacy-article h2 { font-size:clamp(38px,11vw,54px); }
	.netsetup-privacy-article p,
	.netsetup-privacy-article li,
	.netsetup-privacy-article address { font-size:17px; line-height:1.65; }
}

@media (prefers-reduced-motion:reduce) {
	.netsetup-privacy-page * { scroll-behavior:auto!important; }
}
