@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700&family=Inter:wght@400;500;600;700&display=swap');
:root{--bg:#101416;--panel:#171c1f;--ink:#f6f5ed;--muted:#bac1bc;--brand-blue:#0389be;--accent:#41add8;--line:#ffffff27;--pad:clamp(22px,6vw,100px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:400 15px/1.65 Inter,Arial,sans-serif}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}a,button{touch-action:manipulation}button{cursor:pointer}img{display:block;max-width:100%}p{margin:0 0 1em;color:var(--muted)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.skip{position:absolute;left:18px;top:-80px;z-index:4;background:var(--accent);color:var(--bg);padding:10px}.skip:focus{top:8px}
header{min-height:87px;padding:14px var(--pad);display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line)}.brand{position:relative;display:block;width:clamp(168px,19vw,224px);aspect-ratio:2.85;flex:none;overflow:hidden}
.brand img {
  opacity: 0;
}
.brand::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 276%;
  aspect-ratio: 1206 / 193;
  transform: translate(-50%, -44%);
  background: url("/assets/drone-school-travel-logo-bianco.png") center / contain no-repeat;
}
nav{display:flex;align-items:center;gap:clamp(14px,2.3vw,36px);font-size:12px}nav a:hover,nav a[aria-current]{color:var(--accent)}.menu-toggle{display:none}
.hero{display:grid;grid-template-columns:46% 54%;min-height:clamp(565px,77svh,840px)}.hero-copy{padding:58px 22px 62px var(--pad);align-self:center}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);display:block;margin-bottom:19px}h1,h2,h3{font:600 clamp(34px,4.3vw,66px)/1 'Barlow Condensed','Arial Narrow',Impact,sans-serif;margin:0;text-transform:uppercase}h1{font-size:clamp(48px,6.25vw,94px);line-height:.94;letter-spacing:-.025em;margin-bottom:28px}h1 span{color:var(--accent)}h3{font-size:clamp(24px,2.6vw,36px);line-height:1}.hero-copy p{max-width:340px}.hero-photo{position:relative;margin:0;overflow:hidden;min-width:0}.hero-photo img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:45% center}.hero-photo figcaption{position:absolute;left:22px;bottom:20px;padding:5px 9px;background:#101416c9;font-size:10px;letter-spacing:.11em;text-transform:uppercase}.action,.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;font-size:12px;font-weight:700}.action{background:var(--brand-blue);color:#071018;padding:14px 19px;margin-top:13px;border:1px solid transparent}.action:hover{background:#68bde1}.text-link{border-bottom:1px solid var(--line);padding:9px 0;color:var(--accent)}.text-link:hover{border-color:currentColor}.arrow{width:14px;height:14px;flex:none;display:inline-block;vertical-align:-2px}
.section{padding:clamp(55px,8vw,115px) var(--pad);border-top:1px solid var(--line)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:34px}.section-head p{max-width:310px;margin:0}.cover {
  display: block;
  width: 100%;
  margin-inline: auto;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ink);
}
.cover-collage {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(4px, .65vw, 10px);
}
.cover-collage img {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}
.cover-label {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding-top: 13px;
  font-size: 13px;
  font-weight: 600;
}
.cover:hover .cover-label {
  color: var(--accent);
}
.guides {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(14px, 2.4vw, 36px);
}
.guide {
  display: block;
  border: clamp(3px, .4vw, 6px) solid var(--ink);
  background: var(--panel);
}
.guide:hover {
  border-color: var(--accent);
}
.guide img {
  width: 100%;
  height: auto;
}
.guide-normativa {
  position: relative;
  isolation: isolate;
  aspect-ratio: 885 / 351;
  container-type: inline-size;
  box-sizing: content-box;
  overflow: hidden;
}
.guide-normativa img {
  position: absolute;
  z-index: -2;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 63%;
}
.guide-normativa::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, transparent 22%, #08141da8);
}
.guide-normativa-copy {
  display: grid;
  gap: clamp(3px, 1.25cqi, 13px);
  padding-top: 6%;
  margin-left: 34%;
  color: #fff;
  line-height: 1.2;
}
.guide-normativa-label {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: clamp(3px, 1.2cqi, 12px) 1.7cqi;
  background: #a94000;
  text-transform: uppercase;
  font-size: clamp(11px, 2.65cqi, 30px);
  font-weight: 700;
}
.guide-normativa-label .arrow { width: 1.1em; height: 1.1em; }
.guide-normativa-copy strong { font-size: clamp(13px, 3.55cqi, 38px); }
.guide-normativa-read { font-size: clamp(11px, 2.65cqi, 30px); font-weight: 700; }

@media (max-width: 720px) {
  .guides { grid-template-columns: 1fr; }
}.travel h2,.contact h2{margin-bottom:25px}.travel{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:40px}.travel img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}.contact{background:var(--brand-blue);color:#071018;display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center}.contact p,.contact .eyebrow,.contact .text-link{color:#071018}.contact .text-link{border-color:#07101870;overflow-wrap:anywhere;font-size:clamp(15px,2vw,25px)}footer{padding:25px var(--pad);display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:11px}footer a:hover{color:var(--accent)}.footer-links{display:flex;gap:20px;flex-wrap:wrap}
.article{max-width:1180px;margin:auto;padding:55px var(--pad) 90px}.article h1{font-size:clamp(43px,5.5vw,75px);margin:27px 0}.article h2{font-size:clamp(29px,4vw,45px);margin:36px 0 15px}.article p,.article li{max-width:75ch}.article a:not(.text-link, .action){color:var(--accent);text-decoration:underline;text-underline-offset:3px}.article li{margin-bottom:8px;color:var(--muted)}.article aside{background:var(--panel);border-left:3px solid var(--accent);padding:20px 23px;margin:28px 0}.article aside p:last-child{margin:0}.article strong{color:var(--ink)}.table-wrap{overflow:auto;margin:20px 0}table{border-collapse:collapse;width:100%;min-width:600px;text-align:left}th,td{border-bottom:1px solid var(--line);padding:12px 13px;vertical-align:top}th{color:var(--accent)}.article-photo{margin:28px 0}.article-photo img{width:100%;max-height:470px;object-fit:cover}.article-photo figcaption{color:var(--muted);font-size:12px;margin-top:8px}
dialog{background:var(--bg);color:var(--ink);border:0;padding:0;margin:0;width:100%;max-width:none;height:100%;max-height:none;overscroll-behavior:contain}dialog::backdrop{background:var(--bg)}[hidden]{display:none!important}.gallery-top{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;padding:13px var(--pad);background:var(--bg);border-bottom:1px solid var(--line);gap:18px}.gallery-top h2{font-size:32px}.plain{border:0;background:none;color:var(--ink);min-height:44px;padding:0 5px}.plain:hover{color:var(--accent)}.close{font-size:13px;display:flex;align-items:center;gap:8px;white-space:nowrap}.gallery-grid{padding:25px var(--pad) 45px;display:grid;grid-template-columns:repeat(4,1fr);gap:19px}.tile{background:var(--panel);color:var(--ink);border:0;padding:0;text-align:left}.tile img{width:100%;aspect-ratio:4/3;object-fit:cover}.tile span{display:block;font-size:12px;padding:9px 10px}.tile:hover span{color:var(--accent)}.viewer{padding:10px var(--pad) 24px;text-align:center}.viewer figure{margin:0}.viewer img{width:auto;height:auto;max-height:calc(100dvh - 188px);max-width:100%;margin:auto;object-fit:contain;touch-action:pan-y}.viewer figcaption{color:var(--muted);margin:9px 0 0}.viewer-controls{display:flex;align-items:center;justify-content:center;gap:24px}.viewer-controls button{width:50px;display:grid;place-items:center}.viewer-controls span{font-variant-numeric:tabular-nums;font-size:13px}
@media(max-width:980px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){header{position:relative;flex-wrap:wrap;min-height:70px}.menu-toggle{display:block;background:none;color:var(--ink);border:1px solid var(--line);padding:6px 11px;min-height:44px}.js nav:not(.expanded){display:none}nav{width:100%;flex-wrap:wrap;padding-bottom:9px;gap:13px 22px}.hero,.travel,.contact{grid-template-columns:1fr}.hero-copy{padding:49px var(--pad) 44px}.hero-photo{height:clamp(300px,95vw,530px)}.hero h1{font-size:clamp(49px,11.5vw,73px)}.section-head{align-items:start;flex-direction:column;gap:14px}.gallery-grid{gap:12px}.travel{gap:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* Footer marks retain the colors and proportions of the supplied artwork. */
.footer-logos{flex:0 0 100%;display:flex;align-items:center;gap:clamp(14px,3vw,34px);padding:7px 0 13px}
.footer-photographer{display:block;width:clamp(160px,23vw,235px);max-width:70%}
.footer-photographer img{width:100%;height:auto}
.footer-drone{width:clamp(49px,7vw,70px);height:auto;aspect-ratio:1;object-fit:contain;border-radius:50%}
.publication-section h1,.news-page h1{margin-bottom:24px}
.publication-grid,.attestati-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(8px,2.5vw,36px);margin-top:28px}
.publication-grid{max-width:1060px}
.publication-card{padding:0;border:0;background:none;color:var(--ink);text-align:left;display:flex;flex-direction:column;align-items:start;min-width:0}
.publication-card img{width:100%;height:auto;aspect-ratio:527/656;object-fit:contain;background:#0b0b0b}
.publication-title{font:600 clamp(16px,2.7vw,39px)/1.05 'Barlow Condensed',sans-serif;margin:12px 0 7px}
.publication-open{margin-top:auto;color:var(--accent);font-size:12px}
.publication-card:hover .publication-title{color:var(--accent)}
.bio-section,.news-item{margin-top:36px;padding-top:10px;border-top:1px solid var(--line)}
.news-item .eyebrow{margin:15px 0 0;color:var(--accent)}
.news-item h2{margin-top:10px}
.attestati-grid figure{margin:0;min-width:0}
.attestati-grid img{width:100%;height:auto;aspect-ratio:1.43;object-fit:contain;background:white}
.attestati-grid figcaption{margin-top:9px}
.attestati-grid small{display:block;color:var(--muted)}
#book-reader[open]{display:grid;grid-template-rows:auto auto minmax(0,1fr)}
#book-reader h2{font-size:clamp(20px,5vw,32px)}
.book-controls{display:flex;align-items:center;justify-content:center;gap:12px;padding:2px var(--pad);border-bottom:1px solid var(--line)}
.book-controls button{min-width:44px}
.book-controls button:disabled{opacity:.4;cursor:default}
.book-prev svg{transform:scaleX(-1)}
.book-controls output{min-width:52px;text-align:center;font-variant-numeric:tabular-nums}
.book-stage{overflow:auto;text-align:center;padding:12px clamp(8px,3vw,30px);min-height:0}
.book-stage img{display:block;margin:0 auto;width:auto;height:100%;max-width:100%;object-fit:contain}
.book-stage.zoomed{text-align:left}
.book-stage.zoomed img{width:min(1400px,190vw);height:auto;max-width:none;margin:0 auto}
@media(max-width:720px){.attestati-grid{grid-template-columns:1fr}.attestati-grid figure{max-width:420px}.publication-open{font-size:11px}}

.footer-links a,.publication-open,.home-news-read{display:inline-flex;align-items:center;gap:5px}
.home-news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,2.5vw,36px)}
.home-news-card{display:flex;flex-direction:column;align-items:start;gap:12px;padding:18px 0 5px;border-top:1px solid var(--line)}
.home-news-card .eyebrow{margin:0}
.home-news-read{margin-top:auto;color:var(--accent);font-size:12px}
.home-news-card:hover h3{color:var(--accent)}
@media(max-width:720px){.home-news-grid{grid-template-columns:1fr}}

.home-page header {
  background: #0b0e10;
}
.home-page .hero {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: 1fr;
  align-items: center;
  min-height: clamp(520px, 78svh, 850px);
  overflow: hidden;
}
.home-page .hero-photo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.home-page .hero-photo img {
  object-position: center 52%;
}
.home-page .hero-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 34%, #07121a28 49%, #07121a91 73%, #07121a82 100%);
}
.home-page .hero-photo figcaption {
  left: auto;
  right: var(--pad);
  z-index: 1;
}
.home-page .hero-copy {
  padding: 58px 0 70px;
  width: min(46%, 650px);
  margin-inline: auto max(var(--pad), calc((100% - 1480px) / 2));
  min-width: 0;
}
.home-page .hero-copy h1 {
  font-size: clamp(54px, 6.25vw, 94px);
  line-height: .96;
}
.home-page .hero-copy h1 span {
  display: block;
  color: #6dc9ee;
}
.home-page .hero-copy .eyebrow {
  color: #83d4f4;
}
.home-page .hero-copy p {
  color: #f6f5ed;
  max-width: 42ch;
}
.home-page .hero-copy .action {
  background: #f6f5ed;
  color: #101416;
}
.home-page .hero-copy .action:hover {
  background: #b5e1f1;
}
@media (max-width: 720px) {
  .home-page .hero {
    min-height: clamp(495px, 73svh, 690px);
    align-items: end;
  }
  .home-page .hero-copy {
    width: 100%;
    margin-inline: 0;
    padding-inline: var(--pad);
  }
  .home-page .hero-copy h1 {
    font-size: clamp(42px, 10vw, 70px);
  }
  .home-page .hero-photo img {
    object-position: center;
  }
  .home-page .hero-photo::after {
    background: linear-gradient(0deg, #070e15f2, #08121b96 39%, transparent 75%);
  }
}

.profile-summary {
  display: grid;
  grid-template-columns: minmax(0, 680px) minmax(0, 490px);
  justify-content: center;
  align-items: center;
  gap: clamp(26px, 3vw, 42px) clamp(28px, 5vw, 72px);
  background: var(--panel);
}
.profile-summary-detail { display: block; }
.profile-summary-photo {
  display: block;
  width: 100%;
  height: auto;
}
@media (max-width: 720px) {
  .profile-summary { grid-template-columns: minmax(0, 1fr); gap: clamp(26px, 6vw, 90px); }
  .profile-summary-detail { display: none; }
  .profile-summary-photo { width: min(100%, 250px); }
}
.profile-summary h2 { margin-bottom: 16px; }
.profile-summary p { max-width: 54ch; }
.profile-intro {
  display: grid;
  grid-template-columns: minmax(0, 300px) minmax(0, 1fr);
  align-items: center;
  gap: clamp(24px, 4vw, 52px);
}
.profile-portrait {
  display: block;
  width: min(100%, 300px);
  height: auto;
}
.profile-intro h2 { margin-top: 0; }
@media (max-width: 720px) {
  .profile-intro { grid-template-columns: 1fr; }
  .profile-portrait { width: min(100%, 250px); }
}

.closing-section {
  background: var(--panel);
  border-top-color: var(--brand-blue);
}
.closing-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(24px, 4vw, 56px);
  margin-top: 32px;
}
.closing-card {
  display: flex;
  flex-direction: column;
  align-items: start;
  border-top: 1px solid var(--line);
  padding-top: 20px;
}
.closing-card h3 { margin-bottom: 9px; }
.closing-card .text-link { margin-top: auto; }
@media (max-width: 720px) {
  .closing-grid { grid-template-columns: 1fr; }
}

.footer-partners {
  flex: 0 0 100%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 16px clamp(16px, 3vw, 40px);
  padding-block: 25px;
  margin-bottom: 5px;
  border-block: 1px solid var(--line);
}
.footer-partners-title {
  color: var(--accent);
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.footer-partners a { display: block; }
.footer-partners img {
  width: auto;
  height: clamp(22px, 3vw, 32px);
}
.footer-partners .footer-partner-emblem {
  height: clamp(42px, 5vw, 56px);
  border-radius: 50%;
}
.footer-social {
  display: flex;
  gap: 8px;
  align-items: center;
}
.footer-social a {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  color: var(--ink);
  border: 1px solid var(--line);
  border-radius: 4px;
}
.footer-social a:hover { border-color: var(--accent); }
.footer-social svg { width: 15px; height: 15px; fill: currentColor; }
@media (max-width: 600px) {
  .footer-partners-title { flex-basis: 100%; }
}

.footer-contact-row {
  flex: 0 0 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: 22px clamp(24px, 5vw, 64px);
  padding-block: 20px;
}
.footer-contact-row .footer-logos { flex: none; padding: 0; }
.footer-contact h2 {
  margin: 0 0 10px;
  color: var(--accent);
  font-family: inherit;
  font-size: 12px;
  letter-spacing: .12em;
}
.contact-details,
.footer-contact address {
  display: grid;
  gap: 5px;
  color: var(--ink);
  font-size: 14px;
  font-style: normal;
}
.contact-details { margin: 18px 0 14px; }
.contact-details span:first-child { color: var(--accent); }
.footer-contact a { color: var(--accent); width: fit-content; }
.footer-contact a:hover { text-decoration: underline; }
@media (max-width: 720px) {
  .footer-contact-row { grid-template-columns: 1fr; }
}

.bio-photos {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(7px, 2.5vw, 24px);
  margin-block: 32px 12px;
}
.bio-photos img { width: 100%; height: auto; }
@media (min-width: 900px) {
  .profile-article { max-width: 1440px; }
  .profile-intro { grid-template-columns: minmax(0, 42%) minmax(0, 1fr); }
  .profile-portrait { width: 100%; }
}
@media (max-width: 540px) {
  .bio-photos { grid-template-columns: 1fr; gap: 12px; }
}
.bio-quote {
  margin: 22px 0;
  padding-inline-start: 16px;
  border-inline-start: 2px solid var(--accent);
  color: var(--accent);
  font-style: italic;
}

.plan-gallery { margin: 1.25rem 0 2rem; }
.plan-gallery figcaption { color: var(--muted); font-size: .85rem; margin-top: .65rem; }
.plan-gallery img { display: block; width: 100%; height: auto; }
.plan-world-map iframe { display: block; width: 100%; height: clamp(380px, 54vw, 640px); border: 0; }
.plan-screens {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(8px, 2vw, 20px);
}
.plan-screens a { display: block; }
@media (max-width: 480px) {
  .plan-screens { gap: 7px; }
}

.composition-guide h3 {
  margin: 1.3em 0 .45em;
  text-transform: none;
}
.composition-photos {
  display: grid;
  gap: clamp(10px, 2.3vw, 24px);
  margin: 1.4rem 0 2rem;
  align-items: start;
}
.composition-photos[data-columns="2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.composition-photos[data-columns="3"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.composition-photos figure { margin: 0; }
.composition-photos img { width: 100%; height: auto; }
@media (max-width: 580px) {
  .composition-photos[data-columns] { grid-template-columns: 1fr; }
}

.capture-photos {
  display: grid;
  gap: clamp(12px, 3vw, 24px);
  margin: 1.5rem 0 2rem;
  align-items: start;
}
@media (min-width: 900px) {
  .capture-photos, .plan-gallery, .composition-photos {
    width: 100%;
  }
}
.capture-pair { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.capture-photos figure { margin: 0; }
.capture-photos img { display: block; width: 100%; height: auto; }
@media (max-width: 540px) {
  .capture-pair { grid-template-columns: 1fr; }
}


.guide-banner-page header {
  position: absolute;
  inset: 0 0 auto;
  z-index: 2;
  border-bottom: 0;
  background: linear-gradient(#101416ec, #10141600);
}
.guide-banner {
  position: relative;
  isolation: isolate;
  display: grid;
  align-items: end;
  min-height: clamp(345px, 29vw, 540px);
  padding: 110px var(--pad) clamp(24px, 4vw, 52px);
  overflow: hidden;
  background: var(--bg);
}
.guide-banner-photo {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: right top;
}
.guide-banner::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(0deg, #101416 0%, #10141675 28%, transparent 66%);
}
.guide-banner h1 {
  margin: 0;
  font-size: clamp(42px, 5.3vw, 82px);
}
.guide-banner p {
  margin: 10px 0 0;
  color: var(--ink);
  font-size: clamp(18px, 2.5vw, 29px);
  font-weight: 700;
}
.guide-banner-page .article { padding-top: 24px; }
.guide-banner-page .article > .text-link { margin-bottom: 20px; }

@media (max-width: 720px) {
  .guide-banner-page header { position: relative; background: var(--bg); }
  .guide-banner {
    min-height: clamp(270px, 57vw, 345px);
    padding-top: 148px;
  }
  .guide-banner-photo { height: 76%; }
  .guide-banner::after {
    background: linear-gradient(0deg, #101416 15%, #101416b8 34%, transparent 64%);
  }
  .guide-banner h1 { max-width: 15ch; font-size: clamp(38px, 8vw, 55px); }
}

.guide-banner-landscape .guide-banner-photo { object-position: center; }
.guide-banner-landscape::after {
  background:
    linear-gradient(0deg, #101416 0%, transparent 57%),
    linear-gradient(90deg, #1014167a, transparent 68%);
}
.guide-banner-drone {
  position: absolute;
  z-index: -1;
  top: clamp(48px, 5vw, 92px);
  right: 1%;
  width: 53%;
  height: auto;
  filter: drop-shadow(0 6px 12px #0007);
}
@media (max-width: 720px) {
  .guide-banner-landscape::after {
    background: linear-gradient(0deg, #101416 15%, #1014169e 38%, transparent 72%);
  }
  .guide-banner-drone {
    top: 18px;
    right: 3%;
    width: min(91%, 430px);
  }
}

.technique-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(12px, 2vw, 22px);
  padding-block: clamp(24px, 4vw, 54px);
}
.technique-card {
  display: grid;
  grid-template-columns: clamp(74px, 12vw, 168px) minmax(0, 1fr) 16px;
  align-items: center;
  gap: clamp(12px, 2vw, 28px);
  padding: clamp(16px, 2.4vw, 30px);
  min-height: 144px;
  border: 1px solid var(--line);
  background: #141c21;
  transition: border-color .2s, background-color .2s;
}
.technique-card:hover, .technique-card:focus-visible {
  background: #18262e;
  border-color: var(--accent);
}
.technique-illustration {
  width: 100%;
  height: auto;
  color: #65bedf;
}
.technique-card h2 {
  font-size: clamp(24px, 2.65vw, 38px);
  text-transform: none;
}
.technique-card p { margin: 7px 0 0; font-size: 14px; }
.technique-card .arrow { color: var(--accent); }
@media (max-width: 760px) {
  .technique-cards { grid-template-columns: 1fr; }
  .technique-card { min-height: 114px; }
}

.travel-back-top {
  grid-column: 1 / -1;
  justify-self: end;
  min-height: 44px;
}
.travel-back-top .arrow { color: var(--accent); }

.gallery-back-top {
  grid-column: 1 / -1;
  justify-self: end;
  min-height: 44px;
  padding-inline: 6px;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: transparent;
}

.regulation { background: #f6f5ee; color: #172025; }
.regulation-section {
  max-width: 1320px;
  margin-inline: auto;
  padding: clamp(30px, 5vw, 64px) var(--pad);
}
.regulation h2 { font-size: clamp(29px, 3.5vw, 46px); margin: 28px 0 14px; }
.regulation p { color: inherit; max-width: 92ch; }
.regulation a { color: #075679; text-decoration: underline; text-underline-offset: .18em; }
.regulation-index {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 24px;
  padding-bottom: 14px;
  border-bottom: 1px solid #cdd2cc;
  font-size: 14px;
  font-weight: 600;
}
.regulation .regulation-date { margin-top: 20px; color: #526168; font-size: 13px; }
.regulation-table { overflow-x: auto; margin-top: 20px; }
.regulation-table table { min-width: 640px; }
.regulation-table th, .regulation-table td { border: 1px solid #cdd7d8; }
.regulation-table thead th { background: #176185; color: #fff; }
.regulation-table tbody th { background: #e4eff2; color: #134b65; }
.regulation-table tbody tr:nth-child(even) td { background: #ecefe9; }
.regulation-photo { margin: 0; background: #172025; color: #f6f5ee; }
.regulation-photo img { width: 100%; height: auto; }
.regulation-photo figcaption { padding: 8px var(--pad); font-size: 12px; }
.regulation-scenarios, .regulation-glossary dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px 40px;
}
.regulation-scenarios div { padding: 14px; border: 1px solid #cdd7d8; }
.regulation dt { font-weight: 700; }
.regulation dd { margin: 4px 0 0; }
.regulation li { max-width: 94ch; padding-bottom: 10px; }
.regulation .regulation-sources { font-size: 13px; }
.regulation-glossary { background: #171c1f; color: #f6f5ee; }
.regulation-glossary h2 { margin-top: 0; }
.regulation-glossary dt { color: #79d0ef; }
@media (max-width: 720px) {
  .regulation-scenarios, .regulation-glossary dl { grid-template-columns: 1fr; }
}


@media (min-width: 900px) {
  body:not(.contacts-page) main { font-size: clamp(16px, 1.05vw, 19px); }
  main .text-link, main .action, .publication-open, .home-news-read {
    font-size: clamp(13px, .9vw, 16px);
  }
  .home-page main > .section,
  .publication-section, .technique-cards {
    padding-inline: max(var(--pad), calc((100% - 1480px) / 2));
  }
  .home-page .hero-copy p, .home-page .hero-copy .action { font-size: clamp(16px, 1.08vw, 20px); }
  .profile-summary { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); }
  .profile-summary p { max-width: 64ch; }
  .profile-summary-photo { max-width: 520px; justify-self: end; }
  .publication-grid { max-width: none; }
  .publication-title { font-size: clamp(26px, 1.85vw, 43px); }
  .publication-open { padding-block: 6px; }
  .article, .regulation-section { max-width: 1640px; }
  .profile-portrait { max-width: 510px; }
  .article p, .article li, .regulation p, .regulation li { max-width: 78ch; }
  .regulation-table th, .regulation-table td { padding: 14px 16px; }
  .travel p { max-width: 58ch; }
}
