/* Lithuania Unscripted v15.1 — editorial photography & design polish
   Inspiration: image-led destination editorial, map/itinerary products, premium magazines.
   Rule: borrow hierarchy and interaction principles, not another brand's visual identity. */
:root{
  --lu-radius-s:14px;--lu-radius-m:20px;--lu-radius-l:28px;
  --lu-shadow-soft:0 18px 60px rgba(19,40,31,.09);
  --lu-shadow-lift:0 22px 65px rgba(19,40,31,.14);
}
body{background:
  radial-gradient(circle at 13% 3%,rgba(199,154,85,.08),transparent 25rem),
  linear-gradient(180deg,#f6f2ea 0,#f4f0e8 24rem,#f4f0e8 100%)}
header,.masthead{box-shadow:0 8px 30px rgba(18,39,30,.055)}
.hero{padding-top:clamp(3.8rem,8vw,7rem);padding-bottom:clamp(2.4rem,5vw,4rem)}
.hero h1{max-width:14ch;font-size:clamp(3.25rem,7.4vw,6.65rem);line-height:.91;letter-spacing:-.058em;text-wrap:balance}
.hero .lede{max-width:48rem;font-size:clamp(1.08rem,1.7vw,1.38rem);line-height:1.52}
.section{padding-top:clamp(4rem,8vw,7.4rem);padding-bottom:clamp(4rem,8vw,7.4rem)}
.section>h2,.sectionhead h2{max-width:17ch;text-wrap:balance}
.frame,.heroPhoto,.lu-hero-figure,.photoCard,.active-photo{position:relative;overflow:hidden;border-radius:var(--lu-radius-m)}
.frame{box-shadow:var(--lu-shadow-soft);border-color:rgba(23,57,45,.12)}
.frame.wide{aspect-ratio:16/7;border-radius:var(--lu-radius-l)}
.frame img,.heroPhoto img,.lu-hero-figure img,.photoCard img,.active-photo img,.visual-card img{transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .4s ease;filter:saturate(.94) contrast(1.025)}
.frame:hover img,.photoCard:hover img,.visual-card:hover img{transform:scale(1.015)}
.frame .hint{left:18px;right:auto;bottom:18px;max-width:min(680px,78%);padding:10px 13px;border-radius:12px;background:rgba(13,31,24,.82);backdrop-filter:blur(10px);color:#fff;letter-spacing:.03em}
.photo-credit-inline,.source-credit[data-photo-credit],.photoCard .source-credit{font:600 .61rem/1.25 "IBM Plex Mono",monospace!important;letter-spacing:.015em;color:rgba(255,255,255,.9)!important;background:rgba(9,24,18,.72);backdrop-filter:blur(9px);border:1px solid rgba(255,255,255,.18);padding:7px 9px;border-radius:999px;max-width:calc(100% - 24px);z-index:6}
.photo-credit-inline{position:absolute;top:12px;right:12px;bottom:auto!important;left:auto!important}
.photo-credit-inline a,.source-credit[data-photo-credit] a{color:inherit!important;text-decoration-color:rgba(255,255,255,.45)}
.heroCaption .source-credit,.photoCaption .source-credit{display:inline-flex;width:max-content;margin-top:9px}
.photoCard .photo-credit.source-credit{display:inline-flex;margin-top:10px}
.lu-hero-figure{box-shadow:var(--lu-shadow-soft);background:#dfe4dd}
.lu-hero-figure img{width:100%;display:block;aspect-ratio:16/8.5;object-fit:cover}
.lu-hero-figure figcaption{padding:10px 4px 0;color:var(--muted);font-size:.76rem}
.discovery-grid{gap:14px}
.discovery-card,.card,.mini-event{border-radius:var(--lu-radius-s);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;background:rgba(255,253,248,.58)}
.discovery-card:hover,.card:hover,.mini-event:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(18,42,32,.08);border-color:rgba(23,57,45,.25)}
.discovery-card h3,.card h3{letter-spacing:-.018em}
[data-v15="my-lithuania"]{position:relative;margin-top:clamp(2rem,4vw,4rem);margin-bottom:clamp(2rem,4vw,4rem);padding:clamp(2.1rem,5vw,4.6rem);background:linear-gradient(135deg,#102b21,#17392d 58%,#1e4939);color:#fff;border:0;border-radius:var(--lu-radius-l);box-shadow:0 28px 80px rgba(15,43,33,.18)}
[data-v15="my-lithuania"]:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at 85% 10%,rgba(199,154,85,.22),transparent 23rem)}
[data-v15="my-lithuania"]>*{position:relative}
[data-v15="my-lithuania"] .kicker{color:#efc681}
[data-v15="my-lithuania"] h2{max-width:15ch}
[data-v15="my-lithuania"]>p{color:#d8e3dc!important}
[data-v15="my-lithuania"] .card{background:rgba(255,255,255,.075);border-color:rgba(255,255,255,.14);color:#fff}
[data-v15="my-lithuania"] .card p{color:#cbd9d1}
[data-v15="my-lithuania"] a{color:#fff}
.visual-radar{padding-top:clamp(3rem,6vw,5.5rem);padding-bottom:clamp(3rem,6vw,5.5rem)}
.visual-radar-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:18px}
.visual-radar-head h2{font:650 clamp(2.35rem,4.8vw,4.25rem)/.96 Fraunces,Georgia,serif;letter-spacing:-.045em;margin:.35rem 0 0;max-width:14ch;text-wrap:balance}
.visual-radar-link{white-space:nowrap;margin-bottom:6px}
.visual-grid{display:grid;grid-template-columns:1.45fr 1fr 1fr;gap:12px;min-height:430px}
.visual-card{position:relative;display:block;overflow:hidden;border-radius:var(--lu-radius-m);background:#18392e;min-height:100%;text-decoration:none;box-shadow:var(--lu-shadow-soft)}
.visual-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.visual-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,23,17,.02) 34%,rgba(8,23,17,.86) 100%);z-index:1}
.visual-copy{position:absolute;z-index:3;left:20px;right:20px;bottom:18px;color:#fff;display:grid;gap:3px}
.visual-copy small{font:650 .65rem/1.3 "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.09em;color:#eec989}
.visual-copy b{font:650 clamp(1.35rem,2.2vw,2.2rem)/1.05 Fraunces,Georgia,serif;letter-spacing:-.025em}
.visual-copy em{font:500 .76rem/1.4 "IBM Plex Mono",monospace;color:#d9e1dd;font-style:normal}
.visual-card .photo-credit-inline{opacity:.86}
.photo-source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.photo-source-card{display:grid;grid-template-columns:180px 1fr;min-height:150px;overflow:hidden;border:1px solid var(--line);border-radius:var(--lu-radius-m);background:rgba(255,255,255,.5)}
.photo-source-card img{width:100%;height:100%;object-fit:cover;min-height:150px}
.photo-source-copy{padding:18px}
.photo-source-copy h2{font-size:1.25rem!important;line-height:1.1!important;margin:0 0 9px!important;max-width:none!important}
.photo-source-copy p{margin:.25rem 0;font-size:.83rem}.photo-source-copy small{display:block;color:var(--muted);line-height:1.45}
.photo-policy{max-width:760px;padding:18px 20px;border-left:3px solid var(--gold);background:rgba(255,255,255,.48);margin-bottom:24px}
@media(max-width:900px){
 .frame.wide{aspect-ratio:16/9}.visual-grid{grid-template-columns:1fr 1fr;min-height:680px}.visual-card--lead{grid-column:1/-1}.photo-source-grid{grid-template-columns:1fr}
 [data-v15="my-lithuania"]{border-radius:22px}
}
@media(max-width:610px){
 .hero{padding-top:3.4rem}.hero h1{font-size:clamp(3.15rem,15vw,4.6rem)}
 .frame.wide{aspect-ratio:4/3;border-radius:20px}.frame .hint{max-width:calc(100% - 28px);left:14px;bottom:14px;font-size:.67rem}
 .photo-credit-inline{top:9px;right:9px;max-width:calc(100% - 18px);font-size:.54rem!important;padding:6px 8px}
 .visual-radar-head{display:block}.visual-radar-link{display:inline-block;margin-top:12px}.visual-grid{display:grid;grid-template-columns:1fr;min-height:0}.visual-card,.visual-card--lead{grid-column:auto;min-height:300px}.visual-card--lead{min-height:360px}
 [data-v15="my-lithuania"]{margin-left:0;margin-right:0;padding:28px 20px;border-radius:20px}
 .photo-source-card{grid-template-columns:1fr}.photo-source-card img{height:220px}
}
@media(prefers-reduced-motion:reduce){.frame img,.heroPhoto img,.photoCard img,.visual-card img{transition:none!important}.discovery-card,.card,.mini-event{transition:none!important}}


/* Lithuania Unscripted v15.2 — Photo Atlas
   Principle: cards should make a traveller want to go before asking them to read,
   but imagery must remain factual, place-specific and visibly sourced. */
.place-grid{gap:1rem}
.place-card{
  padding:1.15rem;
  border-radius:18px;
  overflow:hidden;
  background:rgba(255,253,248,.64);
  box-shadow:0 8px 28px rgba(18,42,32,.045);
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.place-card:hover{transform:translateY(-3px);box-shadow:0 20px 48px rgba(18,42,32,.09);border-color:rgba(23,57,45,.24)}
.place-photo{
  position:relative;
  margin:-1.15rem -1.15rem .95rem;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#dfe4dd;
  border-bottom:1px solid rgba(23,57,45,.1);
}
.place-photo:after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(7,22,16,0) 55%,rgba(7,22,16,.24) 100%);
}
.place-photo img{
  width:100%;height:100%;display:block;object-fit:cover;
  filter:saturate(.93) contrast(1.035);
  transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .3s ease;
}
.place-card:hover .place-photo img{transform:scale(1.025);filter:saturate(.98) contrast(1.04)}
.place-photo-credit{
  position:absolute;z-index:2;right:9px;bottom:9px;max-width:calc(100% - 18px);
  font:600 .56rem/1.2 "IBM Plex Mono",monospace;letter-spacing:.01em;
}
.place-photo-credit a{
  display:block;padding:6px 8px;border-radius:999px;
  color:rgba(255,255,255,.94);text-decoration:none;
  background:rgba(9,24,18,.72);border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(9px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.place-photo-credit a:hover{text-decoration:underline;text-decoration-color:rgba(255,255,255,.52)}
.place-card .place-tier{margin-top:.05rem}
.place-card h3{font-size:clamp(1.28rem,1.8vw,1.6rem);line-height:1.05;margin-top:.72rem}
.place-card>p:not(.place-pair){font-size:.94rem;line-height:1.55}
.places-featured{margin-top:1.15rem}
.credits-section-title{
  font:650 clamp(2rem,4vw,3.4rem)/.98 Fraunces,Georgia,serif;
  letter-spacing:-.04em;max-width:18ch;margin:2.8rem 0 1.1rem;
}
.photo-source-grid--places{margin-bottom:4rem}
.photo-source-grid--other{margin-bottom:4rem}
@media(max-width:980px){
 .place-card{border-radius:17px}
}
@media(max-width:620px){
 .place-grid{gap:1rem}
 .place-card{min-height:0;border-radius:18px}
 .place-photo{aspect-ratio:4/3}
 .place-photo-credit{font-size:.53rem}
 .place-card h3{font-size:1.55rem}
}
@media(hover:none){
 .place-card:hover{transform:none}
 .place-card:hover .place-photo img{transform:none}
}
@media(prefers-reduced-motion:reduce){
 .place-card,.place-photo img{transition:none!important}
}
