/* Café com Pão · azul-azulejo + casca de pão + farinha + café · Bricolage Grotesque + Instrument Sans + IBM Plex Mono */
:root{--blue:#1E3F8A;--blue-d:#152D63;--crust:#D08A35;--crust-d:#A9681F;--flour:#FAF5EC;--flour-2:#F1E7D6;--coffee:#2A1D15;--mut:#6B5D52;--r:10px}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:"Instrument Sans",system-ui,sans-serif;color:var(--coffee);background:var(--flour);line-height:1.6;font-size:17px;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3{font-family:"Bricolage Grotesque",system-ui,sans-serif;font-weight:800;letter-spacing:-.03em;line-height:1.02}
h1{font-size:clamp(2.6rem,8vw,5.2rem)}
h2{font-size:clamp(2rem,5vw,3.3rem)}
h3{font-size:1.25rem;font-weight:700;letter-spacing:-.01em}
.mono{font-family:"IBM Plex Mono",monospace;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase}
.wrap{width:min(1180px,100% - 40px);margin-inline:auto}
.mt{margin-top:1rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;font:600 1rem/1 "Instrument Sans",sans-serif;text-decoration:none;border-radius:8px;padding:.95em 1.4em;border:2px solid transparent;cursor:pointer;transition:background .2s,transform .2s}
.btn:hover{transform:translateY(-2px)}
.btn svg{width:1.2em;height:1.2em;fill:currentColor}
.btn--crust{background:var(--crust);color:var(--coffee)}
.btn--crust:hover{background:#E19B45}
.btn--blue{background:var(--blue);color:#fff}
.btn--blue:hover{background:var(--blue-d)}
.btn--light{border-color:rgba(255,255,255,.8);color:#fff}
.btn--light:hover{background:#fff;color:var(--blue)}
.btn--sm{padding:.7em 1.1em;font-size:.92rem}
.btn--lg{padding:1.05em 1.5em}
.btn--full{width:100%;grid-column:1/-1}
/* nav */
.nav{position:sticky;top:0;z-index:50;background:var(--flour);border-bottom:1px solid var(--flour-2);transition:box-shadow .3s}
.nav.is-scrolled{box-shadow:0 6px 18px rgba(42,29,21,.08)}
.nav__in{display:flex;align-items:center;gap:1.5rem;height:68px}
.logo{display:flex;align-items:center;gap:.55rem;text-decoration:none;font:800 1.3rem/1 "Bricolage Grotesque",sans-serif;letter-spacing:-.03em;color:var(--blue)}
.logo__i{width:40px;height:40px}
.logo small{display:block;font:400 .66rem/1.5 "IBM Plex Mono",monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--mut)}
.nav__links{display:none;gap:1.8rem;margin-left:auto}
.nav__links a{text-decoration:none;font-weight:500}
.nav__links a:hover{color:var(--blue)}
.nav__cta{display:none}
.burger{margin-left:auto;width:46px;height:46px;border:1.5px solid var(--blue);border-radius:8px;background:transparent;display:grid;place-content:center;gap:5px;cursor:pointer}
.burger span{width:20px;height:2px;background:var(--blue);transition:transform .25s,opacity .25s}
.menu-open .burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-open .burger span:nth-child(2){opacity:0}
.menu-open .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mmenu{display:none;flex-direction:column;padding:.4rem 20px 1.4rem;background:var(--flour)}
.mmenu.open{display:flex}
.mmenu a{padding:.8rem 0;font:700 1.4rem "Bricolage Grotesque",sans-serif;text-decoration:none;color:var(--blue);border-bottom:1px solid var(--flour-2)}
@media(min-width:900px){.nav__links,.nav__cta{display:flex}.burger,.mmenu,.mmenu.open{display:none}}
/* hero */
.hero{position:relative;color:#fff;min-height:min(88vh,760px);display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;background:var(--coffee)}
.hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(21,45,99,.25) 0%,rgba(21,45,99,.55) 45%,rgba(21,45,99,.95) 100%);z-index:1}
.hero__in{position:relative;z-index:2;padding:6rem 0 2.5rem}
.hero h1{max-width:15ch;margin-top:.8rem}
.hero h1 span{color:#F6C27F}
.lead{font-size:1.12rem;margin-top:1.2rem;max-width:42ch;color:#E9EEFA}
.ctas{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:1.8rem}
.hero__strip{position:relative;z-index:2;background:var(--crust);color:var(--coffee)}
.strip{display:grid;grid-template-columns:1fr;gap:.2rem;padding:1rem 0}
.strip p{display:flex;align-items:baseline;gap:.6rem}
.strip b{font:800 1.35rem "Bricolage Grotesque",sans-serif}
.strip span{font-family:"IBM Plex Mono",monospace;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}
@media(min-width:760px){.strip{grid-template-columns:repeat(3,1fr);padding:1.2rem 0}}
/* sections */
.sec{padding:4.5rem 0}
.head{display:grid;gap:.8rem;margin-bottom:2.4rem;max-width:720px}
.head p{color:var(--mut)}
.shelf{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media(min-width:900px){.shelf{grid-template-columns:repeat(4,1fr);gap:1.4rem}}
.sh img{aspect-ratio:3/4;object-fit:cover;width:100%;border-radius:var(--r);margin-bottom:.8rem}
.sh p{color:var(--mut);font-size:.95rem;margin-top:.2rem}
.ask{margin-top:2.2rem}
.sec--tile{background-color:var(--blue);background-image:radial-gradient(circle at 50% 50%,transparent 9px,rgba(255,255,255,.09) 10px,rgba(255,255,255,.09) 12px,transparent 13px),linear-gradient(45deg,rgba(255,255,255,.06) 25%,transparent 25%,transparent 75%,rgba(255,255,255,.06) 75%);background-size:44px 44px,44px 44px}
.cafe{display:grid;gap:1.6rem;align-items:center}
.cafe__img{border-radius:var(--r);aspect-ratio:4/3.6;object-fit:cover;width:100%;border:8px solid var(--flour)}
.cafe__card{background:var(--flour);border-radius:var(--r);padding:2rem 1.6rem;position:relative}
.cafe__card p{margin-top:1rem;color:var(--mut)}
.ticks{list-style:none;margin-top:1.3rem;display:grid;gap:.5rem}
.ticks li{font-family:"IBM Plex Mono",monospace;font-size:.88rem;padding-left:1.6rem;position:relative}
.ticks li::before{content:"✓";position:absolute;left:0;color:var(--crust-d);font-weight:600}
.cafe__cup{display:none}
@media(min-width:900px){.cafe{grid-template-columns:1.1fr 1fr;gap:0}.cafe__img{aspect-ratio:4/4.4}.cafe__card{margin-left:-60px;padding:3rem 2.8rem 3rem}.cafe__cup{display:block;position:absolute;right:-24px;top:-60px;width:120px;height:120px;object-fit:cover;border-radius:50%;border:6px solid var(--flour)}}
/* order */
.order{display:grid;gap:2.4rem}
.order p{color:var(--mut)}
.order__img{display:none}
.ticket{background:#fff;padding:2rem 1.4rem 2.4rem;display:grid;gap:1rem;font-family:"IBM Plex Mono",monospace;position:relative;box-shadow:0 18px 40px rgba(42,29,21,.12);--z:12px;-webkit-mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) 50%/var(--z) 100%;mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) 50%/var(--z) 100%;padding-bottom:3rem}
.ticket__h{grid-column:1/-1;text-align:center;font-weight:600;letter-spacing:.2em;font-size:.85rem;border-bottom:2px dashed var(--flour-2);padding-bottom:1rem;color:var(--blue)}
.field{display:grid;gap:.35rem}
.field label{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--mut)}
.field input,.field select{font:400 16px "IBM Plex Mono",monospace;padding:.75em .2em;border:0;border-bottom:2px dashed #CDBFA8;background:transparent;color:var(--coffee);width:100%;border-radius:0}
.field input:focus,.field select:focus{outline:0;border-bottom-color:var(--blue);border-bottom-style:solid}
.field.err input,.field.err select{border-bottom-color:#C0392B;background:#FDF0EE}
.form__err{color:#C0392B;font-weight:600;min-height:1.2em;grid-column:1/-1}
.ticket .btn{font-family:"Instrument Sans",sans-serif;margin-top:.6rem}
@media(min-width:640px){.ticket{grid-template-columns:1fr 1fr;padding:2.4rem 2.2rem 3.4rem}.field--full{grid-column:1/-1}}
@media(min-width:900px){.order{grid-template-columns:1fr 1fr;gap:4rem;align-items:start}.order__img{display:block;margin-top:2rem;border-radius:var(--r);aspect-ratio:3/2;object-fit:cover;width:100%}}
/* loc */
.sec--blue{background:var(--blue);color:#fff}
.loc{display:grid;gap:2.5rem}
.addr{margin:1rem 0 1.4rem;font-size:1.1rem}
.hrs{border-collapse:collapse;width:100%;max-width:420px;font-family:"IBM Plex Mono",monospace;font-size:.92rem}
.hrs th{text-align:left;font-weight:400;padding:.5rem 0;border-bottom:1px dashed rgba(255,255,255,.3)}
.hrs td{text-align:right;font-weight:600;color:#F6C27F;border-bottom:1px dashed rgba(255,255,255,.3)}
.tiny{font-size:.82rem;opacity:.7;margin:.7rem 0 1.2rem}
.contact{margin-bottom:1.5rem}
.contact a{color:#F6C27F;font-weight:600}
.map{border-radius:var(--r);overflow:hidden;min-height:340px;border:6px solid var(--flour)}
.map iframe{width:100%;height:100%;min-height:340px;border:0;display:block}
@media(min-width:900px){.loc{grid-template-columns:.9fr 1.1fr;align-items:center}}
.foot{background:var(--coffee);color:var(--flour-2);padding:2.2rem 0 6rem;font-size:.92rem}
.foot__in{display:grid;gap:.8rem;justify-items:start}
.foot .logo{color:#F6C27F}
.foot .logo small{color:#BCA894}
.seal{font-family:"IBM Plex Mono",monospace;font-size:.8rem;border:1px dashed #BCA894;padding:.45em .9em}
@media(min-width:900px){.foot{padding-bottom:2.2rem}.foot__in{grid-template-columns:auto 1fr auto;align-items:center}}
.wa-float{position:fixed;right:18px;bottom:18px;z-index:60;width:60px;height:60px;border-radius:50%;background:#25D366;display:grid;place-items:center;box-shadow:0 8px 22px rgba(0,0,0,.25);transition:transform .2s}
.wa-float:hover{transform:scale(1.07)}
.wa-float svg{width:32px;height:32px;fill:#fff}
.js .rv{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}
.js .rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.js .rv{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}
