/* Rytas Gėlyne — rytasgelyne.lt */
:root{
  --cream:#fbf4e8; --ink:#1d2a22; --body:#2c3a31;
  --fir:#1f4a36; --fir-dark:#163627; --sage:#dfe8d6;
  --berry:#b8324a; --berry-hover:#a02a40; --berry-shadow:#7e1f32; --berry-dark:#8f2238;
  --blush:#f6d8cf; --butter:#fde7a3; --ochre:#6b4d0c; --brown:#3a3218;
  --coral:#e07a5f; --lilac:#e9def0; --lilac-ink:#5b3a78; --line:#e8dcc6;
  --serif:'DM Serif Display',Georgia,serif;
  --hand:'Caveat',cursive;
  --sans:'Figtree',system-ui,-apple-system,'Segoe UI',sans-serif;
  --t:.18s ease;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:70px}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%}
main{overflow-x:clip}
a{color:var(--berry);transition:color var(--t),background var(--t),transform var(--t),box-shadow var(--t)}
a:hover{color:var(--berry-dark)}
::selection{background:var(--blush)}
:focus-visible{outline:2px solid var(--berry);outline-offset:3px}
input,textarea,select,button{font:inherit}
button{transition:background var(--t),color var(--t),border-color var(--t),transform var(--t)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--fir);color:var(--cream);padding:10px 16px;border-radius:999px;text-decoration:none}
.skip:focus{top:12px;color:var(--cream)}
.wrap{max-width:1240px;margin:0 auto}
.kicker{font-family:var(--hand);font-size:30px;font-weight:700;line-height:1}
.h2{font-family:var(--serif);font-weight:400;font-size:clamp(42px,5vw,68px);line-height:1;margin:0}
.h2 em{font-style:italic}
.sec-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px}

/* 1. Announcement */
.announce{display:flex;justify-content:center;align-items:center;gap:10px;background:var(--berry);color:var(--cream);text-decoration:none;padding:9px 16px;font-size:14px;font-weight:500;text-align:center}
.announce:hover{background:var(--berry-hover);color:var(--cream)}
.announce img{width:16px;height:16px;flex:none}
.announce b{font-weight:700}

/* 2. Header */
.site-header{position:sticky;top:0;z-index:20;background:rgba(251,244,232,.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid rgba(31,74,54,.12)}
.nav{max-width:1240px;margin:0 auto;display:flex;align-items:center;gap:28px;padding:12px 24px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--fir);margin-right:auto}
.brand:hover{color:var(--fir)}
.brand img{width:54px;height:54px}
.wordmark{display:flex;align-items:baseline;gap:6px;line-height:1}
.wordmark .w1{font-family:var(--serif);font-size:28px}
.wordmark .w2{font-family:var(--hand);font-size:34px;font-weight:700;color:var(--berry)}
.nav-links{display:flex;gap:26px;flex-wrap:wrap;font-size:15px;font-weight:500}
.nav-links a{color:var(--fir);text-decoration:none}
.nav-links a:hover{color:var(--berry)}
.nav-right{display:flex;align-items:center;gap:14px}
.lang{display:flex;border:1.5px solid rgba(31,74,54,.25);border-radius:999px;padding:3px;font-size:13px;font-weight:700;letter-spacing:.04em}
.lang a,.lang span{padding:4px 10px;border-radius:999px;text-decoration:none;color:var(--fir);line-height:1.2}
.lang a:hover{color:var(--berry)}
.lang [aria-current]{background:var(--fir);color:var(--cream)}
.btn-nav{background:var(--fir);color:var(--cream);text-decoration:none;padding:11px 22px;border-radius:999px;font-weight:600;font-size:15px;white-space:nowrap}
.btn-nav:hover{background:var(--berry);color:var(--cream)}
@media (max-width:760px){
  .nav{gap:12px 16px;padding:10px 16px}
  .brand img{width:44px;height:44px}
  .wordmark .w1{font-size:24px}.wordmark .w2{font-size:29px}
  .nav-links{order:3;width:100%;justify-content:space-between;gap:10px;font-size:14.5px;padding-top:2px}
  .btn-nav{padding:9px 16px;font-size:14px}
}
@media (max-width:420px){ .btn-nav{display:none} }

/* 3. Hero */
.hero{position:relative;max-width:1240px;margin:0 auto;padding:64px 24px 88px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:56px;align-items:center}
.hero-text{position:relative;z-index:2;display:flex;flex-direction:column;gap:22px}
.hero-kicker{font-family:var(--hand);font-size:32px;font-weight:700;color:var(--coral);line-height:1;transform:rotate(-2deg);transform-origin:left}
.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(52px,7vw,96px);line-height:.95;letter-spacing:-.02em;margin:0;color:var(--fir);text-wrap:balance}
.hero h1 em{color:var(--berry)}
.lead{font-size:19px;line-height:1.65;max-width:480px;margin:0;color:var(--body);text-wrap:pretty}
.btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px}
.btn-primary{display:inline-block;background:var(--berry);color:var(--cream);text-decoration:none;padding:15px 28px;border-radius:999px;font-weight:600;font-size:16px;box-shadow:0 6px 0 var(--berry-shadow)}
.btn-primary:hover{background:var(--berry-hover);color:var(--cream);transform:translateY(-2px)}
.btn-outline{display:inline-block;background:transparent;color:var(--fir);text-decoration:none;padding:13px 26px;border-radius:999px;font-weight:600;font-size:16px;border:2px solid var(--fir)}
.btn-outline:hover{background:var(--fir);color:var(--cream)}
.chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.chip{padding:6px 14px;border-radius:999px;font-size:14px;font-weight:600}
.chip.pink{background:var(--blush);color:var(--berry-shadow)}
.chip.butter{background:var(--butter);color:var(--ochre)}
.chip.sage{background:var(--sage);color:var(--fir)}
.collage{position:relative;min-height:560px}
.collage > *{position:absolute}
.blob-a{right:-60px;top:-30px;width:520px;height:520px;border-radius:50%;background:var(--blush)}
.blob-b{left:10px;bottom:-10px;width:220px;height:220px;border-radius:50%;background:var(--butter)}
.ph-main{right:30px;top:0;width:min(62%,340px);aspect-ratio:3/4;object-fit:cover;border-radius:999px 999px 28px 28px;border:8px solid var(--cream);box-shadow:0 20px 40px rgba(31,74,54,.18)}
.ph-second{left:0;top:130px;width:min(46%,250px);aspect-ratio:4/5;object-fit:cover;border-radius:28px;border:8px solid var(--cream);transform:rotate(-5deg);box-shadow:0 16px 30px rgba(31,74,54,.18)}
.ph-round{right:0;bottom:0;width:min(34%,180px);aspect-ratio:1;object-fit:cover;border-radius:50%;border:8px solid var(--cream);box-shadow:0 14px 26px rgba(31,74,54,.2)}
.fl-1{left:38%;top:-18px;width:64px;transform:rotate(18deg)}
.fl-2{left:-14px;top:96px;width:48px}
.fl-3{right:38%;bottom:30px;width:40px;transform:rotate(-12deg)}
.price-badge{left:36%;bottom:70px;width:118px;height:118px;border-radius:50%;background:var(--fir);color:var(--cream);display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-10deg);box-shadow:0 10px 20px rgba(31,74,54,.25);text-align:center;line-height:1}
.price-badge .a{font-family:var(--hand);font-size:22px;color:var(--butter)}
.price-badge .b{font-family:var(--serif);font-size:40px}
.price-badge .c{font-size:11px;letter-spacing:.06em;margin-top:2px}
@media (max-width:520px){
  .hero{padding:40px 16px 64px;gap:36px}
  .collage{min-height:440px}
  .blob-a{width:380px;height:380px;right:-90px}
  .blob-b{width:170px;height:170px}
  .price-badge{width:100px;height:100px;left:30%;bottom:50px}
  .price-badge .b{font-size:34px}
}

/* 4. Ribbon */
.ribbon{background:var(--fir);color:var(--cream);padding:18px 0;overflow:hidden;transform:rotate(-1.2deg);margin:0 -20px;box-shadow:0 8px 0 var(--blush)}
.ribbon-track{display:flex;width:max-content;animation:marquee 60s linear infinite}
.ribbon-set{display:flex;gap:28px;align-items:center;padding-right:28px;white-space:nowrap;font-family:var(--serif);font-size:28px}
.ribbon-set img{width:26px}
.ribbon .i1{font-style:italic;color:var(--butter)}
.ribbon .i2{font-style:italic;color:var(--blush)}
@keyframes marquee{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .ribbon-track{animation:none;margin:0 auto}
  .ribbon-set[aria-hidden]{display:none}
}

/* 5. Workshops */
.workshops{max-width:1240px;margin:0 auto;padding:110px 24px 90px}
.workshops .sec-head{gap:14px;margin-bottom:56px}
.workshops .sec-head > img{width:44px}
.workshops .kicker{color:var(--coral)}
.workshops .h2{color:var(--fir)}
.workshops .intro{margin:0;font-size:18px;max-width:560px;color:var(--body)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,520px),1fr));gap:28px}
.card{position:relative;background:var(--bg);border-radius:36px;padding:26px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:26px;align-items:start;transition:transform var(--t)}
.card:hover{transform:translateY(-4px)}
.card-media{position:relative}
.card-media .m1{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:999px 999px 22px 22px;border:6px solid var(--cream);display:block}
.card-media .m2{position:absolute;left:-10px;bottom:-14px;width:40%;aspect-ratio:1;object-fit:cover;border-radius:50%;border:5px solid var(--cream)}
.card-media .fl{position:absolute;right:-8px;top:24px;width:44px;transform:rotate(15deg)}
.card-body{display:flex;flex-direction:column;gap:12px;height:100%}
.card-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.aud{background:var(--cream);color:var(--ink-c);padding:5px 14px;border-radius:999px;font-size:13px;font-weight:700;letter-spacing:.02em}
.num{font-family:var(--hand);font-size:30px;font-weight:700;color:var(--ink-c);line-height:1}
.card h3{font-family:var(--serif);font-weight:400;font-size:32px;line-height:1.05;margin:4px 0 0;color:var(--ink)}
.card p{margin:0;font-size:15.5px;line-height:1.6;color:var(--body)}
.materials{font-size:13.5px;line-height:1.55;color:var(--body);border-top:1.5px dashed rgba(29,42,34,.25);padding-top:12px}
.materials strong{font-weight:700;color:var(--ink-c)}
.card-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:8px;flex-wrap:wrap}
.price{display:flex;align-items:baseline;gap:6px}
.price .v{font-family:var(--serif);font-size:46px;line-height:1;color:var(--ink)}
.price .u{font-size:13px;color:var(--body)}
.btn-dark{background:var(--ink);color:var(--cream);border:0;padding:12px 20px;border-radius:999px;font-weight:600;font-size:15px;cursor:pointer}
.btn-dark:hover{background:var(--berry)}
@media (max-width:520px){ .workshops{padding:80px 16px 70px} .card{padding:20px;border-radius:30px} }

/* 6. Gallery */
.gallery{background:var(--fir);color:var(--cream);padding:100px 24px;position:relative;overflow:hidden}
.gallery .deco1{position:absolute;left:4%;top:50px;width:90px;opacity:.9;transform:rotate(-20deg)}
.gallery .deco2{position:absolute;right:6%;top:70px;width:70px}
.gallery .sec-head{margin-bottom:52px;position:relative}
.gallery .kicker{color:var(--butter)}
.masonry{columns:4 220px;column-gap:18px}
.masonry img{width:100%;display:block;margin:0 0 18px;break-inside:avoid;object-fit:cover;transition:transform var(--t)}
.masonry img:hover{transform:scale(1.02)}
.r-a{border-radius:24px}
.r-b{border-radius:999px 999px 24px 24px}
.r-c{border-radius:50%}
.r-d{border-radius:24px 24px 999px 999px}
@media (max-width:520px){ .gallery{padding:80px 16px} .masonry{columns:2 140px;column-gap:12px} .masonry img{margin-bottom:12px} }

/* 7. About */
.about{background:var(--butter);padding:100px 24px;position:relative;overflow:hidden}
.about .blob{position:absolute;right:-120px;bottom:-120px;width:380px;height:380px;border-radius:50%;background:var(--blush)}
.about-grid{position:relative;max-width:1240px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:64px;align-items:center}
.polaroids{position:relative;width:100%;max-width:520px;margin:0 auto;aspect-ratio:1/1.08}
.polaroid{position:absolute;background:#fff;padding:12px 12px 44px;border-radius:6px;box-shadow:0 18px 34px rgba(107,77,12,.22)}
.polaroid img{width:100%;aspect-ratio:1;object-fit:cover;display:block;border-radius:3px}
.polaroid figcaption{position:absolute;bottom:8px;left:8px;right:8px;text-align:center;font-family:var(--hand);font-size:clamp(18px,2vw,24px);color:var(--fir);line-height:1.2}
.polaroid.p1{left:0;top:0;width:60%;transform:rotate(-4deg)}
.polaroid.p2{right:0;bottom:0;width:56%;transform:rotate(5deg)}
.polaroids .fl{position:absolute;left:54%;top:36%;width:62px;transform:rotate(10deg)}
.about-text{display:flex;flex-direction:column;gap:18px}
.about-text .kicker{color:var(--berry)}
.about-text .h2{font-size:clamp(42px,5vw,66px);color:var(--fir)}
.about-text .h2 em{color:var(--berry)}
.about-text p{margin:0;font-size:18px;line-height:1.7;color:var(--brown)}
.signature{font-family:var(--hand);font-size:44px;color:var(--fir);line-height:1;margin-top:22px;transform:rotate(-3deg);transform-origin:left}
@media (max-width:520px){ .about{padding:80px 16px} .polaroid figcaption{font-size:16px;line-height:1.05} .polaroid{padding:8px 8px 36px} }

/* 8. Reviews */
.reviews{background:var(--blush);padding:100px 24px}
.reviews-inner{max-width:980px;margin:0 auto;display:flex;flex-direction:column;gap:26px}
.reviews .sec-head{margin-bottom:16px}
.reviews .kicker{color:var(--berry)}
.reviews .h2{font-size:clamp(40px,4.6vw,60px);color:var(--fir)}
.bubble{align-self:flex-start;max-width:640px;background:var(--cream);padding:26px 30px;border-radius:32px 32px 32px 6px;box-shadow:0 10px 0 rgba(184,50,74,.15);margin:0}
.bubble p{margin:0;font-family:var(--serif);font-size:clamp(24px,2.6vw,32px);line-height:1.25;color:var(--ink)}
.bubble footer{margin-top:12px;font-size:14px;font-weight:600;color:var(--berry)}
.replies{align-self:flex-end;display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.reply{background:var(--berry);color:var(--cream);padding:14px 24px;font-size:18px;font-weight:600}
.reply.r1{border-radius:26px 26px 6px 26px}
.reply.r2{border-radius:26px 6px 26px 26px}
@media (max-width:520px){ .reviews{padding:80px 16px} .bubble{padding:22px 22px} }

/* 9. Contacts + form */
.contact{background:var(--fir);color:var(--cream);padding:100px 24px;position:relative;overflow:hidden}
.contact .deco{position:absolute;left:-30px;bottom:40px;width:140px;opacity:.25}
.contact-grid{position:relative;max-width:1240px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:56px;align-items:start}
.contact-info{display:flex;flex-direction:column;gap:18px}
.contact-info .kicker{color:var(--butter)}
.contact-info .h2{font-size:clamp(42px,5vw,66px)}
.contact-info .h2 em{color:var(--blush)}
.contact-info > p{margin:0;font-size:18px;max-width:440px;color:var(--sage)}
.links{display:flex;flex-direction:column;gap:12px;margin-top:10px}
.link-card{display:flex;align-items:center;gap:16px;background:rgba(251,244,232,.08);border:1.5px solid rgba(251,244,232,.2);border-radius:24px;padding:16px 22px;text-decoration:none;color:var(--cream)}
.link-card:hover{background:rgba(251,244,232,.16);color:var(--cream)}
.link-card .ico{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;flex:none}
.link-card .ico.phone{background:var(--butter);color:var(--fir)}
.link-card .ico.mail{background:var(--blush);color:var(--berry)}
.link-card .txt{display:flex;flex-direction:column;line-height:1.2;min-width:0}
.link-card .lbl{font-size:13px;color:var(--sage)}
.link-card .val{font-family:var(--serif);font-size:28px;overflow-wrap:anywhere}
.link-card .val.sm{font-size:26px}

.form-card{background:var(--cream);color:var(--ink);border-radius:36px;padding:34px;position:relative}
.form-card > .fl{position:absolute;right:-18px;top:-22px;width:72px;transform:rotate(20deg)}
.form{display:flex;flex-direction:column;gap:18px}
.form-title{font-family:var(--serif);font-size:34px;line-height:1;color:var(--fir)}
.field{display:flex;flex-direction:column;gap:6px;border:0;margin:0;padding:0;min-width:0}
.field > label,.field > legend{font-size:14px;font-weight:600;padding:0}
.field > legend{margin-bottom:8px}
.field .opt{font-weight:400;color:#6a7169}
.picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.pick{text-align:left;background:#fff;border:2px solid var(--line);border-radius:18px;padding:10px 14px;cursor:pointer;color:var(--ink);display:flex;flex-direction:column;gap:2px}
.pick:hover{border-color:var(--pk-ink)}
.pick[aria-pressed="true"]{background:var(--pk-bg);border-color:var(--pk-ink)}
.pick .s{font-size:14px;font-weight:600;line-height:1.25}
.pick .p{font-family:var(--serif);font-size:20px}
.row2{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.input{border:2px solid var(--line);background:#fff;border-radius:14px;padding:12px 14px;font-size:15px;color:var(--ink);width:100%;transition:border-color var(--t)}
.input:focus{border-color:var(--berry);outline:none}
.input:user-invalid{border-color:var(--berry)}
textarea.input{min-height:90px;resize:vertical}
.stepper{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--butter);border-radius:18px;padding:12px 16px}
.stepper .lbl{font-size:14px;font-weight:600;margin-right:auto}
.step-btn{width:38px;height:38px;border-radius:50%;border:2px solid var(--ink);background:transparent;font-size:18px;cursor:pointer;color:var(--ink);line-height:1}
.step-btn:hover{background:var(--ink);color:var(--butter)}
.step-btn:disabled{opacity:.35;cursor:default;background:transparent;color:var(--ink)}
.people{font-family:var(--serif);font-size:28px;min-width:30px;text-align:center}
.total{font-size:14px;margin-left:8px}
.total b{font-family:var(--serif);font-weight:400;font-size:26px;color:var(--berry)}
.btn-submit{background:var(--berry);color:var(--cream);border:0;padding:16px;border-radius:999px;font-weight:700;font-size:17px;cursor:pointer;box-shadow:0 6px 0 var(--berry-shadow)}
.btn-submit:hover{background:var(--berry-hover)}
.btn-submit:disabled{opacity:.7;cursor:wait}
.form-error{margin:0;background:#fbe3e6;color:var(--berry-dark);border-radius:14px;padding:10px 14px;font-size:14.5px;font-weight:500}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.thanks{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;padding:40px 0}
.thanks img{width:120px;height:120px}
.thanks h3{font-family:var(--serif);font-weight:400;font-size:40px;line-height:1;color:var(--fir);margin:0}
.thanks p{margin:0;font-size:16px;max-width:320px}
.btn-ghost{background:transparent;border:2px solid var(--fir);color:var(--fir);border-radius:999px;padding:10px 20px;font-weight:600;cursor:pointer}
.btn-ghost:hover{background:var(--fir);color:var(--cream)}
[hidden]{display:none!important}
@media (max-width:520px){ .contact{padding:80px 16px} .form-card{padding:24px 18px;border-radius:30px} .link-card{padding:14px 16px} .link-card .val{font-size:23px} .link-card .val.sm{font-size:20px} }

/* 10. Footer */
.site-footer{background:var(--fir-dark);color:var(--sage);padding:60px 24px 40px}
.foot{max-width:1240px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}
.foot > img{width:110px;height:110px}
.foot .wordmark{gap:8px;color:var(--cream)}
.foot .wordmark .w1{font-size:36px}
.foot .wordmark .w2{font-size:44px;color:var(--blush)}
.foot-line{display:flex;gap:8px 14px;flex-wrap:wrap;justify-content:center;font-size:14px}
.foot-line a{color:var(--butter)}
.foot-line a:hover{color:var(--cream)}
