/* Friendin.ge — Your friend in Georgia */
:root{--red:#ED1F24;--red-deep:#D81C21;--green:#2E5A49;--cream:#F5E6CE;--blue:#5C8ACF;--white:#FFFFFF;--line:#E9E9E9;--line-soft:#F4F4F4;
--font-sans:"Montserrat","Noto Sans Georgian",system-ui,-apple-system,"Segoe UI",sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font-sans);color:var(--green);background:var(--white);font-size:16px;line-height:26px;-webkit-font-smoothing:antialiased;overflow-x:hidden}
svg{display:block}
img{max-width:100%;display:block}
a{color:var(--red-deep)}
h1,h2,h3,p,ul,ol{margin:0}
:focus-visible{outline:3px solid var(--green);outline-offset:3px;border-radius:4px}
.on-red :focus-visible{outline-color:#fff}

/* language switch: only the active language is shown */
html[lang="en"] .ka,html[lang="ka"] .en{display:none!important}
html[lang="ka"] body{line-height:27px}

.wrap{max-width:1152px;margin:0 auto;padding:0 16px;position:relative}
.sec{padding:64px 0}
.sec.cream{background:var(--cream)}
.label{font-size:12px;line-height:16px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--red-deep)}
.h1{font-size:40px;line-height:44px;font-weight:900;letter-spacing:-.01em}
.h2{font-size:28px;line-height:34px;font-weight:700}
.h3{font-size:20px;line-height:26px;font-weight:600}
html[lang="ka"] .h1,html[lang="ka"] .display{letter-spacing:0;font-weight:800}
.rule{display:flex;align-items:center;gap:20px;margin-bottom:28px}
.rule::after{content:"";flex:1;height:2px;background:var(--green)}
.lead{font-size:18px;line-height:30px;max-width:640px}
.measure{max-width:660px}
.measure p+p{margin-top:16px}
.tagline{font-size:24px;line-height:32px;font-weight:400}
.small{font-size:13px;line-height:20px;font-weight:500}

/* buttons */
.btn{font:700 15px/1 var(--font-sans);padding:16px 28px;border-radius:999px;border:2px solid transparent;cursor:pointer;text-decoration:none;display:inline-block;text-align:center}
.btn.pri{background:var(--red-deep);color:#fff}.btn.pri:hover{background:var(--green)}
.btn.sec-b{background:transparent;color:var(--green);border-color:var(--green)}.btn.sec-b:hover{background:var(--green);color:#fff}
.btn.inv{background:#fff;color:var(--red-deep)}
.lnk{font-weight:700;font-size:15px;color:var(--green);text-decoration:none;border-bottom:2px solid currentColor;padding-bottom:3px}
.btn-row{display:flex;flex-wrap:wrap;gap:16px 20px;align-items:center}

/* header + hero */
.hero{position:relative;overflow:hidden;background:#fff}
.hero .tc{position:absolute;right:0;top:0;width:52%;height:100%;min-height:300px}
.hero .rg{position:absolute;left:-6%;bottom:-22%;width:64%;color:var(--line);pointer-events:none}
.nav{position:relative;display:flex;align-items:center;gap:22px;padding:22px 0;font-size:14px;font-weight:600;z-index:5}
.nav .logo{width:158px;flex:none;margin-right:10px}
.nav .logo svg{width:100%}
.nav .links{display:flex;gap:22px;align-items:center}
.nav .links a{color:var(--green);text-decoration:none;padding:6px 0;border-bottom:2px solid transparent}
.nav .links a:hover,.nav .links a[aria-current="page"]{border-bottom-color:var(--green)}
.nav .right{margin-left:auto;display:flex;gap:10px;align-items:center}
.nav .hello{background:#fff;color:var(--red-deep);padding:12px 20px;border-radius:999px;font-weight:700;text-decoration:none;white-space:nowrap}
.lang{display:flex;border:2px solid #fff;border-radius:999px;overflow:hidden}
.lang button{font:700 12px/1 var(--font-sans);padding:9px 11px;background:transparent;color:#fff;border:0;cursor:pointer}
.lang button[aria-pressed="true"]{background:#fff;color:var(--red-deep)}
.menu-btn{display:none;font:700 13px/1 var(--font-sans);padding:11px 16px;border-radius:999px;border:2px solid #fff;background:transparent;color:#fff;cursor:pointer}
.hero-body{position:relative;padding:48px 0 72px;max-width:580px;z-index:2}
.display{font-size:56px;line-height:58px;font-weight:900;letter-spacing:-.01em;margin:12px 0 18px}
.display span:not(.en):not(.ka),.h1 span.r{color:var(--red)}
.hero-body p{font-size:17px;line-height:28px;max-width:460px;margin-bottom:28px}
.hero-ph{position:absolute;right:16px;bottom:56px;width:300px;height:300px;z-index:1}
.hero.page .hero-body{padding:36px 0 56px}
.hero.page .display{font-size:44px;line-height:48px}
.hero.page .hero-ph{width:190px;height:190px;bottom:24px;right:40px}

/* photo badge */
.ph{position:relative;border-radius:50%;overflow:hidden;background:var(--cream);aspect-ratio:1}
.ph img{width:100%;height:100%;object-fit:cover}
.ph svg{position:absolute;left:-5%;top:50%;width:110%;transform:translateY(-50%)}
.ph.ring{outline:8px solid #fff}
.photo{border-radius:12px;width:100%;aspect-ratio:16/9;object-fit:cover}

/* grids */
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 32px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:32px 24px}
.ticks{list-style:none;padding:0;margin-top:20px}
.ticks li{position:relative;padding-left:22px;margin-top:8px;font-weight:600}
.ticks li::before{content:"";position:absolute;left:0;top:10px;width:8px;height:8px;border-radius:50%;background:var(--red)}
.svc{display:flex;gap:18px;align-items:center}
.svc .ph{width:104px;flex:none}
.svc b{display:block;font-size:17px;line-height:22px;font-weight:700;margin-bottom:4px}
.svc span{font-size:14px;line-height:21px;display:block}
.why{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.why b{display:block;font-size:18px;font-weight:700;margin-bottom:6px;padding-top:14px;border-top:2px solid var(--green)}
.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;counter-reset:s}
.steps li{counter-increment:s}
.steps li::before{content:counter(s);display:block;font-size:56px;line-height:58px;font-weight:900;color:var(--red)}
.steps b{display:block;font-size:20px;font-weight:700;margin:8px 0 6px}

/* team */
.team{display:grid;grid-template-columns:repeat(4,1fr);gap:32px 24px;text-align:center}
.team .ph{width:min(180px,100%);margin:0 auto 16px}
.team b{display:block;font-size:18px;line-height:24px;font-weight:700}
.team .role{font-size:13px;font-weight:600;color:var(--red-deep);margin-top:2px}
.team p{font-size:14px;line-height:21px;margin-top:8px}

/* tours */
.filters{display:flex;flex-wrap:wrap;gap:20px 40px;margin-bottom:32px}
.filters .grp{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.filters .grp>span{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-right:6px;width:100%}
.chip{font:600 14px/1 var(--font-sans);padding:11px 16px;border-radius:999px;border:2px solid var(--green);background:#fff;color:var(--green);cursor:pointer}
.chip[aria-pressed="true"],.chip:has(input:checked){background:var(--green);color:#fff}
.chip input{position:absolute;opacity:0;pointer-events:none}
label.chip{position:relative;display:inline-block}
label.chip:focus-within{outline:3px solid var(--green);outline-offset:3px}
.tours{display:grid;grid-template-columns:repeat(3,1fr);gap:32px 28px}
.tour{display:flex;flex-direction:column;border:2px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}
.tour img{aspect-ratio:16/10;object-fit:cover;width:100%}
.tour .in{padding:20px;display:flex;flex-direction:column;gap:10px;flex:1}
.tour .facts{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--red-deep)}
.tour h3{font-size:20px;line-height:26px;font-weight:700}
.tour .route{font-size:14px;line-height:21px}
.tour .acts{margin-top:auto;padding-top:10px;display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center}
.tour .btn{padding:13px 20px;font-size:14px}
.empty{padding:32px;border:2px dashed var(--line);border-radius:12px;text-align:center}

/* tour detail dialog */
dialog.td{border:0;padding:0;border-radius:24px;width:min(860px,calc(100vw - 24px));max-height:calc(100vh - 24px);color:var(--green);font-family:var(--font-sans)}
dialog.td::backdrop{background:rgba(46,90,73,.72)}
.td .top{position:relative}
.td .top img{width:100%;aspect-ratio:21/9;object-fit:cover}
.td .x{position:absolute;right:14px;top:14px;font:700 14px/1 var(--font-sans);padding:11px 16px;border-radius:999px;border:0;background:#fff;color:var(--red-deep);cursor:pointer}
.td .body{padding:28px 32px 32px}
.td h2{font-size:28px;line-height:34px;font-weight:900;margin:6px 0 10px}
.td h3{font-size:16px;font-weight:700;margin:26px 0 10px;padding-bottom:8px;border-bottom:2px solid var(--green)}
.days{list-style:none;padding:0}
.days li{display:grid;grid-template-columns:76px 1fr;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}
.days .d{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--red-deep);padding-top:3px}
.days b{display:block;font-weight:700}
.days .dd{font-size:14px;line-height:22px;margin-top:2px}
.days i{font-style:normal;font-size:12px;font-weight:600;opacity:.8;display:block;margin-top:4px}
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:0 32px}
.td ul.pl{padding-left:18px;font-size:14px;line-height:23px}

/* forms */
.form{display:grid;gap:22px}
.field>label,.field legend,.lbl{display:block;font-size:14px;font-weight:700;margin-bottom:8px;padding:0}
.lbl{font-size:13px;font-weight:600;margin-bottom:6px}
.field .hint{font-size:13px;font-weight:500;opacity:.85;margin:-4px 0 8px}
fieldset.field{border:0;padding:0;margin:0;min-width:0}
input[type=text],input[type=email],input[type=tel],input[type=date],textarea,select{width:100%;font:500 16px/24px var(--font-sans);color:var(--green);padding:12px 14px;border:2px solid var(--green);border-radius:6px;background:#fff}
textarea{min-height:120px;resize:vertical}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.stepper{display:inline-flex;align-items:center;border:2px solid var(--green);border-radius:999px;background:#fff}
.stepper button{width:44px;height:44px;border:0;background:transparent;color:var(--green);font:700 20px/1 var(--font-sans);cursor:pointer;border-radius:50%}
.stepper output{min-width:34px;text-align:center;font-weight:700;font-size:17px}
.counts{display:flex;flex-wrap:wrap;gap:16px 32px}
.counts>div>span{display:block;font-size:13px;font-weight:600;margin-bottom:6px}
.check{display:flex;gap:10px;align-items:center;font-size:14px;font-weight:600;margin-top:10px}
.check input{width:18px;height:18px;accent-color:var(--green)}
.planner{display:grid;grid-template-columns:1fr 340px;gap:40px;align-items:start}
.panel{background:#fff;border-radius:24px;padding:32px}
.summary{position:sticky;top:20px;background:var(--green);color:#fff;border-radius:24px;padding:28px}
.summary h3{font-size:20px;font-weight:700;margin-bottom:14px}
.summary dl{margin:0;display:grid;gap:12px}
.summary dt{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--cream)}
.summary dd{margin:2px 0 0;font-weight:600;font-size:15px;line-height:22px}
.summary p{font-size:13px;line-height:20px;margin-top:18px;color:var(--cream)}
.msg{padding:16px 18px;border-radius:12px;font-weight:600;border:2px solid var(--green)}
.msg.err{border-color:var(--red-deep);color:var(--red-deep)}
.hp{position:absolute;left:-9999px}

/* blog */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 28px}
.post-card{text-decoration:none;color:var(--green);display:flex;flex-direction:column;gap:12px}
.post-card img{aspect-ratio:16/10;object-fit:cover;border-radius:12px;width:100%}
.post-card h3{font-size:20px;line-height:26px;font-weight:700}
.post-card:hover h3{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.post-card p{font-size:14px;line-height:22px}
.post-card.big{grid-column:span 3;display:grid;grid-template-columns:1.2fr 1fr;gap:36px;align-items:center}
.post-card.big h3{font-size:32px;line-height:38px;font-weight:900}
.post-card.big p{font-size:16px;line-height:26px}
.article{max-width:720px;margin:0 auto}
.article .photo{margin:0 0 32px}
.article h2{font-size:24px;line-height:30px;font-weight:700;margin:36px 0 12px}
.article p{margin-top:16px;font-size:17px;line-height:29px}
.article ul{margin-top:16px;padding-left:20px;font-size:17px;line-height:29px}
.article li+li{margin-top:6px}
.article figure{margin:28px 0}
.article figcaption{font-size:13px;font-weight:500;margin-top:8px}
.article blockquote{margin:28px 0;padding:4px 0 4px 20px;border-left:4px solid var(--red);font-size:22px;line-height:32px;font-weight:600}
.article .words{display:grid;gap:0;margin-top:20px;border-top:2px solid var(--green)}
.article .words div{display:grid;grid-template-columns:190px 1fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:16px;line-height:24px}
.article .words b{font-weight:700}
.article .words small{display:block;font-size:13px;font-weight:500}
.inline-cta{margin:40px 0 0;padding:28px;border-radius:24px;background:var(--cream)}
.inline-cta b{display:block;font-size:20px;line-height:26px;font-weight:700;margin-bottom:6px}
.inline-cta p{font-size:15px!important;line-height:24px!important;margin:0 0 16px!important}

/* contact */
.contact-list{display:grid;gap:22px}
.contact-list b{display:block;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--red-deep);margin-bottom:2px}
.contact-list a.big,.contact-list span.big{font-size:24px;line-height:32px;font-weight:700;color:var(--green);text-decoration:none;word-break:break-word}
.socials{display:flex;flex-wrap:wrap;gap:10px}
.socials a{font:700 14px/1 var(--font-sans);padding:11px 16px;border-radius:999px;border:2px solid var(--green);color:var(--green);text-decoration:none}
.socials a:hover{background:var(--green);color:#fff}

/* closing call */
.cta{position:relative;overflow:hidden;text-align:center;padding:80px 0;background:#fff}
.cta .rg{position:absolute;left:50%;top:50%;width:min(900px,120%);transform:translate(-50%,-50%);color:var(--line);pointer-events:none}
.cta .in{position:relative;max-width:640px;margin:0 auto}
.cta .h1{margin-bottom:6px}
.cta p{margin:14px auto 28px;max-width:520px}
.cta .btn-row{justify-content:center}

/* footer */
.foot{background:var(--red);color:#fff;padding:56px 0 32px}
.foot a{color:#fff;text-decoration:none}
.foot a:hover{text-decoration:underline;text-underline-offset:4px}
.foot .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}
.foot .logo{width:190px;margin-bottom:16px}
.foot h4{margin:0 0 12px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--cream)}
.foot ul{list-style:none;padding:0;margin:0;display:grid;gap:8px;font-weight:600;font-size:15px}
.foot .end{margin-top:48px;text-align:center}
.foot .fm{width:150px;margin:0 auto 12px}
.foot .madloba{font-size:32px;line-height:36px;font-weight:900}
.foot .sig{font-size:13px;font-weight:500;margin-top:10px}

/* floating say-hello (every page) */
.fab{position:fixed;right:16px;bottom:16px;z-index:40;background:var(--red-deep);color:#fff;font:700 15px/1 var(--font-sans);padding:16px 22px;border-radius:999px;text-decoration:none;outline:4px solid #fff}
.fab:hover{background:var(--green)}

@media (max-width:1000px){
  .nav .links{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border:2px solid var(--green);border-radius:12px;padding:8px 18px;flex-direction:column;align-items:stretch;gap:0}
  .nav .links.open{display:flex}
  .nav .links a{padding:14px 0;border-bottom:1px solid var(--line);font-size:16px}
  .nav .links a:last-child{border-bottom:0}
  .menu-btn{display:block}
  .hero-ph{width:220px;height:220px;bottom:40px}
  .hero.page .hero-ph{display:none}
  .grid3,.tours,.posts{grid-template-columns:repeat(2,1fr)}
  .post-card.big{grid-column:span 2}
  .why,.steps,.team{grid-template-columns:repeat(2,1fr)}
  .planner{grid-template-columns:1fr}
  .summary{position:static}
  .foot .cols{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  .sec{padding:48px 0}
  .hero .tc{width:60%;height:300px;min-height:0}
  .nav{gap:10px;padding:16px 0}
  .nav .logo{width:118px;margin-right:0}
  .nav .hello{display:none}
  .display{font-size:40px;line-height:44px}
  .hero.page .display{font-size:34px;line-height:38px}
  .h1{font-size:32px;line-height:36px}
  .hero-body{padding:160px 0 48px}
  .hero.page .hero-body{padding:110px 0 40px}
  .hero-ph{width:124px;height:124px;right:20px;top:92px;bottom:auto}
  .fab{padding:13px 18px;font-size:14px;right:12px;bottom:12px}
  .lang button{padding:9px 9px}
  .hero.page .hero-ph{display:none}
  .split{grid-template-columns:1fr;gap:32px}
  .grid3,.tours,.posts,.cols2,.row2{grid-template-columns:1fr}
  .post-card.big{grid-column:auto;grid-template-columns:1fr;gap:12px}
  .post-card.big h3{font-size:24px;line-height:30px}
  .why,.steps{grid-template-columns:1fr}
  .team{grid-template-columns:1fr 1fr}
  .panel{padding:22px 18px}
  .td .body{padding:22px 18px 26px}
  .days li{grid-template-columns:1fr;gap:2px}
  .article .words div{grid-template-columns:1fr;gap:2px}
  .foot .cols{grid-template-columns:1fr}
  .cta{padding:56px 0}
  .contact-list a.big,.contact-list span.big{font-size:20px;line-height:28px}
}
/* smooth appearance: elements fade and rise as they scroll into view */
.js-rv .rv{opacity:0;transform:translateY(32px);transition:opacity .8s cubic-bezier(.2,.7,.2,1) var(--rv-d,0ms),transform .8s cubic-bezier(.2,.7,.2,1) var(--rv-d,0ms);will-change:opacity,transform}
.js-rv img.rv,.js-rv .team>.rv{transform:translateY(32px) scale(.96)}
.js-rv .rv.in{opacity:1;transform:none}
.js-rv .hero-body>*{animation:rise .8s cubic-bezier(.2,.7,.2,1) both}
.js-rv .hero-body>*:nth-child(2){animation-delay:.08s}.js-rv .hero-body>*:nth-child(3){animation-delay:.16s}.js-rv .hero-body>*:nth-child(4){animation-delay:.24s}.js-rv .hero-body>*:nth-child(n+5){animation-delay:.32s}
.js-rv .hero-ph{animation:pop .9s cubic-bezier(.2,.7,.2,1) .2s both}
.js-rv .hero .tc{animation:fade 1s ease both}
@keyframes rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes pop{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:none}}
@keyframes fade{from{opacity:0}to{opacity:1}}
.tour,.post-card img,.btn{transition:transform .25s ease,border-color .25s ease,background-color .2s ease}
.js-rv .tour.in:hover{transform:translateY(-4px);border-color:var(--green)}
.post-card:hover img{transform:scale(1.02)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.rv,.hero-body>*,.hero-ph,.hero .tc{animation:none!important;transition:none!important;opacity:1!important;transform:none!important}}
