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

:root {
  --color-primary-50:#f7f8f9;
  --color-primary-100:#eef0f2;
  --color-primary-200:#dce0e4;
  --color-primary-300:#b9c0c8;
  --color-primary-400:#8e98a4;
  --color-primary-500:#6c7884;
  --color-primary-600:#525d6a;
  --color-primary-700:#3e4751;
  --color-primary-800:#2a3138;
  --color-primary-900:#1a1f24;
  --color-primary-950:#0e1115;

  --color-secondary-50:#faf9f7;
  --color-secondary-100:#f3f1ec;
  --color-secondary-200:#e6e2d8;
  --color-secondary-300:#d4cdbc;
  --color-secondary-400:#bcb193;
  --color-secondary-500:#a89d77;
  --color-secondary-600:#8e845f;

  --color-accent-50:#f0f6f6;
  --color-accent-100:#dbeaea;
  --color-accent-200:#b8d4d4;
  --color-accent-300:#8ab8b8;
  --color-accent-400:#5a9696;
  --color-accent-500:#3d7878;
  --color-accent-600:#2f6060;

  --color-success-50:#f0f7f0;
  --color-success-100:#dceidf;
  --color-success-500:#4a8a4a;
  --color-success-700:#3a6e3a;

  --color-warning-50:#faf6ee;
  --color-warning-100:#f0e6cc;
  --color-warning-500:#c99a2e;
  --color-warning-700:#a87e22;

  --color-error-50:#faf0f0;
  --color-error-100:#f0dcdc;
  --color-error-500:#b94848;
  --color-error-700:#973a3a;

  --color-white:#ffffff;
  --color-bg:#fafafa;
  --color-surface:#ffffff;
  --color-border:#e2e5e8;
  --color-text:#2a3138;
  --color-text-secondary:#6c7884;
  --color-text-muted:#8e98a4;

  --font-sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
  --font-size-xs:0.75rem;
  --font-size-sm:0.875rem;
  --font-size-base:1rem;
  --font-size-lg:1.125rem;
  --font-size-xl:1.25rem;
  --font-size-2xl:1.5rem;
  --font-size-3xl:2rem;
  --font-size-4xl:2.75rem;

  --line-height-body:1.5;
  --line-height-heading:1.2;

  --space-1:0.125rem;
  --space-2:0.25rem;
  --space-3:0.5rem;
  --space-4:0.75rem;
  --space-5:1rem;
  --space-6:1.5rem;
  --space-7:2rem;
  --space-8:3rem;
  --space-9:4rem;
  --space-10:6rem;

  --radius-sm:4px;
  --radius-md:8px;
  --radius-lg:12px;
  --radius-xl:16px;

  --shadow-sm:0 1px 2px rgba(26,31,36,0.06);
  --shadow-md:0 2px 8px rgba(26,31,36,0.08);
  --shadow-lg:0 8px 24px rgba(26,31,36,0.10);
  --shadow-xl:0 16px 48px rgba(26,31,36,0.14);

  --transition-fast:150ms ease;
  --transition-base:250ms ease;
  --transition-slow:400ms ease;

  --container-max:1200px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

html{font-size:16px;scroll-behavior:smooth}

body{
  font-family:var(--font-sans);
  font-size:var(--font-size-base);
  line-height:var(--line-height-body);
  color:var(--color-text);
  background-color:var(--color-bg);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

a{color:var(--color-accent-600);text-decoration:none;transition:color var(--transition-fast)}
a:hover{color:var(--color-accent-500)}

img{max-width:100%;display:block;height:auto}

ul,ol{list-style:none}

h1,h2,h3,h4,h5,h6{font-weight:700;line-height:var(--line-height-heading);color:var(--color-primary-900)}

h1{font-size:var(--font-size-4xl)}
h2{font-size:var(--font-size-3xl)}
h3{font-size:var(--font-size-2xl)}
h4{font-size:var(--font-size-xl)}

p{margin-bottom:var(--space-5)}

.container{max-width:var(--container-max);margin:0 auto;padding:0 var(--space-6)}

.topbar{
  background-color:var(--color-primary-900);
  color:var(--color-primary-100);
  font-size:var(--font-size-sm);
  padding:var(--space-2) 0;
}
.topbar .container{display:flex;justify-content:flex-end;align-items:center;gap:var(--space-6)}
.topbar a{color:var(--color-primary-100);display:flex;align-items:center;gap:var(--space-2)}
.topbar a:hover{color:var(--color-white)}
.topbar .topbar-item{display:flex;align-items:center;gap:var(--space-2)}

.header{
  background-color:var(--color-surface);
  border-bottom:1px solid var(--color-border);
  position:sticky;top:0;z-index:100;
  transition:box-shadow var(--transition-base);
}
.header.scrolled{box-shadow:var(--shadow-md)}
.header .container{display:flex;align-items:center;justify-content:space-between;padding-top:var(--space-4);padding-bottom:var(--space-4)}

.logo-block{display:flex;align-items:center;gap:var(--space-4)}
.logo-img{width:44px;height:44px;flex-shrink:0;border-radius:var(--radius-md)}
.logo-text{display:flex;flex-direction:column}
.logo-text .site-name{font-size:var(--font-size-xl);font-weight:700;color:var(--color-primary-900);line-height:1.1}
.logo-text .site-tagline{font-size:var(--font-size-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:0.08em}

.nav{display:flex;align-items:center;gap:var(--space-6)}
.nav a{color:var(--color-text);font-weight:500;font-size:var(--font-size-sm);position:relative;padding:var(--space-2) 0}
.nav a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background-color:var(--color-accent-500);transition:width var(--transition-base)}
.nav a:hover::after,.nav a.active::after{width:100%}
.nav a.active{color:var(--color-accent-600)}

.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:var(--space-2)}
.nav-toggle .ph{font-size:1.5rem;color:var(--color-primary-700)}

.hero{position:relative;background-color:var(--color-primary-900);color:var(--color-primary-100);overflow:hidden;padding:var(--space-10) 0}
.hero-bg{position:absolute;inset:0;opacity:0.25}
.hero-bg img{width:100%;height:100%;object-fit:cover}
.hero-content{position:relative;z-index:2;max-width:640px;padding:var(--space-6) 0}
.hero h1{color:var(--color-white);margin-bottom:var(--space-5)}
.hero p{font-size:var(--font-size-lg);color:var(--color-primary-200);margin-bottom:var(--space-6)}
.hero-actions{display:flex;gap:var(--space-4);flex-wrap:wrap}

.btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-6);border-radius:var(--radius-md);font-weight:600;font-size:var(--font-size-sm);transition:all var(--transition-fast);border:none;cursor:pointer;text-decoration:none}
.btn-primary{background-color:var(--color-accent-500);color:var(--color-white)}
.btn-primary:hover{background-color:var(--color-accent-600);color:var(--color-white);transform:translateY(-1px);box-shadow:var(--shadow-md)}
.btn-secondary{background-color:transparent;color:var(--color-white);border:1px solid var(--color-primary-400)}
.btn-secondary:hover{background-color:var(--color-white);color:var(--color-primary-900);border-color:var(--color-white)}
.btn-outline{background-color:transparent;color:var(--color-accent-600);border:1px solid var(--color-accent-500)}
.btn-outline:hover{background-color:var(--color-accent-50);color:var(--color-accent-600)}

.section{padding:var(--space-9) 0}
.section-sm{padding:var(--space-8) 0}

.section-header{text-align:center;max-width:720px;margin:0 auto var(--space-8)}
.section-header h2{margin-bottom:var(--space-4)}
.section-header p{color:var(--color-text-secondary);font-size:var(--font-size-lg)}

.section-light{background-color:var(--color-surface)}
.section-muted{background-color:var(--color-primary-50)}
.section-dark{background-color:var(--color-primary-900);color:var(--color-primary-100)}
.section-dark h2,.section-dark h3{color:var(--color-white)}
.section-dark p{color:var(--color-primary-200)}

.card-grid{display:grid;gap:var(--space-6)}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}

.card{
  background-color:var(--color-surface);
  border:1px solid var(--color-border);
  border-radius:var(--radius-lg);
  overflow:hidden;
  transition:box-shadow var(--transition-base),transform var(--transition-base);
}
.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}
.card-img{height:200px;overflow:hidden}
.card-img img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}
.card:hover .card-img img{transform:scale(1.05)}
.card-body{padding:var(--space-6)}
.card-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background-color:var(--color-accent-50);border-radius:var(--radius-md);margin-bottom:var(--space-4)}
.card-icon .ph{font-size:1.5rem;color:var(--color-accent-600)}
.card-body h3{font-size:var(--font-size-lg);margin-bottom:var(--space-3)}
.card-body p{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-bottom:0}

.feature-block{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8);align-items:center}
.feature-img{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg)}
.feature-img img{width:100%;height:100%;object-fit:cover}
.feature-content h2{margin-bottom:var(--space-4)}
.feature-content p{color:var(--color-text-secondary);font-size:var(--font-size-lg);margin-bottom:var(--space-4)}
.feature-list{display:flex;flex-direction:column;gap:var(--space-4)}
.feature-list li{display:flex;gap:var(--space-3);align-items:flex-start}
.feature-list .ph{color:var(--color-accent-500);font-size:1.25rem;flex-shrink:0;margin-top:2px}
.feature-list strong{display:block;margin-bottom:var(--space-1)}
.feature-list span{color:var(--color-text-secondary);font-size:var(--font-size-sm)}

.region-list{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5)}
.region-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-5);transition:all var(--transition-base)}
.region-card:hover{border-color:var(--color-accent-300);box-shadow:var(--shadow-md)}
.region-card .region-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}
.region-card .region-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background-color:var(--color-primary-50);border-radius:var(--radius-sm)}
.region-card .region-icon .ph{font-size:1.125rem;color:var(--color-primary-600)}
.region-card h3{font-size:var(--font-size-base);margin-bottom:var(--space-2)}
.region-card p{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:0}

.coverage-map{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--color-border);margin-bottom:var(--space-7)}
.coverage-map img{width:100%;display:block}

.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-6);text-align:center}
.stat-item{padding:var(--space-5)}
.stat-number{font-size:var(--font-size-3xl);font-weight:700;color:var(--color-accent-500);margin-bottom:var(--space-2)}
.stat-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:0.05em}

.page-hero{background-color:var(--color-primary-900);color:var(--color-primary-100);padding:var(--space-9) 0;position:relative;overflow:hidden}
.page-hero-bg{position:absolute;inset:0;opacity:0.2}
.page-hero-bg img{width:100%;height:100%;object-fit:cover}
.page-hero-content{position:relative;z-index:2;max-width:720px}
.page-hero h1{color:var(--color-white);margin-bottom:var(--space-4)}
.page-hero p{font-size:var(--font-size-lg);color:var(--color-primary-200);margin-bottom:0}

.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8)}
.contact-info{display:flex;flex-direction:column;gap:var(--space-6)}
.contact-item{display:flex;gap:var(--space-4);align-items:flex-start;padding:var(--space-5);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}
.contact-item .ph{font-size:1.5rem;color:var(--color-accent-500);flex-shrink:0}
.contact-item .contact-label{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:0.05em;color:var(--color-text-muted);margin-bottom:var(--space-1)}
.contact-item .contact-value{font-size:var(--font-size-base);color:var(--color-text);font-weight:500}

.contact-form{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-7)}
.form-group{margin-bottom:var(--space-5)}
.form-group label{display:block;font-size:var(--font-size-sm);font-weight:500;color:var(--color-text);margin-bottom:var(--space-2)}
.form-group input,.form-group textarea,.form-group select{width:100%;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--color-text);background-color:var(--color-bg);transition:border-color var(--transition-fast)}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--color-accent-400)}
.form-group textarea{min-height:120px;resize:vertical}
.form-message{padding:var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);display:none}
.form-message.success{display:block;background-color:var(--color-success-50);color:var(--color-success-700);border:1px solid var(--color-success-500)}
.form-message.error{display:block;background-color:var(--color-error-50);color:var(--color-error-700);border:1px solid var(--color-error-500)}

.legal-content{max-width:800px;margin:0 auto}
.legal-content h2{font-size:var(--font-size-xl);margin:var(--space-7) 0 var(--space-4)}
.legal-content h2:first-child{margin-top:0}
.legal-content h3{font-size:var(--font-size-lg);margin:var(--space-6) 0 var(--space-3)}
.legal-content p{color:var(--color-text-secondary);margin-bottom:var(--space-4)}
.legal-content ul{margin-bottom:var(--space-4);padding-left:var(--space-5)}
.legal-content ul li{list-style:disc;color:var(--color-text-secondary);margin-bottom:var(--space-2)}
.legal-toc{background-color:var(--color-primary-50);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-6);margin-bottom:var(--space-7)}
.legal-toc h3{font-size:var(--font-size-base);margin-bottom:var(--space-4)}
.legal-toc ul{padding-left:var(--space-5);margin-bottom:0}
.legal-toc ul li{list-style:disc;margin-bottom:var(--space-2)}
.legal-toc a{color:var(--color-accent-600)}

.cta-band{background-color:var(--color-primary-900);color:var(--color-primary-100);text-align:center;padding:var(--space-9) 0}
.cta-band h2{color:var(--color-white);margin-bottom:var(--space-4)}
.cta-band p{color:var(--color-primary-200);font-size:var(--font-size-lg);max-width:600px;margin:0 auto var(--space-6)}

.footer{background-color:var(--color-primary-950);color:var(--color-primary-300);padding:var(--space-8) 0 var(--space-5)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--space-6);margin-bottom:var(--space-7)}
.footer-brand .logo-block{margin-bottom:var(--space-4)}
.footer-brand .logo-text .site-name{color:var(--color-white)}
.footer-brand .logo-text .site-tagline{color:var(--color-primary-400)}
.footer-brand p{font-size:var(--font-size-sm);color:var(--color-primary-400);max-width:300px}
.footer-col h4{color:var(--color-white);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:0.05em;margin-bottom:var(--space-4)}
.footer-col ul{display:flex;flex-direction:column;gap:var(--space-3)}
.footer-col a{color:var(--color-primary-300);font-size:var(--font-size-sm)}
.footer-col a:hover{color:var(--color-white)}
.footer-bottom{border-top:1px solid var(--color-primary-800);padding-top:var(--space-5);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-4)}
.footer-bottom p{font-size:var(--font-size-sm);color:var(--color-primary-400);margin-bottom:0}
.footer-bottom .footer-links{display:flex;gap:var(--space-5)}
.footer-bottom .footer-links a{font-size:var(--font-size-sm);color:var(--color-primary-400)}
.footer-bottom .footer-links a:hover{color:var(--color-white)}

.cookie-consent{position:fixed;bottom:0;left:0;right:0;background-color:var(--color-primary-900);color:var(--color-primary-100);padding:var(--space-5) 0;z-index:200;transform:translateY(100%);transition:transform var(--transition-slow);box-shadow:var(--shadow-xl)}
.cookie-consent.show{transform:translateY(0)}
.cookie-consent .container{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);flex-wrap:wrap}
.cookie-consent p{font-size:var(--font-size-sm);color:var(--color-primary-200);margin-bottom:0;flex:1;min-width:280px}
.cookie-consent a{color:var(--color-accent-300)}
.cookie-consent-actions{display:flex;gap:var(--space-3);flex-shrink:0}
.cookie-consent .btn{padding:var(--space-3) var(--space-5)}
.btn-accept{background-color:var(--color-accent-500);color:var(--color-white)}
.btn-accept:hover{background-color:var(--color-accent-600);color:var(--color-white)}
.btn-decline{background-color:transparent;color:var(--color-primary-200);border:1px solid var(--color-primary-500)}
.btn-decline:hover{background-color:var(--color-primary-800);color:var(--color-white)}

.breadcrumb{padding:var(--space-4) 0;background-color:var(--color-primary-50);border-bottom:1px solid var(--color-border)}
.breadcrumb ul{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm)}
.breadcrumb li{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-muted)}
.breadcrumb li a{color:var(--color-text-secondary)}
.breadcrumb li .ph{font-size:0.75rem}
.breadcrumb li.current{color:var(--color-text)}

.activity-card{display:flex;gap:var(--space-5);padding:var(--space-6);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:all var(--transition-base)}
.activity-card:hover{border-color:var(--color-accent-300);box-shadow:var(--shadow-md)}
.activity-card .activity-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;background-color:var(--color-accent-50);border-radius:var(--radius-md);flex-shrink:0}
.activity-card .activity-icon .ph{font-size:1.75rem;color:var(--color-accent-600)}
.activity-card h3{font-size:var(--font-size-lg);margin-bottom:var(--space-2)}
.activity-card p{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-bottom:0}

.two-col{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-7);align-items:start}
.info-block{padding:var(--space-6);background-color:var(--color-primary-50);border-radius:var(--radius-md);border:1px solid var(--color-border)}
.info-block h3{font-size:var(--font-size-lg);margin-bottom:var(--space-3)}
.info-block p{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-bottom:0}

.phosphor{font-family:'Phosphor-Bold'}

@media (prefers-reduced-motion:reduce){
  *{animation-duration:0.01ms !important;transition-duration:0.01ms !important}
  html{scroll-behavior:auto}
}
