/* Scotland gateway and city experiences — lightweight, self-contained visual layer. */
.scotland-portal{position:relative;isolation:isolate;overflow:hidden;background:#0d1211;color:#f4f2ec;padding:clamp(90px,10vw,150px) clamp(20px,7vw,110px)}
.scotland-portal:before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(circle at 15% 18%,rgba(108,181,160,.18),transparent 30%),radial-gradient(circle at 88% 70%,rgba(194,151,90,.15),transparent 34%),linear-gradient(135deg,#0b100f,#141817 52%,#0c1010)}
.scotland-portal-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-1;opacity:.62;pointer-events:none}
.scotland-portal-intro{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:clamp(35px,7vw,110px);align-items:end;max-width:1480px;margin:0 auto 58px}
.scotland-portal-intro h2{font:700 clamp(42px,5.6vw,80px)/1.01 var(--display);letter-spacing:-.06em;margin:18px 0 0;max-width:980px}
.scotland-portal-intro>p:not(.scotland-kicker){color:#b7bdb9;font-size:clamp(17px,1.4vw,20px);line-height:1.7;margin:0;max-width:570px}
.scotland-kicker{grid-column:1/-1;display:flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:800;margin:0;color:#d7ddd9}
.scotland-kicker span{width:38px;height:1px;background:#7fd0b6;box-shadow:0 0 16px #7fd0b6}
.scotland-principles{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.scotland-principles span{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid rgba(255,255,255,.14);border-radius:999px;color:#ccd2ce;font-size:13px;background:rgba(255,255,255,.035);backdrop-filter:blur(8px)}
.scotland-principles b{color:#78c9af;font-size:10px;letter-spacing:.1em}
.scotland-city-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:1480px;margin:auto}
.scotland-city-card{min-height:600px;display:grid;grid-template-rows:minmax(270px,1fr) auto;overflow:hidden;border-radius:28px;text-decoration:none;color:#f8f7f3;border:1px solid rgba(255,255,255,.16);position:relative;box-shadow:0 30px 80px rgba(0,0,0,.22);transition:transform .5s cubic-bezier(.2,.7,.2,1),border-color .35s,box-shadow .5s}
.scotland-city-card:hover{transform:translateY(-9px);border-color:rgba(255,255,255,.34);box-shadow:0 40px 110px rgba(0,0,0,.38)}
.city-glasgow{background:linear-gradient(145deg,#17372f,#0d1715 72%)}
.city-edinburgh{background:linear-gradient(145deg,#403328,#171513 72%)}
.city-card-visual{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;min-height:300px;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:44px 44px}
.city-card-visual:before,.city-card-visual:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.14);border-radius:50%;transition:transform .8s ease}
.city-card-visual:before{width:320px;height:320px}.city-card-visual:after{width:470px;height:470px}
.scotland-city-card:hover .city-card-visual:before{transform:scale(1.08) rotate(12deg)}.scotland-city-card:hover .city-card-visual:after{transform:scale(.94) rotate(-8deg)}
.city-card-visual>strong{font:800 clamp(88px,12vw,180px)/1 var(--display);letter-spacing:-.09em;color:rgba(255,255,255,.92);text-shadow:0 20px 70px rgba(0,0,0,.28);z-index:2}
.city-coordinate{position:absolute;top:25px;left:27px;text-transform:uppercase;letter-spacing:.16em;font-size:10px;color:rgba(255,255,255,.65)}
.city-line{position:absolute;inset:auto 0 0;height:95px;display:flex;align-items:end;justify-content:center;gap:5px;opacity:.7}
.city-line i{display:block;width:17%;border:1px solid rgba(255,255,255,.42);border-bottom:0}.city-line-glasgow i:nth-child(1){height:34px;border-radius:55% 55% 0 0}.city-line-glasgow i:nth-child(2){height:74px;border-radius:50% 50% 0 0;transform:skewX(-16deg)}.city-line-glasgow i:nth-child(3){height:46px;border-radius:55% 55% 0 0}
.city-line-edinburgh i:nth-child(1){height:48px;clip-path:polygon(50% 0,100% 25%,100% 100%,0 100%,0 25%)}.city-line-edinburgh i:nth-child(2){height:88px;clip-path:polygon(50% 0,64% 45%,100% 55%,100% 100%,0 100%,0 55%,36% 45%)}.city-line-edinburgh i:nth-child(3){height:58px;clip-path:polygon(50% 0,100% 35%,100% 100%,0 100%,0 35%)}
.city-card-copy{padding:clamp(28px,4vw,48px);position:relative;background:linear-gradient(180deg,rgba(12,15,14,.35),rgba(7,9,8,.82));backdrop-filter:blur(9px)}
.city-card-copy>p{text-transform:uppercase;letter-spacing:.16em;font-size:10px;color:#aeb7b1;margin:0 0 15px}
.city-card-copy h3{font:700 clamp(31px,3.4vw,51px)/1.03 var(--display);letter-spacing:-.05em;margin:0 0 23px;max-width:620px}
.city-card-copy>span{display:flex;align-items:center;flex-wrap:wrap;gap:9px;color:#b9bfbb;font-size:13px;margin-bottom:30px}.city-card-copy>span i{width:3px;height:3px;background:currentColor;border-radius:50%}
.city-card-copy>b{display:flex;align-items:center;justify-content:space-between;padding-top:20px;border-top:1px solid rgba(255,255,255,.14);font-size:14px}.city-card-copy em{font-style:normal;font-size:24px;transition:transform .3s}.scotland-city-card:hover .city-card-copy em{transform:translate(4px,-4px)}
.scotland-honesty{max-width:1080px;margin:38px auto 0;text-align:center;color:#9ea6a1;font-size:14px;line-height:1.7}.scotland-honesty span{color:#eef1ee;font-weight:700}

body.location-story-page{--city-accent:#72c8ae;--city-accent-soft:rgba(114,200,174,.18);--city-deep:#0b1915}
body.location-edinburgh{--city-accent:#d7a86e;--city-accent-soft:rgba(215,168,110,.18);--city-deep:#201812}
body.location-story-page .site-nav{background:rgba(9,13,12,.94)!important;border-color:rgba(255,255,255,.08)!important}
body.location-story-page .site-logo,body.location-story-page .site-menu a{color:#f5f3ed!important}body.location-story-page .site-logo span{color:var(--city-accent)!important}
html body.location-story-page header.site-nav a.site-logo:after{color:#f5f3ed!important}
body.location-story-page .site-menu .nav-cta{background:var(--city-accent)!important;color:#111!important}
body.location-story-page .location-story-hero{min-height:760px!important;padding:clamp(90px,9vw,140px) 0 80px!important;background:radial-gradient(circle at 72% 42%,var(--city-accent-soft),transparent 28%),linear-gradient(135deg,var(--city-deep),#080b0a 62%,#111)!important;color:#fff!important;isolation:isolate}
body.location-story-page .location-story-hero:before{background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px)!important;background-size:64px 64px!important;mask-image:linear-gradient(90deg,#000,rgba(0,0,0,.55),transparent)!important;z-index:-2}
body.location-story-page .location-story-hero:after{display:none!important}
.location-hero-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-1;opacity:.72;pointer-events:none}
.location-hero-orbit{position:absolute;width:min(52vw,720px);aspect-ratio:1;right:-10vw;top:50%;transform:translateY(-50%);border:1px solid rgba(255,255,255,.1);border-radius:50%;z-index:-1}.location-hero-orbit:before,.location-hero-orbit:after{content:"";position:absolute;inset:12%;border:1px solid rgba(255,255,255,.08);border-radius:50%}.location-hero-orbit:after{inset:28%}.location-hero-orbit span{position:absolute;width:8px;height:8px;background:var(--city-accent);border-radius:50%;box-shadow:0 0 24px var(--city-accent)}.location-hero-orbit span:nth-child(1){left:14%;top:24%}.location-hero-orbit span:nth-child(2){right:18%;top:37%}.location-hero-orbit span:nth-child(3){left:42%;bottom:9%}
body.location-story-page .location-story-hero .hero-inner{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr);grid-template-rows:auto auto;column-gap:clamp(45px,7vw,110px);align-items:center;max-width:1180px!important;text-align:left!important}
body.location-story-page .location-story-hero .hero-content{grid-column:1;grid-row:1}
body.location-story-page .breadcrumbs{justify-content:flex-start!important;color:#a8afab!important}
body.location-story-page .location-story-hero .eyebrow{color:var(--city-accent)!important}
body.location-story-page .location-story-hero h1{color:#fff!important;font-size:clamp(51px,6.4vw,92px)!important;margin:0 0 25px!important;max-width:840px!important}
body.location-story-page .location-story-hero h1 span{color:var(--city-accent)!important}
body.location-story-page .location-story-hero .hero-copy{color:#c0c6c2!important;margin:0!important;max-width:700px!important}
body.location-story-page .location-story-hero .hero-actions{justify-content:flex-start!important}
body.location-story-page .location-story-hero .button.primary{background:var(--city-accent)!important;color:#111!important;border-color:var(--city-accent)!important}
body.location-story-page .location-story-hero .button.secondary{color:#fff!important;border-color:rgba(255,255,255,.35)!important;background:rgba(255,255,255,.04)!important}
body.location-story-page .location-story-hero .trust-strip{grid-column:1;grid-row:2;justify-content:flex-start!important;border-color:rgba(255,255,255,.16)!important;color:#aab1ad!important;width:100%}
body.location-story-page .location-story-hero .trust-strip li>i{display:none!important}body.location-story-page .location-story-hero .trust-strip li:before{content:"✓"!important;display:inline-grid!important;place-items:center;width:28px;height:28px;border:1px solid rgba(255,255,255,.28);border-radius:50%;color:var(--city-accent)!important;font-size:12px}
.location-hero-proof{grid-column:2;grid-row:1/3;min-height:440px;border:1px solid rgba(255,255,255,.16);border-radius:30px;padding:32px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(145deg,rgba(255,255,255,.13),rgba(255,255,255,.025));box-shadow:0 40px 100px rgba(0,0,0,.28);backdrop-filter:blur(14px);position:relative;overflow:hidden}
.location-hero-proof:before{content:"";position:absolute;width:320px;height:320px;border:1px solid rgba(255,255,255,.12);border-radius:50%;right:-145px;top:-120px}.location-hero-proof:after{content:"";position:absolute;left:30px;right:30px;top:49%;height:1px;background:linear-gradient(90deg,var(--city-accent),transparent);box-shadow:0 0 16px var(--city-accent)}
.location-code{font:800 clamp(92px,10vw,150px)/.85 var(--display);letter-spacing:-.1em;color:rgba(255,255,255,.92)}
.location-hero-proof div{position:relative;z-index:2}.location-hero-proof small{display:block;text-transform:uppercase;letter-spacing:.16em;color:#9fa8a3;font-size:10px;margin-bottom:10px}.location-hero-proof strong{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:16px}.location-hero-proof strong i{width:4px;height:4px;background:var(--city-accent);border-radius:50%}.location-hero-proof>b{font-size:13px;color:#abb3ae;text-align:right;line-height:1.5;position:relative;z-index:2}
body.location-story-page .section{position:relative}
body.location-story-page .section-heading h2{max-width:840px}
body.location-story-page .info-card{border-radius:24px!important;padding:34px!important;border-color:#d4d1c8!important;transition:transform .35s,box-shadow .35s!important}
body.location-story-page .info-card:before{inset:auto 0 0!important;height:4px!important;border:0!important;border-radius:0!important;background:linear-gradient(90deg,var(--city-accent),transparent)!important;clip-path:none!important}
body.location-story-page .info-card:hover{transform:translateY(-7px)!important;box-shadow:0 24px 65px rgba(17,17,17,.1)!important}
body.location-story-page .info-card i,body.location-story-page .feature-row i{background:var(--city-deep)!important;color:var(--city-accent)!important}
body.location-story-page .process-step b{color:#514e48!important}
body.location-story-page .final-cta{background:linear-gradient(135deg,var(--city-deep),#0b0d0c)!important}
body.location-story-page .floating-whatsapp{background:var(--city-accent)!important;color:#111!important}
.city-proof-section{background:#111!important;color:#fff!important;overflow:hidden}
.city-proof-section .section-heading h2,.city-proof-section .section-heading p{color:#fff!important}.city-proof-section .section-heading h2 span{color:var(--city-accent)!important}.city-proof-section .section-heading p:last-child{color:#aaa!important}
.city-proof-grid{display:grid;grid-template-columns:1.1fr .9fr .9fr;gap:14px}
.city-proof-card{min-height:360px;padding:34px;border:1px solid #393939;border-radius:24px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(145deg,#1b1b1b,#111);position:relative;overflow:hidden}.city-proof-card:first-child{background:linear-gradient(145deg,var(--city-deep),#131615)}.city-proof-card:before{content:"";position:absolute;width:190px;height:190px;border:1px solid rgba(255,255,255,.1);border-radius:50%;right:-60px;top:-70px}.city-proof-card small{text-transform:uppercase;letter-spacing:.15em;color:var(--city-accent);font-size:10px}.city-proof-card h3{font:700 clamp(27px,2.5vw,40px)/1.05 var(--display);letter-spacing:-.045em;margin:18px 0}.city-proof-card p{color:#aaa;line-height:1.65}.city-proof-card a{color:#fff!important;font-weight:700;text-underline-offset:5px}

@media(max-width:960px){.scotland-portal-intro{grid-template-columns:1fr}.scotland-city-grid{grid-template-columns:1fr}.scotland-city-card{min-height:540px}.scotland-principles{grid-column:auto}.scotland-portal-intro>p:not(.scotland-kicker){max-width:760px}.scotland-kicker{grid-column:auto}body.location-story-page .location-story-hero .hero-inner{grid-template-columns:1fr}.location-hero-proof{grid-column:1;grid-row:3;min-height:300px;margin-top:35px}.location-code{font-size:100px}body.location-story-page .location-story-hero .trust-strip{grid-column:1}.city-proof-grid{grid-template-columns:1fr 1fr}.city-proof-card:first-child{grid-column:1/-1}}
@media(max-width:620px){.scotland-portal{padding:78px 18px}.scotland-portal-intro{margin-bottom:38px}.scotland-portal-intro h2{font-size:42px}.scotland-principles{display:grid}.scotland-city-card{min-height:500px;border-radius:22px}.city-card-visual{min-height:230px}.city-card-visual>strong{font-size:96px}.city-card-copy{padding:27px 23px}.city-card-copy h3{font-size:32px}.scotland-honesty{text-align:left}.location-hero-proof{padding:25px;min-height:280px}body.location-story-page .location-story-hero{padding-top:74px!important}body.location-story-page .location-story-hero h1{font-size:47px!important}.city-proof-grid{grid-template-columns:1fr}.city-proof-card:first-child{grid-column:auto}.location-hero-orbit{width:480px;right:-300px}}
@media(prefers-reduced-motion:reduce){.scotland-city-card,.city-card-visual:before,.city-card-visual:after,.city-card-copy em{transition:none}.scotland-portal-canvas,.location-hero-canvas{display:none}}
