@import url('wedding-fonts.css');

/* Acabamento para casamentos. A estrutura HTML e a ordem das seções são preservadas. */
:root {
  --purple: #76572e;
  --pink: #957344;
  --green: #dcc699;
  --ink: #292621;
  --paper: #faf8f4;
  --gold: #b69761;
  --gold-light: #e6d7b8;
  --line: #e4ded3;
  --serif: 'Cormorant Garamond', Georgia, serif;
  --sans: 'DM Sans', Arial, sans-serif;
}
body {font-family: var(--sans);font-size:16px;line-height:1.8;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}
button,input,select,textarea {font-family:var(--sans)}
h1,h2 {font-family:var(--serif);text-transform:none;font-weight:600;letter-spacing:-.015em;text-wrap:balance}
h1 {line-height:1.15}
h2 {font-size:36px;line-height:1.2}
h3 {font-family:var(--sans);font-weight:600;letter-spacing:.01em}
p {margin-bottom:20px}
a,button {transition:background .2s,color .2s,box-shadow .2s,transform .2s,border-color .2s}
:focus-visible {outline:3px solid #9c773e;outline-offset:4px;border-radius:4px}
::selection {background:#e6d7b8;color:#26221c}
.icon {width:20px;height:20px;flex:0 0 auto;vertical-align:middle;display:inline-block;stroke-width:1.65}
.icon-small {width:16px;height:16px}
.icon-whatsapp {stroke:none!important;fill:currentColor;width:21px;height:21px}
.header {border-bottom:1px solid var(--line);background:#fffefb;box-shadow:0 3px 18px #32291708;top:-126px}
.topbar {background:#27241f;color:#eee8dc;padding:12px 0;font-size:12px;letter-spacing:.025em}
.topbar strong {font-weight:500;border:0}
.topbar .placeholder {background:none;color:inherit;border:0}
.topbar a {display:inline-flex;gap:7px;align-items:center;color:#eee8dc;white-space:nowrap}
.topbar .icon-whatsapp {width:17px;height:17px}
.brand {height:80px}
.brand-slot {gap:12px;font-size:11px;max-width:370px}
.brand-mark {width:48px;height:48px;display:grid;place-items:center;border:1px solid #d8c5a2;border-radius:50%;padding:0;background:linear-gradient(145deg,#fcf9f1,#f0e7d7);color:#876333}
.brand-mark .icon {width:27px;height:27px;stroke-width:1.4}
.brand-slot small {font-size:10px;color:#777167;margin-top:3px}
.brand-slot .placeholder {background:none;color:#51483a;border:0}
.nav {font-family:var(--sans);font-size:12px;letter-spacing:.11em;gap:18px;align-items:stretch}
.nav a {padding:12px 10px;border-radius:6px 6px 0 0;position:relative}
.nav a.active {color:#fffdf7;background:#302b24}
.nav a:not(.active):hover {background:#f4eee4;color:#76572e}
.menu-toggle {font-size:13px;letter-spacing:.12em;color:#3c3429;background:#fffefb;min-height:48px}
.hero {background:radial-gradient(ellipse at 85% 20%,#75604455,transparent 58%),radial-gradient(ellipse at 10% 90%,#8e704b35,transparent 55%),linear-gradient(120deg,#161716,#302a23 65%,#1c1b18);border-top:0;color:#fcf9f2}
.hero:before {background:#d9bc84;box-shadow:0 0 100px 16px #c6a87222;opacity:.16}
.hero:after {background:#d8c498;box-shadow:0 0 90px 15px #dfc69a22;opacity:.14}
.hero h1 {font-family:var(--serif);font-size:clamp(38px,4.5vw,62px);font-weight:500;line-height:1.1;letter-spacing:-.02em;text-transform:none;max-width:790px;margin-bottom:24px}
.hero .quote {font-family:var(--serif);font-size:25px;line-height:1.4;font-weight:500;font-style:italic;max-width:430px;color:#e5d8bd;margin-bottom:18px}
.hero .quote:before,.hero .quote:after {width:42px;height:1px;background:#b99b67;margin:20px auto}
.hero .eyebrow {font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:.2em;line-height:1.8;color:#eee8dc}
.hero .media-note {font-size:11px;letter-spacing:.02em;color:#cabda4}
.hero .media-note .placeholder {color:inherit}
.banner {background:radial-gradient(ellipse at 80% 10%,#88744f2b,transparent 55%),linear-gradient(110deg,#252521,#3d352b);color:#fffaf0;border-top:0;padding:28px 0 32px}
.banner h1 {font-family:var(--serif);font-size:42px;font-weight:500;letter-spacing:-.01em;line-height:1.15}
.banner h1:after {width:42px;height:1px;background:#d4ba86;margin:14px auto}
.banner p {font-size:14px;color:#ded3bd;line-height:1.7}
.banner .placeholder {background:none;color:inherit;border:0}
.crumbs {font-size:12px;padding:14px 0;color:#777064;line-height:1.8}
.crumbs span {color:#75562b;font-weight:500}
.crumbs a:after {content:'›';color:#9e927e;padding:0 12px;font-size:15px}
.btn {display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;border:1px solid #383127;background:linear-gradient(135deg,#393329,#27241f);border-radius:8px;color:#fffaf1;font-size:12px;font-family:var(--sans);font-weight:600;letter-spacing:.075em;padding:13px 24px;text-transform:uppercase;box-shadow:0 4px 12px #31291912;line-height:1.6}
.btn:hover {background:linear-gradient(135deg,#514330,#332c23);border-color:#75603f;color:#fffaf1;box-shadow:0 6px 18px #31291923;transform:translateY(-1px)}
.btn:active {transform:translateY(0);box-shadow:none}
.btn .icon {width:18px;height:18px;color:#e0c695}
.btn .icon-arrow {margin-left:3px}
.btn-pink {background:linear-gradient(135deg,#b99b64,#d2b985);border-color:#baa16f;color:#29251d;box-shadow:0 4px 14px #7a5c2520}
.btn-pink:hover {background:linear-gradient(135deg,#c5aa76,#ddcba3);border-color:#b89c64;color:#29251d}
.btn-pink .icon {color:inherit}
.hero .btn {background:linear-gradient(135deg,#d4bd8e,#ead9b6);border-color:#d5c08d;color:#2f281c;box-shadow:0 8px 25px #0002;padding:15px 28px}
.hero .btn:hover {background:#f2e4c8;box-shadow:0 10px 28px #0004}
.hero .btn .icon {color:#5f4927}
.btn[data-whatsapp] {background:#e7d8b9;border:1px solid #c9b17d;color:#403421;box-shadow:0 4px 12px #77613b10}
.btn[data-whatsapp]:hover {background:#f0e4cc;color:#33291b;border-color:#ad8d52}
.btn[data-whatsapp] .icon {color:inherit;width:21px;height:21px}
.heading {font-size:36px;line-height:1.2;font-weight:600;margin-bottom:32px;letter-spacing:-.015em}
.heading:after,.line:after {height:1px;width:44px;background:#b89b63;margin-top:14px}
.section {padding:44px 0}
.benefits .grid {gap:30px}
.benefit h3 {font-size:15px;letter-spacing:.045em;font-weight:600;margin-top:14px}
.benefit h3:after {height:1px;width:32px;background:#c4a96e}
.benefit p {font-size:15px;line-height:1.8}
.feature-icon {width:52px;height:52px;background:#f3ece0;border:1px solid #e3d7bf;color:#94703a;border-radius:50%;display:grid;place-items:center;margin:0 auto 12px}
.feature-icon .icon {width:25px;height:25px;stroke-width:1.5}
.packages {background:#f0ece4;padding:42px 0;border-top:1px solid #e9e1d4;border-bottom:1px solid #e9e1d4}
.grid {gap:24px}
.card {border-radius:12px;border:1px solid #e7e0d4;background:#fffefa;box-shadow:0 4px 16px #45321b08}
.card:hover {transform:translateY(-4px);box-shadow:0 14px 28px #45321b13;border-color:#cbb991}
.card .media {border-top:0;aspect-ratio:460/259}
.card .media:after {content:'';height:1px;position:absolute;bottom:0;left:0;right:0;background:#e4dac6}
.card-content {padding:22px 20px 24px}
.card h3,.card h2 {font-family:var(--serif);font-size:26px;line-height:1.15;text-transform:none;letter-spacing:-.015em;font-weight:600;margin-bottom:13px;text-wrap:balance}
.card h3:after,.card h2:after {height:1px;width:36px;background:#c8ad76;margin:12px auto 0}
.card p {font-size:15px;line-height:1.75;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:18px;color:#595349}
.card .btn {background:transparent;color:#614a29;border:1px solid #cdbb96;box-shadow:none;border-radius:7px;font-size:11px;min-height:44px;padding:10px 19px}
.card .btn .icon {color:#8a6935;width:16px;height:16px}
.card:hover .btn {background:#eee2ca;color:#4b381c;border-color:#b49963}
.tag {background:#f0e5cf;color:#634d2d;font-size:11px;font-weight:500;line-height:1.6;letter-spacing:.01em;padding:5px 10px;border-radius:5px;margin-bottom:15px}
.tag .placeholder {background:none;color:inherit;border:0}
.media {background:#efe8dc}
.media-label {background:#faf7f0ed;color:#70634e;font-family:var(--sans);font-size:11px;line-height:1.5;padding:9px 12px}
.media-label .placeholder {color:inherit;line-height:inherit}
.placeholder {background:#eee8dc75;color:#77644a;border-color:#c8b995;border-radius:2px;font-size:.92em;line-height:inherit;padding:1px 2px}
.manifest p {font-size:17px;line-height:1.85;color:#575145}
.manifest .brand-slot {margin-top:8px}
.testimonials {background:radial-gradient(ellipse at 10% 100%,#9d825c20,transparent 60%),linear-gradient(120deg,#232420,#3c3328);color:#f8f4eb;padding:48px 0}
.testimonials .heading {color:#f4ead5}
.testimonials .heading:after {background:#c0a16b}
.testimonials blockquote {font-family:var(--serif);font-size:27px;font-weight:500;line-height:1.45;font-style:italic;min-height:65px}
.testimonials h3 {font-size:12px;font-weight:500;letter-spacing:.12em;color:#dfc99d;margin:22px 0 9px}
.testimonials p {font-size:13px;color:#c8c0b1}
.testimonials .placeholder {padding:0;border:0}
.slide-nav {gap:12px;align-items:center}
.slide-nav button {background:#f9f5eb;border:1px solid #dfd2b7;color:#70552d;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-size:20px}
.slide-nav button:hover {background:#e6d5b2;color:#46351c;border-color:#ad8c54}
.slide-nav button .icon {width:19px;height:19px}
.slide-nav [data-counter] {font-size:12px;letter-spacing:.1em;color:#75694f}
.testimonials .slide-nav button {background:#ffffff0a;color:#d9c299;border-color:#b8995d5c}
.testimonials .slide-nav button:hover {background:#b8995d2e}
.dots {gap:10px}
.dots button {width:24px;height:24px;border:none;border-radius:50%;position:relative;background:transparent}
.dots button:before {content:'';width:7px;height:7px;border:1px solid #ccbb9a;border-radius:50%;position:absolute;inset:0;margin:auto}
.dots button[aria-pressed=true] {background:transparent;border:0}
.dots button[aria-pressed=true]:before {background:#dec69a;border-color:#dec69a}
.regions details {border:1px solid #e4dccc;border-radius:10px;box-shadow:0 3px 10px #49331805;padding:18px 20px;background:#fffdf9;transition:border-color .2s}
.regions details[open] {border-color:#bfa570}
.regions summary {font-size:13px;letter-spacing:.04em;min-height:24px;position:relative;padding-left:32px;padding-right:24px;line-height:1.8}
.regions summary:before {display:none}
.regions summary>.icon {position:absolute;left:0;top:2px;color:#a28046;width:19px;height:19px}
.regions summary:after {content:'+';font-size:22px;font-weight:400;line-height:1;position:absolute;right:0;top:0;color:#9b7c47}
.regions details[open] summary:after {content:'−'}
.regions details p {font-size:15px}
.region-links a {font-size:14px;color:#715126;text-underline-offset:4px}
.category-label {font-size:10px;letter-spacing:.1em;color:#8c6a34;font-weight:600;margin-bottom:11px}
.footer {background:linear-gradient(115deg,#292924,#353027);color:#ded8cb;padding:48px 0 55px;font-size:14px;line-height:1.85;border-top:1px solid #b69b6540}
.footer h2 {font-family:var(--serif);font-size:25px;letter-spacing:.01em;color:#dfc9a1;font-weight:500;line-height:1.2;margin-bottom:22px}
.footer h2:after {height:1px;width:34px;background:#9c8051;margin-top:12px}
.footer .placeholder {font-size:.9em;color:#c8bda7;background:none;border-color:#756347}
.footer li {margin-bottom:12px;line-height:1.7}
.footer a:hover {color:#f1dfbc}
.footer-grid {gap:34px}
.socials {gap:10px;font-size:18px}
.socials a {display:grid;place-items:center;width:40px;height:40px;border:1px solid #99826066;border-radius:50%;background:#ffffff04;color:#dfc99d}
.socials a:hover {background:#b6996326;border-color:#b89b61}
.socials .icon {width:20px;height:20px}
.copy {background:#1b1d1a;color:#c7bca5;padding:22px;font-size:12px;border-top:1px solid #b69b651c}
.copy p:first-child {font-family:var(--serif);font-size:20px;line-height:1.5;color:#e8d7b8}
.copy p {margin:0}
.floating {width:auto;min-width:144px;height:54px;padding:0 19px;display:flex;align-items:center;justify-content:center;gap:10px;right:22px;bottom:22px;border:1px solid #e4cea3;border-radius:30px;background:linear-gradient(135deg,#dbc18e,#f0dfba);color:#32281b;box-shadow:0 5px 25px #241d1830;font:600 13px/1 var(--sans);letter-spacing:.015em}
.floating svg {width:25px;height:25px}
.floating:hover {background:#f2e4c8;color:#2b2317;box-shadow:0 8px 28px #241d1840;transform:translateY(-2px)}
.floating:before {display:none}
.detail {padding:30px 0 36px;gap:32px!important}
.detail h2 {font-family:var(--serif);font-size:29px;text-transform:none;letter-spacing:-.015em;line-height:1.2;margin:25px 0 15px}
.detail h3 {font-size:16px}
.detail p,.detail li {font-size:16px;line-height:1.85}
.detail .media {border-top:0;border:1px solid #e0d5c1;border-radius:12px}
.detail aside {top:78px}
.detail .actions {gap:12px}
.article-layout {gap:36px;grid-template-columns:minmax(0,640px) minmax(0,280px)}
.article-content {font-size:17px;line-height:1.9;min-width:0}
.article-content h2 {font-family:var(--serif);font-size:32px;line-height:1.2;margin:33px 0 17px;text-transform:none}
.article-content p,.article-content li {color:#4d493f}
.article-content .media {border-radius:12px;border:1px solid #e2d8c5;margin:24px 0}
.article-meta {font-size:12px;line-height:1.8;color:#776f61}
.sidebar {border-left:1px solid #e4dccb;padding-left:24px;font-size:15px;min-width:0}
.sidebar h2 {font-family:var(--serif);font-size:27px;text-transform:none;letter-spacing:-.01em}
.sidebar li {border-color:#e4dccb;padding:10px 0;font-size:14px}
.sidebar .btn {font-size:10px;padding:12px;gap:7px;white-space:normal}
.searchbox,.search-row select {border:1px solid #d9cfbd;background:#fffdf8;border-radius:8px;min-height:48px;font-size:15px;line-height:1.5;padding:12px 15px;color:#494133;box-shadow:0 2px 6px #362a1204}
.searchbox:focus,.search-row select:focus {border-color:#b99a60;outline:3px solid #b99a6022;outline-offset:0}
.search-row {gap:12px}
.search-row [data-search-status] {font-size:12px;color:#756a57;white-space:nowrap}
.pagination {gap:8px;margin:35px 0}
.pagination a {min-width:44px;min-height:44px;display:grid;place-items:center;border:1px solid #ded3bd;border-radius:7px;font-size:14px;background:#fffdf8}
.pagination .active {background:#332e26;border-color:#332e26;color:#fff9ec}
.contact {padding:28px 0 50px;gap:48px!important}
.contact label {font-size:14px;font-weight:500;color:#514838;line-height:1.7;margin-bottom:20px}
.contact input,.contact textarea,.contact select {border:1px solid #cfc0a3;border-radius:8px;background:#fffdfa;color:#3a3328;font-size:16px;padding:12px 14px;min-height:48px;margin-top:6px;line-height:1.5;box-shadow:0 2px 6px #5b452008;transition:border-color .2s,box-shadow .2s}
.contact input:hover,.contact textarea:hover,.contact select:hover {border-color:#ae8e55}
.contact input:focus,.contact textarea:focus,.contact select:focus {border-color:#967038;outline:none;box-shadow:0 0 0 3px #bda16b25}
.contact input[type=checkbox] {accent-color:#866434;box-shadow:none;min-height:20px;width:20px;height:20px;margin:0 9px 0 0;vertical-align:middle}
.contact .consent {font-size:13px;line-height:1.8}
.contact .consent a {text-decoration:underline;text-underline-offset:3px}
.contact h2 {font-family:var(--serif);font-size:29px;color:#66502f;font-weight:600;letter-spacing:0;text-transform:none;margin-bottom:22px}
.contact aside p {font-size:16px;line-height:1.9;margin-bottom:24px}
.contact .notice {font-size:13px;line-height:1.8}
.notice {border:1px solid #e0d2b8;border-left:3px solid #b3955d;border-radius:7px;background:#f3ede1;color:#66563c;padding:18px 20px;font-size:14px;line-height:1.8}
.form-status {font-size:14px;overflow-wrap:anywhere}
.form-status .actions {display:grid;gap:10px;margin-top:20px}
.gallery-filters {gap:10px}
.gallery-filters button {min-height:44px;border:1px solid #ded2bd;border-radius:22px;color:#726044;background:#fffcf6;padding:9px 18px;font-size:13px}
.gallery-filters button.active {background:#352e24;border-color:#352e24;color:#f6ecd8}
.gallery-filters button:hover:not(.active) {background:#eee3cf;border-color:#bda16b}
.gallery article {border:1px solid #e3d9c6;border-radius:12px;overflow:hidden;box-shadow:0 4px 15px #46341d06;background:#fffdfa}
.gallery button:hover .media img {transform:scale(1.025)}
.gallery .media img {transition:transform .3s}
.gallery .caption {box-shadow:none;padding:17px;font-size:14px;line-height:1.75;background:#fffdfa}
.gallery .caption strong {font-weight:600;color:#826338}
.lightbox {border-radius:14px;box-shadow:0 16px 70px #0006}
.lightbox-close {width:44px;height:44px;border-radius:50%;background:#fffdf5e8;color:#4b3c25;box-shadow:0 2px 12px #0002}
.lightbox-caption {font-size:15px;padding:22px;color:#5d4c31}
#info-dialog {max-width:min(480px,calc(100% - 32px));border:1px solid #d9c9a6;border-radius:14px;padding:28px;color:#4e422e;background:#fffdf7;box-shadow:0 15px 60px #0004}
#info-dialog::backdrop {background:#1d1a16a8;backdrop-filter:blur(3px)}
#info-dialog p {font-size:16px;line-height:1.8}
.checklist .group {border-color:#b99a61}
.checklist h2 {font-family:var(--serif);font-size:30px}
.check-row {font-size:15px;border-color:#e2d9c6;line-height:1.8;padding:16px 0}
.check-row input {accent-color:#866434;width:19px;height:19px}
.check-row code {font-family:var(--sans);font-size:11px;color:#8c7d64;line-height:1.7}
.check-row a {font-size:12px;color:#76572e}
.checklist-toolbar {background:#faf8f4f5;border-color:#e0d5bf;backdrop-filter:blur(8px)}
.checklist-toolbar .btn {min-height:44px;font-size:11px}
.sitemap-grid {font-size:14px;line-height:1.9;column-gap:32px}
.sitemap-grid a {text-decoration:underline;text-decoration-color:#d5c49e;text-underline-offset:3px}
.skip-link {background:#fff8e8;color:#49371c;border-radius:6px;font-size:14px}

@media(min-width:768px) and (max-width:1023px){
 .grid.three {grid-template-columns:repeat(2,minmax(0,1fr))}
 .benefits .grid.three {grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
 .benefit p {font-size:14px}
 .nav {gap:6px;font-size:11px;letter-spacing:.07em}
 .nav a {padding:13px 10px}
 .article-layout {grid-template-columns:minmax(0,1fr) 220px;gap:24px}
 .sidebar {padding-left:20px}
 .article-content {font-size:16px}
 .detail {gap:24px!important}
 .detail p,.detail li {font-size:15px}
 .detail h2 {font-size:27px}
 .detail .actions .btn {padding:12px 10px;font-size:10px;gap:7px}
 .contact {gap:30px!important}
 .footer-grid {grid-template-columns:1.6fr 1fr 1fr;gap:24px}
 .footer {font-size:13px}
 .footer h2 {font-size:23px}
 .banner h1 {font-size:38px}
 .hero h1 {font-size:52px}
 .sitemap-grid {columns:2}
}
@media(max-width:767px){
 body {font-size:16px;line-height:1.8}
 .container {width:calc(100% - 36px)}
 .header {top:-118px}
 .topbar {padding:10px 0;font-size:10px}
 .topbar a {gap:5px}
 .topbar a .whatsapp-label {display:none}
 .brand {height:78px}
 .brand-slot {max-width:300px;gap:10px}
 .brand-mark {width:42px;height:42px}
 .nav {gap:1px;font-size:10px;letter-spacing:.04em}
 .nav a {padding:12px 8px;min-height:44px}
 .hero {min-height:72vh}
 .hero h1 {font-size:43px;line-height:1.1;max-width:550px;margin-bottom:22px}
 .hero .quote {font-size:23px;max-width:340px}
 .hero .eyebrow {font-size:10px;letter-spacing:.16em;max-width:360px;margin:0 auto 27px}
 .hero .btn {padding:14px 22px;font-size:11px;min-height:50px}
 .hero .media-note {font-size:10px;line-height:1.5;bottom:11px;padding:0 16px}
 .banner {padding:27px 0 29px}
 .banner h1 {font-size:35px;line-height:1.15}
 .banner p {font-size:13px;line-height:1.7}
 .crumbs {font-size:12px;padding:13px 0;overflow-wrap:anywhere}
 .section {padding:36px 0}
 .heading {font-size:32px;margin-bottom:28px}
 .grid.two,.grid.three,.footer-grid,.article-layout {grid-template-columns:1fr}
 .grid {gap:24px}
 .benefits .grid {gap:30px}
 .benefit p {font-size:16px;max-width:500px;margin-left:auto;margin-right:auto}
 .benefit h3 {font-size:15px}
 .card h3,.card h2 {font-size:27px}
 .card p {font-size:16px;line-height:1.8}
 .card-content {padding:22px 20px 24px}
 .card .btn {font-size:11px;min-height:46px}
 .tag {font-size:11px;line-height:1.65}
 .manifest p {font-size:17px;line-height:1.85}
 .testimonials {padding:38px 0}
 .testimonials blockquote {font-size:26px}
 .testimonials h3 {font-size:11px;line-height:1.7}
 .regions summary {font-size:13px;line-height:1.75}
 .regions details {padding:17px 16px}
 .regions details p {font-size:15px}
 .detail {padding:24px 0 32px;gap:28px!important}
 .detail h2 {font-size:30px;line-height:1.2;margin-top:28px}
 .detail p,.detail li {font-size:16px;line-height:1.85}
 .detail aside {position:static;order:-1}
 .detail .actions {gap:10px}
 .detail .actions .btn {min-height:48px;padding:12px 16px;font-size:11px}
 .article-layout {gap:30px}
 .article-content {font-size:17px;line-height:1.9}
 .article-content h2 {font-size:31px;line-height:1.2}
 .article-meta {font-size:12px;line-height:1.8}
 .sidebar {border-left:0;border-top:1px solid #e1d6c0;padding-left:0;padding-top:15px;font-size:16px}
 .sidebar h2 {font-size:29px}
 .sidebar li {font-size:15px}
 .sidebar .btn {font-size:11px;padding:13px 20px}
 .contact {padding-top:24px;gap:35px!important}
 .contact label {font-size:14px;margin-bottom:20px}
 .contact input,.contact textarea,.contact select {font-size:16px;min-height:50px}
 .contact .consent {font-size:13px;line-height:1.85}
 .contact aside p {font-size:16px;line-height:1.85}
 .contact h2 {font-size:30px}
 .search-row {gap:12px}
 .search-row select {max-width:100%;flex:1}
 .searchbox,.search-row select {font-size:16px;min-height:48px}
 .gallery.grid {grid-template-columns:1fr 1fr;gap:16px}
 .gallery .caption {font-size:13px;padding:13px}
 .gallery-filters {gap:8px}
 .gallery-filters button {font-size:12px;padding:10px 15px;min-height:44px}
 .footer {font-size:15px;line-height:1.9;padding:38px 0 48px}
 .footer-grid {gap:30px}
 .footer h2 {font-size:27px}
 .footer ul {display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
 .footer li {font-size:14px;margin-bottom:13px}
 .floating {min-width:128px;height:50px;padding:0 15px;right:14px;bottom:max(14px,env(safe-area-inset-bottom));font-size:12px;gap:8px}
 .floating svg {width:23px;height:23px}
 .copy {padding:22px 22px 84px}
 .checklist-toolbar {top:45px;gap:10px}
 .checklist-toolbar .btn {font-size:10px;padding:10px 12px}
 .check-row {font-size:15px;line-height:1.85}
 .checklist h2 {font-size:29px}
 .sitemap-grid {columns:1;font-size:15px}
}
@media(max-width:600px){
 .header {top:0}
 .topbar {display:none}
 .brand {height:70px}
 .brand-slot {font-size:10px;max-width:290px}
 .brand-slot small {font-size:9px}
 .brand-mark {width:40px;height:40px;flex-shrink:0}
 .brand-mark .icon {width:23px;height:23px}
 .menu-toggle {display:flex;align-items:center;justify-content:center;gap:8px;width:100%;border:0;border-top:1px solid #eee6d8;background:#fffefb;font-size:12px;min-height:44px;padding:10px}
 .menu-toggle .icon {width:18px;height:18px}
 .nav {display:none;flex-direction:column;max-height:65vh;overflow:auto;gap:0;text-align:center;padding:6px 16px 12px}
 .nav.open {display:flex}
 .nav a {font-size:12px;padding:12px;border-radius:6px;min-height:44px;letter-spacing:.09em}
 .hero {min-height:72vh;padding:32px 0 40px}
 .hero h1 {font-size:38px;max-width:360px}
 .hero .quote {font-size:24px;max-width:300px}
 .hero .eyebrow {font-size:10px;letter-spacing:.12em;max-width:290px}
 .banner h1 {font-size:33px;line-height:1.16}
 .heading {font-size:32px}
 .btn {font-size:11px;min-height:48px}
 .gallery.grid {grid-template-columns:1fr}
 .gallery .caption {font-size:14px;padding:16px}
 .media-label {font-size:11px}
 .checklist-toolbar {position:static;backdrop-filter:none}
 .contact .notice {font-size:13px;padding:15px}
 html {scroll-padding-top:125px}
}
@media(max-width:359px){
 .container {width:calc(100% - 28px)}
 .brand-slot {max-width:265px;gap:8px}
 .brand-mark {width:36px;height:36px}
 .hero h1 {font-size:34px}
 .hero .quote {font-size:22px}
 .banner h1 {font-size:30px}
 .card-content {padding:20px 16px}
 .card h3 {font-size:25px}
 .footer ul {grid-template-columns:1fr}
 .search-row [data-search-status] {width:100%}
}
@media(prefers-reduced-motion:reduce){
 a,button,.card,.gallery .media img {transition:none}
 .card:hover,.btn:hover,.floating:hover,.gallery button:hover .media img {transform:none}
}
@media print{
 body {font-family:Arial,sans-serif;color:#000;background:#fff}
 h1,h2 {color:#000}
 .placeholder {background:transparent;color:#000}
 .floating {display:none}
 .banner {background:#fff;color:#000}
 .notice {background:#fff;border:1px solid #aaa;color:#000}
}
