/* Continuous page surfaces, shared depth, and theme-native animated line icons. */
:root {
    --gutter: clamp(22px,5.6vw,108px);
    --content-width: 1360px;
    --shadow-soft: 0 12px 45px -22px rgba(26,43,52,.22);
    --shadow-hover: 0 18px 35px -20px rgba(26,43,52,.3);
    --section-space: clamp(48px,calc(var(--space) * 2.5),88px);
    --surface-ivory: #f6f6f2;
    --surface-glass: rgba(255,255,255,.9);
}
html { scroll-behavior: auto; }
body.stateform { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
.wrap { width: min(var(--content-width),calc(100% - var(--gutter) * 2)); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.site-header { height: 88px; background: #fff; position: relative; z-index: 10; border-color: #edf0ed; }
.header-inner { width: min(1600px,calc(100% - var(--gutter) * 2)); }
.brand { font-size: 29px; }
.menu-toggle { min-height: 44px; }
.menu-toggle .icon { width: 18px; height: 18px; vertical-align: middle; margin-left: 6px; }
nav a:hover { text-decoration: none; }
.nav-dropdown summary { list-style: none; display: flex; gap: 7px; align-items: center; }
.nav-dropdown summary::-webkit-details-marker { display: none; }
.nav-dropdown summary::after { content: ""; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; width: 5px; height: 5px; transform: translateY(-2px) rotate(45deg); transition: transform var(--motion-base) var(--motion-ease); }
.nav-dropdown[open] summary::after { transform: translateY(1px) rotate(225deg); }
.nav-dropdown > div { padding: 12px; border-radius: var(--radius); background: #fffffff5; box-shadow: var(--shadow-soft); }
.nav-dropdown a { border-radius: 6px; }
.nav-dropdown a:is(:hover,:focus-visible) { background: #f7f7f4; color: var(--red); }
.section { margin-top: 0; padding-block: var(--section-space); }
.tinted {
    width: 100%;
    margin-inline: 0;
    padding-inline: max(var(--gutter),calc((100% - var(--content-width)) / 2));
    border-radius: 0;
    background: #f7f8f5;
}
.section-heading { margin-bottom: 30px; gap: 24px; }
.section-heading h2 { font-size: clamp(27px,2.4vw,36px); line-height: 1.2; letter-spacing: -.045em; margin-bottom: 10px; }
.section-heading p { font-size: 14px; line-height: 1.7; }
.section-heading > a { font-size: 12px; max-width: none; }
#products { background: #fff; border-bottom: 1px solid #edf0ed; padding-block: 42px 48px; }
.products-grid { gap: 0; }
.product-card { min-height: 154px; border: 0; border-radius: 10px; padding: 20px 10px; background: transparent; gap: 21px; position: relative; }
.product-card + .product-card { border-left: 1px solid #e6eae5; border-radius: 0; }
.product-card h3 { font-size: 12px; line-height: 1.45; font-weight: 600; letter-spacing: -.01em; }
.product-card .icon { width: 44px; height: 44px; }
.product-card img { width: 44px; height: 44px; object-fit: contain; }
.product-card:is(:hover,:focus-visible) { background: #f8f9f6; box-shadow: var(--shadow-hover); transform: translateY(-4px); border-radius: 10px; }
.office-grid { gap: 38px; grid-template-columns: .9fr 1.55fr 1fr; align-items: start; }
.panel { background: transparent; border: 0; border-radius: 0; padding: 0; }
.panel h2 { font-size: 24px; margin-bottom: 24px; }
.office > img { height: 215px; border-radius: var(--radius); margin-bottom: 24px; }
.office p { line-height: 1.75; }
.office a { min-height: 30px; }
.highlights { display: grid; gap: 20px; }
.highlight { border: 0; border-radius: 0; padding: 0 0 20px; margin: 0; background: transparent; border-bottom: 1px solid #e7eae6; grid-template-columns: .9fr 1fr; gap: 20px; }
.highlight:last-child { padding-bottom: 0; border-bottom: 0; }
.highlight img { height: 126px; border-radius: 10px; }
.highlight h3 { font-size: 15px; font-weight: 650; }
.highlight p { font-size: 12px; line-height: 1.65; }
.about { padding: 30px; border-radius: var(--radius); background: #f5f6f1; }
.about h2 { font-size: 29px; line-height: 1.18; }
.about .eyebrow { font-size: 9px; letter-spacing: .1em; }
.about p { font-size: 13px; line-height: 1.85; }
.agent-signoff { font-size: 25px; margin-top: 30px; }
.articles-grid { gap: 26px; }
.article-card { border: 0; border-radius: 0; background: transparent; overflow: hidden; box-shadow: none; }
.article-card > img { width: 100%; aspect-ratio: 1.55; height: auto; border-radius: var(--radius); }
.article-card > div { padding: 22px 0 0; }
.article-card h3 { font-size: 18px; line-height: 1.35; letter-spacing: -.035em; max-width: 24ch; }
.article-card p { line-height: 1.7; margin-top: 12px; }
.article-card > div > a { display: inline-block; margin-top: 8px; }
.social-grid { padding-block: 60px; gap: 60px; grid-template-columns: 1fr 1.8fr; }
.social-grid .panel h2 { margin-bottom: 14px; }
.social-grid .panel > p,.videos-panel p { font-size: 13px; }
.social-grid > .panel:first-child { border-right: 1px solid #e7eae6; padding-right: 36px; }
.social-links { gap: 12px; }
.social-links .button { background: #f6f7f3; border-color: #d9ded8; box-shadow: 3px 3px 8px #dce0d944,-3px -3px 8px #fff; gap: 9px; }
.social-links .icon { width: 17px; height: 17px; }
.video-empty { background: #f7f8f5; border: 0; border-radius: var(--radius); padding: 30px; font-size: 16px; }
.video-card { overflow: hidden; border-radius: 10px; }
.play { width: 38px; height: 38px; display: grid; place-content: center; padding: 0; background: #fffffff0; box-shadow: var(--shadow-soft); }
.play .icon { width: 19px; height: 19px; }
.carousel-prev,.carousel-next { width: 44px; height: 44px; background: #f7f8f5; box-shadow: 3px 3px 7px #dce0d944,-3px -3px 7px #fff; border-color: #e3e6e0; }
.carousel-prev .icon,.carousel-next .icon { width: 16px; height: 16px; }
.carousel-prev .icon { transform: rotate(180deg); }
.contact-section { background: #f5f4ef; }
.tabs { gap: 36px; margin-bottom: 40px; border-bottom-color: #dde1d9; }
.tabs button { min-height: 44px; }
.contact-grid { grid-template-columns: 1.5fr .75fr 1fr; gap: 42px; }
.contact-grid h2 { font-size: clamp(29px,2.5vw,37px); margin-bottom: 15px; }
.contact-grid p { font-size: 13px; line-height: 1.7; }
.contact-form { margin-top: 25px; }
.contact-form input:not([type=checkbox]),.contact-form textarea { background: #ffffffd9; }
.contact-form .primary { min-height: 50px; margin-top: 16px; }
.quick-actions { padding: 25px; border: 1px solid #fff; background: #fffffff0; box-shadow: var(--shadow-soft); border-radius: var(--radius); }
.quick-actions a { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; color: var(--navy); font-size: 12px; margin-bottom: 28px; min-height: 24px; }
.quick-actions a > span { width: 100%; }
.quick-actions .icon { width: 20px; height: 20px; flex-shrink: 0; }
.quick-actions strong { font-size: 12px; }
.contact-photo img { height: 330px; border-radius: 120px 120px 10px 10px; }
.contact-photo p { font: italic 25px/1.3 Georgia,serif; margin-top: 25px; color: var(--red); }
.brand-banner { width: 100%; border-radius: 0; padding: 40px max(var(--gutter),calc((100% - var(--content-width)) / 2)); gap: 38px; }
.brand-banner h2 { font-size: 21px; line-height: 1.4; max-width: 480px; }
.banner-brand { font-size: 30px; }
.brand-banner .button { border-radius: 30px; min-height: 48px; padding-inline: 25px; }
.site-footer { margin-top: 0; padding-top: 60px; background: #fafaf8; }
.footer-grid { gap: 60px; padding-bottom: 15px; }
.site-footer h3 { font-size: 15px; margin-bottom: 18px; }
.site-footer p,.site-footer a { font-size: 12px; line-height: 1.8; }
.site-footer a { min-height: 24px; }
.legal { padding-block: 28px; margin-top: 35px; }
.button { border-radius: 8px; }
.primary { box-shadow: 0 8px 18px -12px var(--red); }
.primary:is(:hover,:focus-visible) { box-shadow: 0 10px 24px -12px var(--red); }
.outline { border-color: #dfc7c9; background: #fff; }
.outline:hover { border-color: var(--red); }
.utility-icon { display: grid; place-items: center; width: 39px; height: 39px; flex-shrink: 0; border-radius: 11px; background: #f8f7f3; border: 1px solid #e5e7df; box-shadow: 3px 3px 8px #dfe3dc55,-3px -3px 8px #fff; }
.utility-icon .icon { width: 21px; height: 21px; }
input:not([type=checkbox]),select,textarea { border-color: #d7ddd6; transition-property: border-color,background-color,box-shadow; }
input:not([type=checkbox]):focus,select:focus,textarea:focus { border-color: #617e99; background: #fff; box-shadow: 0 0 0 3px #1769aa12; }
input::placeholder,textarea::placeholder { color: #68757d; opacity: 1; }
input:disabled,select:disabled,button:disabled { opacity: .6; cursor: not-allowed; }
.glass-surface { background: #fff; border: 1px solid #ffffff; }
@supports(backdrop-filter:blur(12px)) {
    .glass-surface { background: var(--surface-glass); backdrop-filter: blur(14px); }
    .play { backdrop-filter: blur(8px); }
}
@media(max-width:1100px) {
    .products-grid { grid-template-columns: repeat(5,1fr); gap: 8px 0; }
    .product-card:nth-child(6) { border-left: 0; }
    .office-grid { grid-template-columns: 1fr 1.5fr; gap: 32px; }
    .about { grid-column: 1/-1; }
    .contact-grid { grid-template-columns: 1.5fr 1fr; gap: 30px; }
    .contact-photo { display: none; }
    .articles-grid { gap: 20px; }
}
@media(max-width:850px) {
    :root { --gutter: 28px; }
    .site-header { height: 76px; }
    #main-nav { gap: 18px; }
    nav a,nav summary { font-size: 12px; }
    .brand { font-size: 24px; }
    .articles-grid { grid-template-columns: repeat(2,1fr); gap: 34px 24px; }
    .social-grid { gap: 30px; }
    .brand-banner { gap: 24px; }
    .brand-banner h2 { font-size: 18px; }
}
@media(max-width:760px) {
    #main-nav { top: 76px; padding: 24px var(--gutter); }
    #main-nav.open { display: flex; }
    .section-heading > a { font-size: 11px; flex-shrink: 0; }
    .office-grid { grid-template-columns: 1fr; gap: 38px; }
    .about { grid-column: auto; padding: 28px; }
    .highlight { grid-template-columns: .75fr 1fr; }
    .highlight img { height: 140px; }
    .social-grid { grid-template-columns: 1fr; gap: 35px; }
    .social-grid > .panel:first-child { border-right: 0; border-bottom: 1px solid #e7eae6; padding: 0 0 30px; }
    .contact-grid { grid-template-columns: 1fr; }
    .quick-actions { grid-template-columns: 1fr 1fr; }
    .quick-actions a { margin: 0; }
    .brand-banner { flex-wrap: wrap; }
    .brand-banner h2 { order: 2; flex-basis: 100%; max-width: none; }
    .footer-grid { gap: 30px; }
    .glass-surface { backdrop-filter: none; background: #fffffff5; }
}
@media(max-width:480px) {
    :root { --gutter: 22px; --section-space: 44px; }
    .section-heading { align-items: flex-start; gap: 14px; margin-bottom: 26px; }
    .section-heading h2 { font-size: 29px; }
    .section-heading > a { max-width: 90px; margin-top: 8px; }
    .products-grid { grid-template-columns: repeat(2,1fr); }
    .product-card { min-height: 132px; gap: 16px; border-bottom: 1px solid #e6eae5; }
    .product-card:nth-child(odd) { border-left: 0; }
    .product-card:nth-child(even) { border-left: 1px solid #e6eae5; }
    .product-card:nth-last-child(-n+2) { border-bottom: 0; }
    .product-card h3 { font-size: 13px; }
    .articles-grid { grid-template-columns: 1fr 1fr; gap: 30px 18px; }
    .article-card h3 { font-size: 16px; }
    .article-card > div { padding-top: 16px; }
    .article-card p { font-size: 12px; }
    .article-card > img { aspect-ratio: 1.2; border-radius: 10px; }
    .form-row { grid-template-columns: 1fr; gap: 0; }
    .tabs { gap: 25px; }
    .tabs button { font-size: 12px; }
    .brand-banner { gap: 20px; padding-block: 32px; }
    .banner-brand { font-size: 25px; }
    .brand-banner .button { padding: 10px 16px; font-size: 11px; margin-left: 0; min-height: 44px; }
}
nav .login{display:flex;gap:9px;align-items:center}nav .login .icon{width:17px;height:17px;color:var(--navy)}.carousel-controls{display:flex;gap:8px}.contact-form .primary .icon{width:18px;height:18px;color:#fff}.quick-actions .icon{transition:transform var(--motion-base) var(--motion-ease)}.quick-actions a:is(:hover,:focus-visible) .icon{transform:translateX(3px)}
