/* Portugal Bakery Opportunity — approved mobile-first direction. */
:root { color-scheme: light; }
html { scroll-behavior: smooth; scroll-padding-top: 1rem; }
body { margin: 0; background: #F5F1E9; }
.bp-page { --ivory:#F5F1E9; --light:#FCFAF6; --stone:#E8E1D6; --ink:#252820; --muted:#585A50; --olive:#3E4536; --clay:#874B30; --line:#C9C1B6; color:var(--ink); background:var(--ivory); font:400 1rem/1.6 system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; overflow-wrap:break-word; text-align:left; }
.bp-page *, .bp-page *::before, .bp-page *::after { box-sizing:border-box; }
.bp-page [hidden] { display:none!important; }
.bp-page h1,.bp-page h2,.bp-page h3,.bp-page p { margin:0; }
.bp-page a { color:inherit; text-underline-offset:.22em; }
.bp-page h1,.bp-page h2,.bp-page h3,.bp-brand,.bp-lead { font-family:Georgia,'Times New Roman',serif; font-weight:400; }
.bp-page h1,.bp-page h2,.bp-page h3 { text-wrap:balance; }
.bp-page h1 { font-size:clamp(1.5rem,6.2vw,1.875rem); line-height:1.22; letter-spacing:-.025em; max-width:27ch; }
.bp-page h1 em { color:inherit; font-style:normal; }
.bp-page .bp-concept { font:400 clamp(2.5rem,11.8vw,3.15rem)/1.04 Georgia,'Times New Roman',serif; letter-spacing:-.045em; color:var(--clay); max-width:14ch; margin-bottom:22px; text-wrap:balance; }
.bp-page h2 { font-size:clamp(1.9rem,7.8vw,2.35rem); line-height:1.12; letter-spacing:-.035em; }
.bp-page h3 { font-size:1.25rem; line-height:1.22; letter-spacing:-.02em; }
.bp-wrap { width:calc(100% - 40px); max-width:1120px; margin-inline:auto; }
.bp-section { padding-block:42px; }
.bp-page .bp-eyebrow { font-size:.75rem; line-height:1.65; letter-spacing:.13em; text-transform:uppercase; font-weight:550; color:var(--clay); margin-bottom:14px; }
.bp-small { font-size:.875rem; line-height:1.6; color:var(--muted); }
.bp-skip { position:absolute; top:8px; left:12px; transform:translateY(-180%); z-index:5; padding:12px; background:var(--light); }
.bp-skip:focus { transform:translateY(0); }
.bp-header { background:var(--light); border-bottom:1px solid #2528200d; }
.bp-header-row { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:76px; padding-block:14px; }
.bp-brand { font-size:1.2rem; line-height:1.16; letter-spacing:-.035em; max-width:230px; }
.bp-languages { display:flex; align-items:center; flex-shrink:0; }
.bp-languages a { display:grid; place-items:center; min-width:34px; min-height:44px; font-size:.875rem; line-height:1; text-decoration:none; }
.bp-languages a[aria-current='page'] { color:var(--clay); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:6px; }
.bp-language-divider { height:12px; width:1px; background:var(--line); }
.bp-hero { background:linear-gradient(110deg,var(--ivory),var(--stone)); padding-block:36px 28px; }
.bp-page .bp-hero .bp-eyebrow { font-size:.75rem; letter-spacing:.07em; max-width:37ch; margin-bottom:18px; }
.bp-page .bp-lead { font-size:1.1875rem; line-height:1.4; max-width:44ch; margin-top:20px; }
.bp-button { display:inline-flex; align-items:center; justify-content:center; gap:22px; min-height:48px; max-width:100%; padding:12px 24px; border:1px solid var(--clay); border-radius:100px; background:var(--clay); color:var(--light)!important; font:500 1rem/1.45 system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; text-decoration:none; text-align:center; }
.bp-hero .bp-button { margin-top:22px; }
.bp-button span { font-size:1.25rem; line-height:1; }
.bp-button:hover:not(:disabled) { background:#703c26; border-color:#703c26; }
.bp-discover { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; max-width:100%; min-height:50px; padding-top:12px; margin-top:8px; text-decoration:none; text-transform:uppercase; letter-spacing:.13em; font-size:.75rem; }
.bp-discover span { font-size:1.375rem; line-height:1; }
.bp-overview { background:var(--light); }
.bp-components { margin-top:22px; }
.bp-component { display:grid; grid-template-columns:52px minmax(0,1fr); align-items:start; gap:16px; padding-block:21px; }
.bp-component + .bp-component { border-top:1px solid var(--line); }
.bp-component-icon { width:52px; height:52px; border-radius:50%; background:var(--ivory); color:var(--clay); display:grid; place-items:center; }
.bp-component-icon svg { width:30px; height:30px; stroke-width:1.5; }
.bp-component p { font-size:1rem; line-height:1.55; color:var(--muted); margin-top:7px; }
.bp-component:last-child { padding-bottom:0; }
.bp-opportunity { background:var(--olive); color:var(--light); }
.bp-opportunity .bp-eyebrow { color:var(--light); }
.bp-opportunity-grid { display:grid; gap:22px; }
.bp-opportunity p:not(.bp-eyebrow) { line-height:1.65; }
.bp-inline-link { display:inline-flex; gap:15px; align-items:center; min-height:48px; margin-top:16px; text-decoration:none; font-size:1rem; }
.bp-opportunity .bp-inline-link { color:#E6CAB3; }
.bp-inline-link:hover { text-decoration:underline; }
.bp-future { background:var(--light); }
.bp-future-grid { display:grid; gap:22px; }
.bp-page .bp-intro { color:var(--muted); margin-top:16px; max-width:48ch; line-height:1.65; }
.bp-direction { padding-block:20px; border-bottom:1px solid var(--line); }
.bp-direction:first-child { padding-top:0; }
.bp-direction p { margin-top:7px; color:var(--muted); line-height:1.55; }
.bp-page .bp-future-note { margin-top:18px; }
.bp-faq { background:var(--stone); }
.bp-faq h2 { font-size:1.75rem; }
.bp-faq-grid { display:grid; gap:24px; }
.bp-questions { border-top:1px solid var(--line); }
.bp-questions details { border-bottom:1px solid var(--line); }
.bp-questions summary { list-style:none; display:flex; align-items:center; justify-content:space-between; gap:18px; padding-block:18px; min-height:52px; font-size:1rem; line-height:1.45; }
.bp-questions summary::-webkit-details-marker { display:none; }
.bp-questions summary::after { content:'+'; flex:none; color:var(--clay); font-size:1.5rem; line-height:1; }
.bp-questions details[open] summary::after { content:'−'; }
.bp-questions details p { padding-bottom:20px; color:var(--muted); font-size:1rem; line-height:1.65; }
.bp-contact { background:var(--light); padding-bottom:20px; }
.bp-contact-grid { display:grid; gap:25px; }
.bp-contact h2 { font-size:2rem; }
.bp-form { margin:0; min-width:0; }
.bp-form .bp-form-notice { padding:13px 15px; border-left:2px solid var(--clay); background:var(--ivory); font-size:.875rem; line-height:1.55; margin-bottom:20px; }
.bp-form-notice strong { font-weight:550; }
.bp-form label { display:block; margin:14px 0 6px; font-size:.875rem; font-weight:550; }
.bp-form label span { font-weight:400; color:var(--muted); }
.bp-form input,.bp-form textarea { display:block; width:100%; min-width:0; min-height:48px; padding:11px 13px; border:1px solid #8E877C; border-radius:8px; background:#FFFDFA; color:var(--ink); font:400 1rem/1.5 system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; }
.bp-form input::placeholder,.bp-form textarea::placeholder { color:var(--muted); opacity:1; }
.bp-form textarea { resize:vertical; min-height:108px; }
.bp-disabled-button { display:flex; width:100%; margin-top:19px; cursor:not-allowed; opacity:1; background:#805A48; border-color:#805A48; font-size:.9375rem; }
.bp-form .bp-form-detail { margin-top:12px; }
.bp-footer { padding:35px 0 30px; background:var(--light); text-align:center; }
.bp-footer-rule { display:block; width:36px; height:1px; background:var(--ink); margin:0 auto 14px; }
.bp-footer strong { display:block; font-size:.75rem; font-weight:500; letter-spacing:.2em; text-transform:uppercase; }
.bp-page .bp-footer-channels { font-size:.75rem; letter-spacing:.12em; text-transform:uppercase; margin-top:9px; }
.bp-page .bp-footer-note { font-size:.8125rem; max-width:650px; margin:18px auto 0; }
.bp-page :is(a,summary,button,input,textarea):focus-visible { outline:2px solid var(--clay); outline-offset:5px; }
.bp-opportunity a:focus-visible { outline-color:var(--light); }
@media (min-width:390px) {
 .bp-wrap { width:calc(100% - 48px); } .bp-brand { font-size:1.25rem; } .bp-hero { padding-top:40px; }
}
@media (min-width:768px) {
 .bp-wrap { width:calc(100% - 80px); } .bp-header-row { min-height:84px; } .bp-brand { max-width:none; font-size:1.65rem; } .bp-languages a { min-width:44px; }
 .bp-section { padding-block:64px; } .bp-page h1 { font-size:1.875rem; max-width:29ch; } .bp-page .bp-concept { font-size:4.25rem; } .bp-page h2 { font-size:2.7rem; }
 .bp-page .bp-hero .bp-eyebrow { max-width:none; } .bp-hero { padding-block:52px 42px; } .bp-lead { max-width:43ch; }
 .bp-discover { display:inline-flex; margin:0 0 0 24px; vertical-align:middle; padding:12px 0; min-height:48px; }
 .bp-overview h2 { max-width:600px; } .bp-components { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:25px; margin-top:36px; }
 .bp-component { display:block; padding:0; } .bp-component + .bp-component { border-top:0; border-left:1px solid var(--line); padding-left:25px; }
 .bp-component-icon { margin-bottom:20px; background:none; place-items:start; height:34px; width:34px; border-radius:0; } .bp-component h3 { font-size:1.375rem; }
 .bp-opportunity-grid { grid-template-columns:1fr 1fr; gap:50px; align-items:start; } .bp-future-grid { grid-template-columns:1fr 1fr; gap:50px; }
 .bp-faq-grid { grid-template-columns:.85fr 1.15fr; gap:50px; } .bp-faq h2 { font-size:2.2rem; }
 .bp-contact-grid { grid-template-columns:1fr 1fr; gap:50px; } .bp-contact h2 { font-size:2.7rem; } .bp-footer { padding-block:26px 36px; }
}
@media (min-width:1050px) {
 .bp-hero-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:74px; align-items:center; }
 .bp-hero-copy { min-width:0; border-left:1px solid var(--line); padding-left:40px; }
 .bp-hero-copy .bp-lead { margin-top:0; }
 .bp-discover { display:flex; margin:8px 0 0; }
 .bp-page h1 { font-size:2rem; } .bp-page .bp-concept { font-size:4.75rem; } .bp-page .bp-lead { font-size:1.4375rem; } .bp-section { padding-block:72px; }
}
@media (max-width:359px) {
 .bp-wrap { width:calc(100% - 32px); } .bp-brand { font-size:1.125rem; max-width:185px; } .bp-component { grid-template-columns:44px minmax(0,1fr); gap:12px; }
 .bp-component-icon { width:44px; height:44px; } .bp-languages a { min-width:30px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
@media print { .bp-skip,.bp-discover,.bp-languages { display:none; } .bp-page { print-color-adjust:exact; } details { break-inside:avoid; } }
