/* Shared editorial rhythm for the three principal adventure pages. */
.adventure-design{--ad-display:Georgia,'Times New Roman',serif;--ad-edge:clamp(24px,5.2vw,100px);--ad-gap:clamp(30px,4.2vw,80px);font-family:Arial,Helvetica,sans-serif;font-size:17px;line-height:1.7}
.adventure-design h1,.adventure-design h2,.adventure-design h3{font-family:var(--ad-display);font-weight:400;letter-spacing:-.045em}
.adventure-design h1{font-size:clamp(46px,5.2vw,80px);line-height:1.07}
.adventure-design h2{font-size:clamp(34px,3.8vw,58px);line-height:1.14}
.adventure-design h3{font-size:clamp(26px,2.1vw,34px);line-height:1.2}
.adventure-design .eyebrow{font-size:14px;line-height:1.5;letter-spacing:.14em}
.adventure-design .ad-caption,.adventure-design figcaption,.adventure-design .ad-paper-date,.adventure-design .ad-character .eyebrow{font-size:14px;line-height:1.6}
.adventure-design .button,.adventure-design .ad-demo-link,.adventure-design .text-link{font-size:16px}
.adventure-design .ad-wrap{width:100%;max-width:none;padding-left:var(--ad-edge);padding-right:var(--ad-edge)}
.adventure-design .ad-page-hero{position:relative;isolation:isolate;min-height:620px;overflow:hidden;background:#f4f0e5}
.adventure-design .ad-page-hero h1{margin:0;max-width:11ch}
.adventure-design .ad-page-hero p:not(.eyebrow){font-size:18px;line-height:1.7}
.adventure-design .ad-hero-content,.adventure-design .ad-story-hero-copy{position:relative;padding-top:75px;padding-bottom:75px}
.adventure-design .ad-hero-content{width:100%}
.adventure-design .ad-hero-intro{max-width:43ch}
.adventure-design .ad-page-hero .ad-hero-buttons{margin-top:30px;gap:20px}
.adventure-design .ad-demo-link{display:inline-flex;align-items:center;min-height:44px}
.adventure-design .ad-story-hero-art{position:absolute;inset:0 0 0 34%;background-size:cover;background-position:60% center;z-index:-2}
.adventure-design .ad-story-opening:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#f4f0e5 0%,#f4f0e5 33%,#f4f0e5ed 41%,#f4f0e500 65%);z-index:-1}
.adventure-design .ad-story-opening .ad-story-hero-copy{padding-top:75px;padding-bottom:75px}
.adventure-design .ad-story-hero-copy>p:not(.eyebrow){max-width:38ch;margin-top:24px}
.adventure-design .ad-story-hero-copy .ad-hero-buttons{max-width:600px}
.adventure-design .ad-guide-hero>.ad-wrap{display:grid;grid-template-columns:1fr 1fr;gap:var(--ad-gap);align-items:center;padding-top:75px;padding-bottom:75px;min-height:620px}
.adventure-design .ad-guide-hero h1{max-width:14ch}
.adventure-design .ad-guide-hero-copy>p:not(.eyebrow){margin-top:24px}
.adventure-design .ad-guide-hero figure{margin:0;min-width:0}
.adventure-design .ad-guide-hero img{display:block;width:100%;height:auto;border:1px solid #b9a789;box-shadow:0 16px 35px #49341d18}
.adventure-design .ad-guide-hero figcaption{margin-top:15px;color:#665b48}
.adventure-design .ad-protagonist,.adventure-design .ad-encounter,.adventure-design .ad-history,.adventure-design .ad-game-proof,.adventure-design .ad-guide-tools,.adventure-design .ad-phone-guide{display:grid;grid-template-columns:1fr 1fr;gap:var(--ad-gap);align-items:center;max-width:none!important;padding-top:75px;padding-bottom:75px}
.adventure-design .ad-protagonist{background:#e8e2d4}
.adventure-design .ad-protagonist-portrait{position:relative;margin:0;min-width:0;background:#352b23}
.adventure-design .ad-protagonist-portrait img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center 28%}
.adventure-design .ad-protagonist-portrait figcaption{position:absolute;bottom:0;left:0;right:0;padding:32px 24px 18px;background:linear-gradient(transparent,#211b17db);color:#fff7e7;font-family:var(--ad-display);font-size:28px}
.adventure-design .ad-encounter figure{margin:0}
.adventure-design .ad-encounter img,.adventure-design .ad-history img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.adventure-design .ad-history{background:#e3e5dd}
.adventure-design .ad-section-heading{grid-template-columns:1fr 1fr;gap:var(--ad-gap)}
.adventure-design .ad-story-body{padding-top:75px;padding-bottom:75px}
.adventure-design .ad-story-body h2{font-size:clamp(34px,3.8vw,58px)}
.adventure-design .ad-story-body>div:first-child{margin-bottom:30px}
.adventure-design .ad-guide-notes{gap:45px var(--ad-gap);padding-top:75px;padding-bottom:75px;background:#e3e5dd}
.adventure-design .ad-guide-notes h2{font-size:30px;letter-spacing:-.025em;max-width:none}
.adventure-design .ad-guide-notes p{font-size:17px}
.adventure-design .ad-card-guide{padding-top:75px;padding-bottom:75px}
.adventure-design .ad-guide-tools{background:#ede4d2}
.adventure-design .ad-phone-guide{background:#e3e5dd}
.adventure-design .ad-faq{padding-top:75px;padding-bottom:75px}
.adventure-design .ad-demo-section{background:#ede4d2;color:#342b21;padding:75px 0}
.adventure-design .ad-demo-layout{grid-template-columns:1fr 1fr;gap:var(--ad-gap)}
.adventure-design .ad-demo-layout>div:first-child>p:not(.eyebrow){color:#534a3b}
.adventure-design .ad-demo-layout .text-link{border-color:#8e7e64}
.adventure-design .ad-demo{background:#f5edda;color:#3d3224;border-color:#bba47e;box-shadow:0 18px 40px #49341d18}
.adventure-design .ad-demo header{font-size:14px;border-color:#c5b598}
.adventure-design .ad-demo header button{font-size:14px;min-height:44px;color:#59432a}
.adventure-design .ad-demo h3{color:#59432a}
.adventure-design .ad-demo-output{font-size:18px;scrollbar-color:#a18b68 #f5edda}
.adventure-design .ad-demo-status,.adventure-design .ad-demo form label{font-size:14px;color:#59432a}
.adventure-design .ad-demo-actions button{background:#ebe0c8;color:#443321;border-color:#aa926c;font-size:15px;min-height:44px}
.adventure-design .ad-demo-actions button:hover{background:#dfcfac}
.adventure-design .ad-demo form>div{border-color:#aa926c}
.adventure-design .ad-demo input{background:#fffaf0;color:#342b21;font-size:16px}
.adventure-design .ad-demo input::placeholder{color:#766852}
.adventure-design .ad-demo form button{background:#6c5132;color:#fff8e8;min-height:48px}
.adventure-design .ad-demo .ad-caption{color:#6c604b}
.adventure-design .site-footer nav a,.adventure-design .footer-credit{font-size:14px}
.adventure-design .site-footer nav a{display:inline-flex;align-items:center;min-height:44px}
.adventure-design .site-header nav a[aria-current=page]{text-decoration:underline;text-underline-offset:7px}
.adventure-design .mobile-nav summary,.adventure-design .ad-faq summary{min-height:44px;align-content:center}
.adventure-design a:focus-visible,.adventure-design button:focus-visible{outline:2px solid #8a5b28;outline-offset:4px}
@media(max-width:1000px) and (min-width:701px){
 .adventure-design .ad-page-hero h1{font-size:58px}
 .adventure-design .ad-page-hero .ad-hero-buttons{flex-direction:column;align-items:flex-start;gap:12px}
 .adventure-design .ad-story-hero-copy>p:not(.eyebrow){max-width:32ch}
 .adventure-design .ad-guide-hero>.ad-wrap{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
 .adventure-design{font-size:16px;--ad-edge:24px;--ad-gap:28px}
 .adventure-design .ad-page-hero{min-height:0}
 .adventure-design .ad-page-hero h1{font-size:clamp(40px,10.8vw,60px);max-width:none;line-height:1.08}
 .adventure-design .ad-page-hero p:not(.eyebrow){font-size:16px;max-width:none}
 .adventure-design .ad-page-hero .eyebrow{font-size:14px;max-width:none}
 .adventure-design .ad-hero-content,.adventure-design .ad-story-opening .ad-story-hero-copy{padding-top:35px!important;padding-bottom:40px}
 .adventure-design .ad-story-opening{display:flex;flex-direction:column}
 .adventure-design .ad-story-opening:before{display:none}
 .adventure-design .ad-story-hero-art{position:relative;inset:auto;order:-1;width:100%;aspect-ratio:16/9;z-index:0;background-size:cover;background-position:center}
 .adventure-design .ad-page-hero .ad-hero-buttons{flex-direction:column;align-items:stretch;gap:10px;margin-top:24px}
 .adventure-design .ad-page-hero .ad-hero-buttons .button{width:100%;min-width:0;justify-content:space-between;padding-left:18px;padding-right:18px}
 .adventure-design .ad-demo-link{align-self:flex-start}
 .adventure-design .ad-guide-hero>.ad-wrap{grid-template-columns:1fr;padding-top:35px;padding-bottom:40px;min-height:0;gap:32px}
 .adventure-design .ad-protagonist,.adventure-design .ad-encounter,.adventure-design .ad-history,.adventure-design .ad-game-proof,.adventure-design .ad-guide-tools,.adventure-design .ad-phone-guide,.adventure-design .ad-section-heading,.adventure-design .ad-demo-layout{grid-template-columns:1fr;gap:28px}
 .adventure-design .ad-protagonist,.adventure-design .ad-encounter,.adventure-design .ad-history,.adventure-design .ad-game-proof,.adventure-design .ad-guide-tools,.adventure-design .ad-phone-guide,.adventure-design .ad-story-body,.adventure-design .ad-guide-notes,.adventure-design .ad-card-guide,.adventure-design .ad-faq{padding-top:45px;padding-bottom:45px}
 .adventure-design .ad-demo-section{padding:45px 0}
 .adventure-design .ad-guide-notes p{font-size:16px}
 .adventure-design .ad-demo{padding:18px}
 .adventure-design .ad-demo-output{font-size:17px}
 .adventure-design .ad-page-hero figure{min-width:0}
}
.adventure-design .site-header .return-link,.adventure-design .mobile-nav summary,.adventure-design .ad-newspaper>a,.adventure-design .offer-return,.adventure-design .site-footer>div>p{font-size:14px}
.adventure-design .site-header .return-link{min-height:44px;align-content:center}
.adventure-design .ad-newspaper>a{display:inline-flex;align-items:center;min-height:44px}
@media(min-width:701px){.adventure-design .ad-hero-art{background-position:70% 35%}}
.adventure-design .site-footer .footer-credit{font-size:14px}
.adventure-design .offer .offer-return{font-size:14px;min-height:44px;align-content:center}
/* The adventure shop shares the page rhythm, with complete purchasable products. */
.adventure-design .ad-shop-hero-art{position:absolute;inset:0 0 0 25%;z-index:-2;background-size:cover;background-position:right center}
.adventure-design .ad-shop-hero:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#f4f0e5 0%,#f4f0e5 28%,#f4f0e5e8 39%,#f4f0e500 64%)}
.adventure-design .ad-shop-hero-copy{padding-top:75px;padding-bottom:75px}
.adventure-design .ad-shop-hero h1{max-width:12ch}
.adventure-design .ad-shop-hero-copy>p:not(.eyebrow){max-width:39ch;margin-top:24px}
.adventure-design .ad-shop-hero-copy>p.ad-shop-hero-note{font-size:14px;line-height:1.6;max-width:46ch;color:#655c4a}
.adventure-design .ad-shop-products{padding-top:75px;padding-bottom:60px;background:#e8e2d4;scroll-margin-top:24px}
.adventure-design .ad-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ad-gap);margin-top:40px;align-items:start}
.adventure-design .ad-product-card{min-width:0;background:#f8f5ed;border:1px solid #c4b89f}
.adventure-design .ad-product-image{margin:0;background:#d8ccb3;padding:30px;display:flex;justify-content:center;align-items:center;height:370px;border-bottom:1px solid #c4b89f}
.adventure-design .ad-product-card:nth-child(2) .ad-product-image{background:#c9cebf}
.adventure-design .ad-product-image img{display:block;width:auto;max-width:100%;height:100%;object-fit:contain;box-shadow:0 10px 22px #49341d24}
.adventure-design .ad-product-content{padding:30px;min-width:0}
.adventure-design .ad-product-content>.eyebrow{margin-bottom:15px;color:#6b5636}
.adventure-design .ad-product-card h3{font-size:clamp(30px,2.6vw,40px);line-height:1.18;letter-spacing:-.035em;margin:0;min-height:2.36em;max-width:22ch}
.adventure-design .ad-product-description{margin:20px 0 0;min-height:5.1em}
.adventure-design .ad-product-format{margin:18px 0 0;font-size:14px;color:#645848;line-height:1.6}
.adventure-design .ad-product-purchase{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:26px;padding-top:24px;border-top:1px solid #cfc4ae}
.adventure-design .ad-product-price{font-family:var(--ad-display);font-size:34px;color:#29372d;line-height:1.2;margin:0}
.adventure-design .ad-product-price small{display:block;font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:1.6;color:#655c4a;margin-top:4px}
.adventure-design .ad-product-purchase .button{min-width:0;gap:22px;min-height:52px}
.adventure-design .ad-product-preview{margin-top:25px;border-top:1px solid #cfc4ae}
.adventure-design .ad-product-preview summary{padding:14px 0;min-height:48px;cursor:pointer;font-size:16px}
.adventure-design .ad-product-preview img{display:block;width:100%;max-width:440px;height:auto;margin:15px auto;border:1px solid #c4b89f}
.adventure-design .ad-product-preview p{font-size:14px;margin-top:12px}
.adventure-design .ad-shop-delivery{font-size:16px;text-align:center;max-width:none;margin:32px 0 0;color:#5b5547}
.adventure-design .ad-shop-game{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:var(--ad-gap);padding-top:75px;padding-bottom:75px;background:#e3e5dd}
.adventure-design .ad-shop-game figure{margin:0;min-width:0}
.adventure-design .ad-shop-game img{display:block;width:100%;height:auto;border:1px solid #b9a789}
.adventure-design .ad-shop-game p:not(.eyebrow){margin-top:24px}
.adventure-design .ad-shop-game .button{margin-top:28px}
.adventure-design .ad-shop-game .text-link{display:table;margin-top:20px}
@media(min-width:701px) and (max-width:1100px){.adventure-design .ad-product-description{min-height:10.2em}.adventure-design .ad-product-purchase .button{width:100%;justify-content:space-between}}
@media(max-width:700px){
 .adventure-design .ad-shop-hero{display:flex;flex-direction:column}
 .adventure-design .ad-shop-hero:before{display:none}
 .adventure-design .ad-shop-hero-art{position:relative;inset:auto;order:-1;width:100%;aspect-ratio:16/9;z-index:0;background-position:right center}
 .adventure-design .ad-shop-hero-copy{padding-top:35px;padding-bottom:40px}
 .adventure-design .ad-shop-hero-copy>p:not(.eyebrow){max-width:none}
 .adventure-design .ad-shop-products{padding-top:45px;padding-bottom:40px}
 .adventure-design .ad-product-grid{grid-template-columns:1fr;gap:28px;margin-top:28px}
 .adventure-design .ad-product-image{height:340px;padding:24px}
 .adventure-design .ad-product-content{padding:24px}
 .adventure-design .ad-product-card h3{font-size:32px;min-height:0;max-width:none}
 .adventure-design .ad-product-description{min-height:0;margin-top:18px}
 .adventure-design .ad-product-purchase{margin-top:22px;padding-top:22px}
 .adventure-design .ad-product-purchase .button{width:100%;justify-content:space-between;padding:16px 18px}
 .adventure-design .ad-shop-delivery{text-align:left}
 .adventure-design .ad-shop-game{grid-template-columns:1fr;padding-top:45px;padding-bottom:45px;gap:28px}
 .adventure-design .ad-shop-game .button{width:100%;justify-content:space-between}
}

/* The guide uses the same illustrated opening as Story and Shop. */
.adventure-design .ad-guide-hero-art{position:absolute;inset:0 0 0 25%;background-size:cover;background-position:right center;z-index:-2}
.adventure-design .ad-guide-hero:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#f4f0e5 0%,#f4f0e5 28%,#f4f0e5eb 39%,transparent 64%)}
.adventure-design .ad-guide-hero .ad-guide-hero-copy{display:block;min-height:620px;padding-top:75px;padding-bottom:75px}
.adventure-design .ad-guide-hero h1{max-width:14ch}
.adventure-design .ad-guide-hero-copy>p:not(.eyebrow){max-width:39ch}
.adventure-design .ad-guide-hero .ad-hero-buttons{max-width:620px}
.adventure-design .ad-guide-screen{background:#e8e2d4;padding-top:55px;padding-bottom:55px}
.ad-guide-screen figure{margin:0}.ad-guide-screen img{display:block;width:100%;height:auto;border:1px solid #b9a789;box-shadow:0 12px 30px #49341d18}.ad-guide-screen figcaption{margin-top:16px;color:#665b48}
@media(max-width:700px){
 .adventure-design .ad-guide-hero{display:flex;flex-direction:column}
 .adventure-design .ad-guide-hero:before{display:none}
 .adventure-design .ad-guide-hero-art{position:relative;inset:auto;order:-1;width:100%;aspect-ratio:16/9;z-index:0;background-position:right center}
 .adventure-design .ad-guide-hero .ad-guide-hero-copy{min-height:0;padding-top:35px;padding-bottom:40px}
 .adventure-design .ad-guide-hero h1,.adventure-design .ad-guide-hero-copy>p:not(.eyebrow){max-width:none}
 .adventure-design .ad-guide-screen{padding-top:35px;padding-bottom:35px}
}

/* Checkout: clear detail and payment panels, without changing gateway behaviour. */
.brodie-site.route-checkout{background:#eee8db}
.brodie-site.route-checkout .checkout-opening,.brodie-site.route-checkout .checkout-shell{max-width:none;width:100%;padding-left:clamp(24px,5.2vw,108px);padding-right:clamp(24px,5.2vw,108px)}
.brodie-site.route-checkout .checkout-opening{padding-top:48px;padding-bottom:32px}
.brodie-site.route-checkout .checkout-opening .eyebrow{margin-bottom:18px}
.brodie-site.route-checkout .checkout-opening h1{font-family:Georgia,serif;font-size:clamp(38px,4.2vw,64px);font-weight:400;line-height:1.1}
.brodie-site.route-checkout .checkout-opening>p:last-child{font-size:17px;max-width:75ch}
.brodie-site.route-checkout .checkout-shell{padding-bottom:70px}
.checkout-shell form.woocommerce-checkout{column-gap:32px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.checkout-shell #customer_details{background:#faf7ef;border:1px solid #c8bcaa;padding:28px;min-width:0}
.checkout-shell #order_review_heading{background:#faf7ef;border:1px solid #c8bcaa;border-bottom:0;padding:28px 28px 20px;margin:0;font-family:Georgia,serif;font-weight:400}
.checkout-shell #order_review{background:#faf7ef;border:1px solid #c8bcaa;border-top:0;padding:0 28px 28px}
.checkout-shell h3{font-family:Georgia,serif;font-weight:400;font-size:30px;letter-spacing:-.03em}
.checkout-shell .woocommerce-billing-fields__field-wrapper{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px 18px}
.checkout-shell .woocommerce-billing-fields .form-row{grid-column:auto}
.checkout-shell .woocommerce-billing-fields #billing_email_field{grid-column:1/-1}
.checkout-shell .woocommerce form .form-row label{font-size:16px}
.checkout-shell .woocommerce form .form-row input.input-text,.checkout-shell .woocommerce form .form-row select{font-size:16px;height:52px;min-height:52px;border-color:#b4a78e;border-radius:3px;background:#fffdf7}
.checkout-shell .select2-container .select2-selection--single{height:52px;border-color:#b4a78e;border-radius:3px;background:#fffdf7}
.checkout-shell .select2-container .select2-selection--single .select2-selection__rendered{line-height:50px;font-size:16px}
.checkout-shell .woocommerce form .form-row .description{position:static!important;display:block!important;visibility:visible!important;opacity:1!important;background:transparent!important;color:#645b4c!important;box-shadow:none!important;border:0!important;padding:0!important;margin:8px 0 0!important;font-size:14px;line-height:1.5;border-radius:0!important;max-width:none;pointer-events:auto}
.checkout-shell .woocommerce form .form-row .description:before,.checkout-shell .woocommerce form .form-row .description:after{display:none!important}
.checkout-shell .woocommerce table.shop_table{font-size:16px;line-height:1.5;margin-bottom:24px}
.checkout-shell .woocommerce table.shop_table th,.checkout-shell .woocommerce table.shop_table td{border-color:#d7cbb7;padding:16px 0}
.checkout-shell .woocommerce table.shop_table tfoot tr:last-child{font-size:20px}
.checkout-shell #payment{background:#eee8db;border:1px solid #d7cbb7;border-radius:3px;padding:0}
.checkout-shell #payment ul.payment_methods{padding:20px;border-color:#d7cbb7}
.checkout-shell #payment div.payment_box{background:#fffdf7;margin-bottom:0;padding:16px;font-size:16px}
.checkout-shell #payment div.payment_box:before{border-bottom-color:#fffdf7}
.checkout-shell #payment .place-order{padding:20px}
.checkout-shell .woocommerce-privacy-policy-text,.checkout-shell .woocommerce-terms-and-conditions-wrapper{font-size:14px;line-height:1.65}
.checkout-shell .woocommerce form .form-row label.woocommerce-form__label-for-checkbox{font-size:14px;line-height:1.65}
.checkout-shell #place_order{font-size:16px;min-height:56px;border-radius:3px;margin-top:18px;font-weight:600}
.checkout-shell #place_order:disabled{opacity:.55}
.checkout-shell a:not(.button){text-decoration:underline;text-underline-offset:3px}
.checkout-shell .brodie-coupon{background:#faf7ef;border:1px solid #c8bcaa;border-radius:3px;padding:18px 24px;margin-bottom:28px}
.checkout-shell .brodie-coupon summary{font-size:16px;min-height:32px;align-content:center}
.checkout-shell .brodie-coupon-row input,.checkout-shell .brodie-coupon-row button{font-size:16px;min-height:52px;border-radius:3px}
.checkout-shell .brodie-coupon label{font-size:15px}
.checkout-shell .woocommerce-error,.checkout-shell .woocommerce-message,.checkout-shell .woocommerce-info{font-size:16px}
@media(max-width:800px){
 .checkout-shell #customer_details{padding:24px}
 .checkout-shell #order_review_heading{margin-top:28px;padding:24px 24px 18px}
 .checkout-shell #order_review{padding:0 24px 24px}
 .checkout-shell .woocommerce-billing-fields__field-wrapper{gap:20px 14px}
}
@media(max-width:500px){
 .brodie-site.route-checkout .checkout-opening{padding-top:32px;padding-bottom:24px}
 .checkout-shell #customer_details{padding:20px}
 .checkout-shell #order_review_heading{padding:20px 20px 18px}
 .checkout-shell #order_review{padding:0 20px 20px}
 .checkout-shell .woocommerce-billing-fields__field-wrapper{grid-template-columns:1fr}
 .checkout-shell .brodie-coupon{padding:16px 20px}
 .checkout-shell #payment ul.payment_methods,.checkout-shell #payment .place-order{padding:16px}
 .checkout-shell #payment div.payment_box{padding:12px}
 .checkout-shell .woocommerce table.shop_table{font-size:15px}
 .checkout-shell .woocommerce table.shop_table td:last-child,.checkout-shell .woocommerce table.shop_table th:last-child{padding-left:12px}
}
.checkout-shell .woocommerce-billing-fields #billing_postcode_field{grid-column:auto}
.checkout-shell #payment .payment_box fieldset{border:0;padding:0;margin:0;min-width:0}
.checkout-shell #payment .payment_box fieldset+fieldset{margin-top:18px}
.checkout-shell .coupon-error-notice{grid-column:1/-1;font-size:15px;line-height:1.5;color:#913925}

/* Illustrated books: one complete product row, shared cover and interior previews. */
.adventure-design .ad-product-grid{grid-template-columns:minmax(0,1fr);gap:32px}
.adventure-design .ad-product-card{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:stretch}
.adventure-design .ad-product-image{height:auto;min-height:390px;border-bottom:0;border-right:1px solid #c4b89f;gap:20px;padding:32px;background:#dfd2ba}
.adventure-design .ad-product-card:nth-child(2) .ad-product-image{background:#d8c8b2}
.adventure-design .ad-product-card:nth-child(3) .ad-product-image{background:#d9d8ce}
.adventure-design .ad-book-page{width:calc(50% - 10px);max-width:275px;min-width:0;text-align:center}
.adventure-design .ad-book-page a{display:block}
.adventure-design .ad-product-image img{width:100%;height:auto;max-height:390px;object-fit:contain}
.adventure-design .ad-book-page span{display:block;margin-top:14px;font-size:14px;line-height:1.4;color:#554633}
.adventure-design .ad-product-content{padding:36px;display:flex;flex-direction:column;justify-content:center}
.adventure-design .ad-product-card h3{min-height:0;max-width:none}
.adventure-design .ad-product-description{min-height:0}
.adventure-design .ad-product-purchase{justify-content:flex-start;gap:26px}
@media(max-width:900px){.adventure-design .ad-product-card{grid-template-columns:minmax(0,1fr)}.adventure-design .ad-product-image{border-right:0;border-bottom:1px solid #c4b89f;min-height:0;padding:26px}.adventure-design .ad-product-content{padding:28px}}
@media(max-width:480px){.adventure-design .ad-product-image{padding:20px;gap:14px}.adventure-design .ad-book-page{width:calc(50% - 7px)}.adventure-design .ad-product-content{padding:24px}.adventure-design .ad-product-purchase{align-items:center;gap:20px}.adventure-design .ad-product-purchase .button{width:100%;justify-content:space-between}}

/* Final responsive polish: use the column, centre paired copy, and keep art clear. */
.adventure-design .ad-section-heading{align-items:center}
.adventure-design .ad-section-heading>p{max-width:none;width:100%;margin:0}
.adventure-design .ad-faq{align-items:center}
.adventure-design .ad-encounter h2{margin-bottom:24px}
.adventure-design .ad-protagonist>div>p,.adventure-design .ad-encounter>div>p,.adventure-design .ad-history>div>p,.adventure-design .ad-game-proof>div>p,.adventure-design .ad-guide-tools>div>p,.adventure-design .ad-phone-guide>div>p,.adventure-design .ad-demo-layout>div:first-child>p{max-width:none}
.adventure-design .ad-story-opening h1,.adventure-design .ad-guide-hero h1,.adventure-design .ad-shop-hero h1{max-width:min(620px,46vw);text-wrap:pretty}
.adventure-design .ad-story-opening:before,.adventure-design .ad-guide-hero:before,.adventure-design .ad-shop-hero:before{background:linear-gradient(90deg,#f4f0e5 0%,#f4f0e5 35%,#f4f0e5f5 45%,#f4f0e5b8 52%,transparent 75%)}
.adventure-design .button{gap:16px;line-height:1.4}
.adventure-design .button>span{white-space:nowrap;flex-shrink:0}
.adventure-design .button .woocommerce-Price-amount{white-space:nowrap}
.adventure-design .ad-character h3{min-height:2.4em}
.brodie-site .legal-copy h2{font-size:clamp(25px,2vw,32px);line-height:1.25;margin:36px 0 16px;letter-spacing:-.025em}
.brodie-site .legal-copy p{margin:0 0 18px;line-height:1.7}
.brodie-site .legal-copy ul,.brodie-site .legal-copy ol{padding-left:28px;margin:0 0 24px;line-height:1.7}
.brodie-site .legal-copy li{margin:6px 0}
.checkout-shell .brodie-remove-item{display:table;min-height:44px;padding:10px 0;font-size:14px;line-height:24px;color:#79472e}
.checkout-empty{background:#faf7ef;border:1px solid #c8bcaa;padding:32px}
.checkout-empty h2{font-size:32px;line-height:1.25;margin-bottom:16px}
.checkout-empty .button{margin-top:22px}
@media(min-width:701px) and (max-width:1100px){
 .adventure-design .ad-story-opening,.adventure-design .ad-guide-hero,.adventure-design .ad-shop-hero{display:flex;flex-direction:column;min-height:0}
 .adventure-design .ad-story-opening:before,.adventure-design .ad-guide-hero:before,.adventure-design .ad-shop-hero:before{display:none}
 .adventure-design .ad-story-hero-art,.adventure-design .ad-guide-hero-art,.adventure-design .ad-shop-hero-art{position:relative;inset:auto;order:-1;width:100%;aspect-ratio:16/7;z-index:0;background-size:cover;background-position:center}
 .adventure-design .ad-guide-hero .ad-guide-hero-copy,.adventure-design .ad-story-opening .ad-story-hero-copy,.adventure-design .ad-shop-hero-copy{min-height:0;padding-top:45px;padding-bottom:45px}
 .adventure-design .ad-page-hero h1{font-size:clamp(48px,5.2vw,58px);max-width:none}
 .adventure-design .ad-story-hero-copy>p:not(.eyebrow),.adventure-design .ad-guide-hero-copy>p:not(.eyebrow),.adventure-design .ad-shop-hero-copy>p:not(.eyebrow){max-width:none}
 .adventure-design .ad-page-hero .ad-hero-buttons{flex-direction:row;align-items:center;max-width:none}
}
@media(max-width:700px){
 .adventure-design .ad-section-heading,.adventure-design .ad-faq{align-items:start}
 .adventure-design .ad-story-opening h1,.adventure-design .ad-guide-hero h1,.adventure-design .ad-shop-hero h1{max-width:none}
 .adventure-design .ad-character h3{min-height:2.4em}
}
@media(max-width:480px){
 .adventure-design .ad-characters{grid-template-columns:1fr}
 .adventure-design .ad-character h3{min-height:0}
 .adventure-design .ad-character img{aspect-ratio:4/3;object-fit:cover;object-position:center 28%}
 .adventure-design .ad-page-hero .button{font-size:16px;gap:10px;padding:16px 14px}
}

/* Keep hero introductions within their reserved column without a narrow inner measure. */
@media(min-width:1101px){.adventure-design .ad-story-hero-copy>p:not(.eyebrow),.adventure-design .ad-guide-hero-copy>p:not(.eyebrow),.adventure-design .ad-shop-hero-copy>p:not(.eyebrow){max-width:48ch;}}
/* Quiet, consistent support page. */
.brodie-contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--ad-gap);padding-top:65px;padding-bottom:75px;align-items:center}
.brodie-contact h1{margin:16px 0 24px}.contact-intro>p{max-width:52ch}.contact-form-box{min-width:0;background:#ede5d3;border:1px solid #c8b99b;padding:32px}
.contact-form-box label{display:block;font-size:16px;margin:17px 0 7px}.contact-form-box label:first-of-type{margin-top:0}.contact-form-box label span{color:#6c6252}.contact-form-box input,.contact-form-box select,.contact-form-box textarea{box-sizing:border-box;width:100%;min-width:0;min-height:48px;padding:12px;border:1px solid #a89a80;border-radius:0;background:#fffdf6;color:#342a22;font:16px/1.5 Arial,Helvetica,sans-serif}.contact-form-box textarea{resize:vertical}.contact-form-box .button{margin-top:16px;min-height:48px}.contact-form-box .caption{font-size:14px;margin-top:17px}.contact-error{padding:12px;background:#fff4ee;color:#7f3027;border-left:3px solid #a44832}.contact-trap{display:none}
@media(max-width:800px){.brodie-contact{grid-template-columns:1fr;padding-top:40px;padding-bottom:45px;gap:25px}.contact-form-box{padding:24px}.brodie-contact h1{font-size:clamp(44px,9vw,64px)}}
