:root{--ink:#101310;--lime:#d9ff48;--paper:#f3f3ee;--line:#d3d4cc;--muted:#6a7067;--red:#ff5b42;--font:Arial,Helvetica,sans-serif;--display:Impact,'Arial Black',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}::selection{background:var(--lime);color:var(--ink)}:focus-visible{outline:3px solid #b3ed1a;outline-offset:4px}#collections,#about,#process,#enquire,#faq{scroll-margin-top:85px}.shell{width:min(1460px,calc(100% - 100px));margin:auto}.skip-link{position:absolute;top:-100px;left:10px;background:var(--lime);padding:14px;z-index:999}.skip-link:focus{top:12px}.concept-strip{height:27px;background:var(--lime);display:flex;justify-content:center;align-items:center;gap:10px;font-weight:800;letter-spacing:.12em;font-size:9px}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--ink)}.strip-right{position:absolute;right:24px;font-size:9px;font-weight:700}.site-header{background:#fdfdf8;position:sticky;top:0;z-index:45;border-bottom:1px solid #e2e3db}.header-inner{height:80px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:12px;flex:0 0 auto}.brand-mark{font-family:var(--display);font-size:43px;letter-spacing:-.08em;line-height:.9}.brand-mark span,.footer-logo span{color:#9ccc00}.brand-word{display:flex;flex-direction:column;font-weight:900;font-size:13px;letter-spacing:.02em;line-height:1.06}.brand-word b{font-weight:900}.brand-word small{font-size:8px;letter-spacing:.19em;color:#6f746c;margin-top:6px}.desktop-nav{display:flex;align-items:center;gap:31px;margin-left:auto}.desktop-nav a{font-size:12px;font-weight:750;transition:color .2s}.desktop-nav a:hover{color:#718f00}.header-action{display:flex;align-items:center;justify-content:space-between;gap:19px;background:var(--ink);color:white;font-size:11px;font-weight:800;letter-spacing:.04em;padding:15px 18px;white-space:nowrap}.header-action:hover{background:#364c29}.header-action span{font-size:18px}.menu-toggle,.mobile-nav{display:none}.hero{display:grid;grid-template-columns:54% 46%;min-height:710px;background:var(--ink);color:var(--paper)}.hero-copy{padding:72px 5vw 29px max(50px,calc((100vw - 1460px)/2));display:flex;flex-direction:column;position:relative;overflow:hidden}.hero-copy::after{content:'GT';font-family:var(--display);position:absolute;right:-50px;bottom:80px;font-size:340px;color:#ffffff04;pointer-events:none}.eyebrow,.section-index{font-weight:800;font-size:11px;letter-spacing:.16em}.eyebrow{display:flex;align-items:center;gap:14px;white-space:nowrap}.eyebrow-line{height:1px;width:34px;background:var(--lime)}.mini-spark{font-size:22px;color:var(--lime)}.hero h1{margin:42px 0 28px;line-height:.865;letter-spacing:-.045em;font-size:clamp(90px,9.3vw,169px);font-family:var(--display);font-weight:900;max-width:950px;position:relative;z-index:1}.outlined{color:transparent;-webkit-text-stroke:2px #e4e5dc}.lime-text{color:var(--lime)}.hero-intro{font-size:16px;line-height:1.65;color:#c5ccc1;max-width:430px;position:relative;z-index:1}.hero-actions{display:flex;gap:26px;align-items:center;margin-top:29px;flex-wrap:wrap;position:relative;z-index:1}.btn{display:inline-flex;justify-content:space-between;align-items:center;gap:21px;min-height:53px;padding:15px 20px;font-size:11px;font-weight:900;letter-spacing:.07em;border:0;transition:transform .25s,background .25s}.btn:hover,.submit-btn:hover,.header-action:hover{transform:translateY(-2px)}.btn span{font-size:21px;line-height:0}.btn-lime{background:var(--lime);color:var(--ink)}.btn-dark{background:var(--ink);color:#fff}.text-link{font-size:11px;font-weight:900;letter-spacing:.06em;border-bottom:1px solid currentColor;padding:12px 0}.on-dark{color:#f4f5ec}.hero-meta{display:flex;justify-content:space-between;gap:20px;margin-top:auto;padding-top:56px;color:#a5aca1;font-size:10px;font-weight:800;letter-spacing:.13em;position:relative;z-index:1}.hero-visual{background:#b7c5ad;min-height:690px;position:relative;overflow:hidden}.hero-photo{width:100%;height:100%;object-fit:cover;object-position:center;position:absolute;inset:0;filter:contrast(1.08) saturate(.86)}.hero-photo-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#0004,transparent 26%,transparent 66%,#0007)}.hero-visual-top{position:absolute;top:37px;left:43px;right:37px;display:flex;justify-content:space-between;align-items:flex-start;font-weight:900;letter-spacing:.1em;font-size:11px;line-height:1.5;color:white;text-shadow:0 2px 8px #0008}.visual-cross{font-size:36px;color:var(--lime);line-height:1}.hero-circle{position:absolute;right:7%;bottom:18%;width:150px;height:150px;border-radius:50%;background:var(--lime);color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(13deg);box-shadow:0 12px 44px #0002}.hero-circle span{font-weight:1000;font-size:20px;line-height:.98;letter-spacing:-.04em;text-align:center}.hero-circle b{font-size:27px}.hero-photo-bottom{position:absolute;bottom:29px;left:40px;right:40px;display:flex;justify-content:space-between;color:white;font-size:11px;font-weight:900;letter-spacing:.15em}.vertical-type{position:absolute;right:10px;top:30%;writing-mode:vertical-rl;color:white;font-size:9px;letter-spacing:.2em;font-weight:900;text-shadow:0 2px 8px #0008}.ticker{height:64px;background:var(--lime);overflow:hidden;display:flex;align-items:center}.ticker-track{white-space:nowrap;animation:marquee 35s linear infinite;font-family:var(--display);font-size:24px;letter-spacing:.055em}.ticker-track i{font-style:normal;font-size:26px;padding:0 24px}@keyframes marquee{to{transform:translateX(-50%)}}.section{padding:120px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:55px;margin-bottom:50px}.section-head h2,.faqs h2{font-family:var(--display);font-size:clamp(58px,7.3vw,120px);line-height:.96;letter-spacing:-.035em;margin:19px 0 0}.section-head>p{max-width:320px;font-size:14px;line-height:1.75;color:#5b6259;margin:0 0 9px}.serif-accent{font-family:Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.075em;text-transform:lowercase}.filter-row{display:flex;gap:10px;margin-bottom:27px;flex-wrap:wrap}.filter-chip{border:1px solid #ced1c6;background:transparent;padding:13px 20px;border-radius:0;font-weight:900;font-size:10px;letter-spacing:.06em;color:#495147;transition:background .2s,color .2s}.filter-chip:hover,.filter-chip.is-active{background:var(--ink);color:white;border-color:var(--ink)}.filter-chip span{margin-left:12px;color:#9fa79b}.collection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.collection-card{min-width:0}.collection-card[hidden]{display:none}.collection-card-tall{grid-row:span 2}.collection-card-wide{grid-column:span 2}.collection-image{overflow:hidden;position:relative;aspect-ratio:1.12;background:#d3d9d1}.collection-card-tall .collection-image{aspect-ratio:.64}.collection-card-wide .collection-image{aspect-ratio:2.05}.collection-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1);filter:saturate(.87)}.collection-card:hover img{transform:scale(1.055)}.theme-red{background:#ed6261}.theme-stone{background:#deded6}.theme-green{background:#a4d6ac}.theme-ink{background:#222e28}.image-issue,.image-number{position:absolute;z-index:1;font-size:9px;font-weight:900;letter-spacing:.09em}.image-issue{left:17px;top:17px;background:#f8f8f1d9;padding:8px 10px;color:#222}.image-number{right:18px;bottom:18px;color:white;text-shadow:1px 2px 8px #0009}.image-headline{position:absolute;bottom:25px;left:26px;font-family:var(--display);color:var(--lime);font-size:clamp(28px,4vw,65px);line-height:.9;letter-spacing:-.04em;text-shadow:0 2px 12px #0008}.collection-meta{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;border-bottom:1px solid #c7cac1;padding:19px 0 28px}.collection-meta div>span{font-size:10px;font-weight:850;letter-spacing:.16em;color:#6b7268}.collection-meta h3{margin:12px 0 0;font-size:clamp(25px,2.6vw,43px);line-height:1.03;letter-spacing:-.06em}.round-action{border:1px solid #afb4a9;background:transparent;width:45px;height:45px;border-radius:50%;flex:0 0 45px;font-size:24px;transition:background .2s,transform .2s}.round-action:hover{background:var(--lime);border-color:var(--lime);transform:rotate(35deg)}.gallery-disclaimer{margin:26px 0 0;color:#737970;font-size:11px;line-height:1.6}.gallery-disclaimer span{font-size:16px;margin-right:5px}.statement{background:#cfef3b;color:var(--ink);overflow:hidden}.statement-inner{padding-top:38px;padding-bottom:43px}.statement-top,.statement-bottom{display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:900;letter-spacing:.15em}.statement-grid{display:grid;grid-template-columns:1.5fr .65fr;gap:55px;align-items:center;padding:55px 0 72px}.statement h2{font-family:var(--display);font-size:clamp(85px,11vw,185px);line-height:.84;letter-spacing:-.04em;margin:0}.statement h2 span{color:transparent;-webkit-text-stroke:2px var(--ink)}.statement-aside{padding-top:26px;max-width:390px}.asterisk{font-size:65px;line-height:1}.statement-aside h3{font-size:clamp(25px,2.6vw,42px);line-height:1.06;letter-spacing:-.065em;margin:24px 0}.statement-aside p{line-height:1.75;font-size:14px}.small-note{font-size:11px!important;color:#3e4c29}.underlined-link{display:inline-block;margin-top:17px;border-bottom:2px solid;font-size:10px;font-weight:900;padding-bottom:8px;letter-spacing:.06em}.partners{background:#171c19;color:#f6f6ed}.section-head-light>p{color:#bdc4ba}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #536055;border-bottom:1px solid #536055}.step-card{padding:34px 32px 45px;border-right:1px solid #536055}.step-card:first-child{padding-left:0}.step-card:last-child{border:0}.step-no{font-size:11px;color:var(--lime);font-weight:900;letter-spacing:.15em}.step-icon{font-size:74px;color:var(--lime);height:115px;display:flex;align-items:center}.step-card h3{font-size:27px;letter-spacing:-.05em;margin:5px 0 16px}.step-card p{color:#b7bfb4;font-size:14px;line-height:1.8;max-width:300px}.process-banner{margin-top:58px;display:flex;align-items:center;justify-content:space-between;gap:20px}.process-banner>span{font-size:12px;font-weight:900;letter-spacing:.16em}.process-banner a{font-family:var(--display);font-size:clamp(25px,4.4vw,62px);line-height:1;border-bottom:2px solid var(--lime);padding-bottom:8px;display:flex;align-items:center;gap:55px}.process-banner a b{font-family:Arial;font-size:.6em;color:var(--lime)}.enquire-section{background:#f1f1e9}.enquiry-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,8vw,150px)}.enquiry-left h2{font-family:var(--display);font-size:clamp(80px,10vw,160px);line-height:.87;letter-spacing:-.045em;margin:34px 0}.enquiry-left h2 span{color:#a8c12b}.enquiry-left>p{max-width:365px;font-size:16px;line-height:1.7;color:#5e655c}.social-info{display:flex;flex-direction:column;gap:10px;margin-top:54px}.social-info>span{font-size:10px;font-weight:900;letter-spacing:.14em}.social-info>a{font-size:25px;font-weight:900;letter-spacing:-.05em;width:max-content;border-bottom:2px solid}.social-info small{max-width:320px;color:#777d74;font-size:10px;line-height:1.5}.enquiry-card{background:#fff;padding:42px;box-shadow:0 12px 45px #19241b0b;border:1px solid #e0e1d9}.form-top{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid #dfe1d8;padding-bottom:22px}.form-top span:first-child{font-size:10px;font-weight:900;letter-spacing:.15em}.form-spark{font-size:34px;color:#9ebf09}.enquiry-card h3{font-size:clamp(28px,3.2vw,48px);letter-spacing:-.065em;line-height:1.06;margin:25px 0 12px}.enquiry-card>p{font-size:12px;line-height:1.6;color:#656e64;max-width:470px;margin-bottom:30px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{display:flex;flex-direction:column;gap:9px;margin-bottom:19px}.field label{font-size:10px;font-weight:900;letter-spacing:.09em}.field input,.field select,.field textarea{border:1px solid #cdd2c7;border-radius:0;background:#fdfdf9;min-height:47px;width:100%;padding:12px 13px;color:#151d16;font-size:13px;outline:none;transition:border-color .2s}.field textarea{resize:vertical;min-height:90px}.field input:focus,.field select:focus,.field textarea:focus{border-color:#789400;box-shadow:0 0 0 2px #cbec4e66}.field [aria-invalid=true]{border-color:#b53023}.field input::placeholder,.field textarea::placeholder{color:#9a9f98}.form-error{color:#af291e;font-weight:700;font-size:12px;min-height:18px;margin-bottom:4px}.submit-btn{display:flex;justify-content:space-between;align-items:center;width:100%;background:var(--ink);color:white;border:0;padding:18px 22px;font-size:11px;font-weight:900;letter-spacing:.05em;min-height:56px}.submit-btn span{font-size:22px}.form-footnote{display:block;font-size:10px;color:#7b8177;margin-top:14px;line-height:1.6}.faqs{background:#fff}.faq-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px}.faqs h2{font-size:clamp(58px,6vw,105px);margin:28px 0}.faq-layout>div:first-child>p{color:#657066;font-size:14px;line-height:1.7}.faq-items{border-top:1px solid #d1d5cf}.faq-items details{border-bottom:1px solid #d1d5cf;padding:0 3px}.faq-items summary{display:flex;align-items:center;justify-content:space-between;gap:24px;cursor:pointer;list-style:none;font-size:17px;font-weight:850;padding:29px 0}.faq-items summary::-webkit-details-marker{display:none}.faq-plus{font-size:24px;font-weight:400;color:#4c5848;transition:transform .25s}.faq-items details[open] .faq-plus{transform:rotate(45deg)}.faq-items details p{font-size:14px;line-height:1.8;color:#5a645a;max-width:600px;margin:0 35px 27px 0}.footer{background:var(--ink);color:white;padding:55px 0 29px}.footer-primary{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-bottom:63px}.footer-logo{font-family:var(--display);font-size:clamp(100px,17vw,260px);line-height:1;letter-spacing:-.075em}.footer-primary>div{margin:auto 0 auto auto}.footer-primary>div>span{font-size:12px;color:var(--lime);letter-spacing:.18em;font-weight:900}.footer-primary>div>p{font-family:var(--display);font-size:clamp(22px,3.1vw,48px);margin:12px 0 0}.footer-ig{padding:16px 20px;border:1px solid #626e62;font-size:12px;letter-spacing:.1em;font-weight:900;white-space:nowrap}.footer-ig:hover{background:var(--lime);color:var(--ink)}.footer-bottom{border-top:1px solid #384038;padding-top:23px;display:flex;justify-content:space-between;gap:25px;font-size:9px;letter-spacing:.11em;line-height:1.7;color:#a5afa2;font-weight:700}.credit{margin-left:12px}.credit a{color:var(--lime)}.mobile-cta{display:none}dialog{border:0;padding:0;max-width:575px;width:calc(100% - 28px);background:#fff;color:var(--ink);box-shadow:0 32px 120px #0008}dialog::backdrop{background:#0c110de0}.dialog-inner{padding:36px;position:relative}.dialog-close{position:absolute;right:20px;top:18px;border:0;background:#edf0e9;width:39px;height:39px;font-size:16px}.dialog-inner h2{font-family:var(--display);font-size:70px;line-height:.87;margin:23px 0}.dialog-inner h2 span{color:#9aba17}.dialog-inner p{font-size:13px;line-height:1.6;color:#596156}.dialog-inner #prepared-message{width:100%;resize:vertical;border:1px solid #b9c1b6;padding:14px;background:#f7f8f1;line-height:1.5;font-size:13px;min-height:180px}.dialog-actions{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}.dialog-actions .btn{flex:1;justify-content:center;text-align:center;font-size:10px}.copy-feedback{min-height:20px;font-size:12px!important;color:#416700!important;font-weight:800}@media(max-width:1100px){.strip-right{display:none}.shell{width:calc(100% - 65px)}.desktop-nav{gap:16px}.hero-copy{padding-left:33px;padding-top:65px}.hero h1{font-size:clamp(73px,9.2vw,125px)}.hero{min-height:650px}.hero-visual{min-height:650px}.statement-grid{grid-template-columns:1.2fr .8fr}.statement h2{font-size:clamp(70px,10vw,135px)}.enquiry-layout{gap:35px}.enquiry-card{padding:30px}}@media(max-width:860px){.site-header .shell{width:calc(100% - 40px)}.header-inner{height:70px}.desktop-nav,.header-action{display:none}.menu-toggle{margin-left:auto;display:flex;flex-direction:column;justify-content:center;gap:6px;width:44px;height:44px;border:1px solid #cad0c4;background:none;padding:10px}.menu-toggle span{width:100%;height:2px;background:#141a14;transition:transform .25s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-nav:not([hidden]){display:flex;flex-direction:column;gap:0;background:#f9faf3;position:absolute;left:0;right:0;top:70px;box-shadow:0 20px 28px #0002;padding:10px 20px 28px;z-index:40}.mobile-nav a{font-size:20px;font-weight:850;border-bottom:1px solid #dfe3da;padding:18px 5px}.hero{grid-template-columns:1fr}.hero-copy{padding:65px 35px 35px;min-height:610px}.hero h1{font-size:clamp(82px,14vw,130px)}.hero-visual{min-height:540px}.hero-meta{margin-top:auto}.section{padding:85px 0}.section-head{align-items:start}.collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.collection-card-tall{grid-row:auto}.collection-card-wide{grid-column:span 2}.collection-card-tall .collection-image{aspect-ratio:1.12}.statement-grid{grid-template-columns:1fr;gap:30px}.statement h2{font-size:clamp(86px,13vw,150px)}.statement-aside{max-width:540px}.enquiry-layout{grid-template-columns:1fr}.enquiry-left h2{font-size:105px}.social-info{margin-top:25px}.faq-layout{grid-template-columns:1fr;gap:30px}.footer-primary{flex-wrap:wrap}.footer-primary>div{margin-left:auto}.footer-ig{width:100%;text-align:center}.footer-bottom{flex-direction:column;gap:9px}.mobile-cta{display:block;position:fixed;left:0;right:0;bottom:0;z-index:39;padding:9px 14px calc(9px + env(safe-area-inset-bottom));background:#fcfcf3f2;box-shadow:0 -3px 20px #0002}.mobile-cta a{display:flex;justify-content:space-between;align-items:center;background:var(--lime);color:var(--ink);font-size:12px;font-weight:900;padding:14px 18px;min-height:44px}.mobile-cta span{font-size:20px}body{padding-bottom:64px}}@media(max-width:600px){.shell{width:calc(100% - 36px)}.concept-strip{font-size:8px;letter-spacing:.09em}.brand-mark{font-size:37px}.brand-word{font-size:11px}.brand-word small{font-size:7px}.hero-copy{padding:46px 20px 24px;min-height:590px}.hero h1{margin-top:45px;font-size:clamp(74px,15vw,110px)}.hero-intro{font-size:14px}.hero-actions{align-items:stretch;gap:16px}.hero-actions .btn{flex:1}.hero-meta{font-size:8px;letter-spacing:.05em}.hero-visual{min-height:465px}.hero-visual-top{left:19px;right:20px;top:23px}.hero-photo-bottom{left:20px;right:20px;bottom:20px;font-size:9px}.hero-circle{width:117px;height:117px;right:7%;bottom:20%}.hero-circle span{font-size:16px}.ticker{height:52px}.ticker-track{font-size:19px}.section{padding:70px 0}.section-head{display:block;margin-bottom:32px}.section-head h2{font-size:clamp(57px,12vw,86px)}.section-head>p{max-width:100%;margin-top:23px}.filter-chip{padding:11px 13px;font-size:9px}.collection-grid{grid-template-columns:1fr;gap:26px}.collection-card-wide{grid-column:span 1}.collection-card-tall .collection-image,.collection-card-wide .collection-image{aspect-ratio:1.07}.collection-meta h3{font-size:32px}.image-headline{font-size:40px}.statement-inner{padding-top:29px;padding-bottom:28px}.statement-grid{padding:52px 0 60px}.statement h2{font-size:clamp(76px,15vw,113px)}.statement-top,.statement-bottom{font-size:9px}.statement-aside h3{font-size:31px}.steps-grid{grid-template-columns:1fr}.step-card,.step-card:first-child{padding:22px 0 28px;border-right:0;border-bottom:1px solid #536055}.step-card:last-child{border-bottom:0}.step-icon{height:75px;font-size:52px}.step-card h3{font-size:27px}.step-card p{margin-bottom:0}.process-banner{display:block;margin-top:36px}.process-banner a{margin-top:23px;font-size:37px;justify-content:space-between}.enquiry-left h2{font-size:clamp(85px,18vw,125px)}.enquiry-card{padding:23px 18px}.form-grid{grid-template-columns:1fr;gap:0}.faqs h2{font-size:66px}.faq-items summary{font-size:15px;padding:23px 0}.footer{padding-top:40px}.footer-primary{gap:18px;padding-bottom:44px}.footer-logo{font-size:130px}.footer-primary>div{margin:auto 0}.footer-primary>div>p{font-size:22px}.dialog-inner{padding:23px}.dialog-inner h2{font-size:58px}.dialog-actions{flex-direction:column}.credit{margin-left:0;display:inline-block}}@media(max-width:360px){.hero h1{font-size:69px}.hero-actions .btn{font-size:10px}.text-link{font-size:9px}.eyebrow{font-size:9px}.hero-copy{min-height:550px}.social-info>a{font-size:20px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
/* Defensive min-content handling for 320px mobile screens */
.faq-layout,.faq-layout>* ,.faq-items,.faq-items details,.faq-items summary{min-width:0}.faq-items summary{overflow-wrap:anywhere}
@media (max-width:600px){.faqs h2{font-size:clamp(45px,11.5vw,66px);overflow-wrap:anywhere}}


/* WEBTECHIO MOBILE QA PATCH v2 — scoped to responsive viewports only. */
@media (max-width: 900px) {
  html { -webkit-text-size-adjust: 100%; }
  html, body { max-width: 100%; }
  img, picture, video, canvas, svg { max-width: 100%; }
  iframe { max-width: 100%; }
  input, select, textarea { max-width: 100%; min-width: 0; }
  button, [role="button"], a { touch-action: manipulation; }
  :is(main, header, footer, section, article, aside, .container, .wrap, .grid, .hero, .hero-copy) { min-width: 0; }
  :is(h1, h2, h3, h4, p, a, button) { overflow-wrap: break-word; }
  [hidden] { display: none !important; }
}
@media (max-width: 480px) {
  html, body { max-width: 100%; }
  :is(input, select, textarea) { font-size: max(16px, 1em); }
  :is(.page-title, .hero-title, .hero h1) { max-width: 100%; }
  :is(.button-group, .hero-actions, .cta-actions) { flex-wrap: wrap; }
  table { max-width: 100%; }
  :is(.table-wrap,.table-responsive,.table-scroll) { overflow-x:auto; -webkit-overflow-scrolling:touch; }
}


/* WEBTECHIO-QA31-20261102: non-invasive responsive/touch hardening */
@media (max-width: 980px) {
  :where(.navlinks.open,.nav.open,.nav-links.open,.primary-menu.is-open,.mobile-links.open,.mobile-menu.open,.mobile-menu.is-open) {
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }
  :where(form,fieldset,.form-grid,.contact-form,.booking-form) { min-width:0; }
  :where(form input:not([type=checkbox]):not([type=radio]),form textarea,form select) {
    min-width:0; max-width:100%;
  }
  :where(.hero-buttons,.hero-actions,.cta-group,.hero-cta,.buttons) {
    flex-wrap: wrap;
  }
  :where(.hero-buttons,.hero-actions,.cta-group,.hero-cta,.buttons) > :is(a,button) {
    max-width:100%;
  }
}
@media (max-width: 767px) and (pointer:coarse) {
  :where(.navlinks.open,.nav.open,.nav-links.open,.primary-menu.is-open,.mobile-links.open,.mobile-menu.open,.mobile-nav.open,.mobile-nav.is-open) a {
    min-height:44px;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {scroll-behavior:auto;}
}
