:root{--green:#243f32;--gold:#9a8053;--cream:#f4f1eb;--ink:#26342c}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);font-family:'Noto Sans Thai',sans-serif;font-size:14px;background:#fffefa}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button,.button,.outline{transition:background .2s,transform .2s}button:hover,.button:hover{filter:brightness(1.12)}.announcement{background:var(--green);color:#eee6d6;text-align:center;font-size:10px;letter-spacing:2px;padding:10px}header{height:91px;padding:0 5%;display:flex;align-items:center;gap:35px;border-bottom:1px solid #e4e2d8;background:#fffefa;position:sticky;top:0;z-index:10}.logo{font-size:32px;letter-spacing:7px;line-height:1.1}.logo span{display:block;font-size:8px;letter-spacing:2.2px;margin-top:8px}nav{display:flex;gap:25px;margin:auto;font-size:12px}.navend{display:flex;align-items:center;gap:16px;font-size:12px}.cartbutton{border:0;background:none;font-size:25px}.cartbutton span{font-size:11px;background:var(--green);color:white;border-radius:50%;padding:2px 6px}.hero{min-height:570px;background:var(--cream);position:relative;overflow:hidden;display:flex;align-items:center}.herocopy{padding:70px 6%;width:55%;z-index:2}.eyebrow{letter-spacing:2.2px;font-size:10px;color:var(--gold);font-weight:500}h1{font-family:'Playfair Display',serif;font-size:68px;font-weight:400;line-height:1.1;margin:25px 0}em{font-weight:400;color:#5f725d}h2{font-size:27px;font-weight:400;margin:15px 0}p{line-height:1.8}h3{font-weight:400}.herocopy h2{font-size:24px}.herocopy p{color:#70766c}.actions{display:flex;gap:12px;margin:25px 0}.button,.outline{display:inline-block;border-radius:2px;padding:13px 24px;border:1px solid var(--green);font-size:13px}.button{background:var(--green);color:white}.outline{background:transparent;color:var(--green)}.small{padding:9px 14px}.heronote{font-size:9px;letter-spacing:2px;margin-top:40px;color:#72776c}.heroart{position:absolute;right:0;top:0;width:52%;height:100%;overflow:hidden;background:#e9e7dc}.heroart img{position:absolute;width:220%;max-width:none;top:-24%;left:-105%;height:auto}.heroart:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--cream),transparent 20%)}.vertical{position:absolute;right:18px;writing-mode:vertical-rl;font-size:9px;letter-spacing:3px}.trust{display:flex;justify-content:space-around;border-bottom:1px solid #dfded3;padding:23px 5%;font-size:9px;letter-spacing:1px}.trust b{display:block;font-size:13px;font-weight:400;letter-spacing:0;margin-top:4px}.section{padding:65px 6%}.sectionhead{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.sectionhead p,.sectionhead>a{font-size:12px;color:#737b70}.brands{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.brands>a{position:relative;background:#f1eee8;padding:25px;min-height:290px;overflow:hidden}.brands>a:nth-child(2){background:#e8eee4}.brands>a:nth-child(3){background:#f4eee9}.brands span{font-size:9px;letter-spacing:2px}.brands h3{font-size:29px;letter-spacing:2px;margin:23px 0 0}.brands p{font-size:12px;position:relative;z-index:1}.brands img{position:absolute;right:-15px;bottom:0;width:54%;height:165px;object-fit:contain;mix-blend-mode:multiply}.brands b{display:block;margin-top:65px;font-size:12px;font-weight:400;position:relative;z-index:1}.shop{background:#f8f7f2}.filterbar{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #d8dcd1;padding-bottom:15px}.filterbar button{border:0;background:none;padding:10px 18px;color:#777}.filterbar button.active{background:var(--green);color:white}.filterbar input{border:0;background:transparent;border-bottom:1px solid #b9bfb0;padding:10px;max-width:180px}.notice{font-size:10px;color:#8a7e65;margin:20px 0}.products{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#9aab95 transparent;padding-bottom:20px}.product{flex:0 0 calc(25% - 15px);scroll-snap-align:start;min-width:220px}.product .picture{height:245px;background:#eeece4;position:relative;display:block;width:100%;border:0}.product img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;transition:transform .4s}.product .picture:hover img{transform:scale(1.05)}.product .tag{position:absolute;left:12px;top:12px;color:var(--gold);font-size:9px;letter-spacing:1px}.product .brand{font-size:9px;letter-spacing:2px;margin-top:19px;color:#8a7858}.product h3{font-family:'Playfair Display',serif;font-size:18px;min-height:48px;margin:8px 0}.product .presenter{font-size:10px;color:#777;min-height:32px}.price{font-size:18px}.price small{font-size:9px;color:#8c7f65;margin-left:6px}.buyrow{display:flex;justify-content:space-between;align-items:center;margin-top:12px}.add{border:1px solid #b8c1b1;background:none;padding:8px 14px}.swipe{text-align:center;font-size:10px;letter-spacing:1px;color:#888;margin-top:15px}.arrow{background:none;border:1px solid #b6bcae;border-radius:50%;height:37px;width:37px}.media{padding-top:80px}.mediagrid{display:grid;grid-template-columns:1.1fr 1fr;background:var(--cream)}.video{position:relative;min-height:340px;overflow:hidden}.video img{width:100%;height:100%;object-fit:cover}.play{position:absolute;top:45%;left:45%;background:#fffdf0d9;border-radius:50%;padding:20px 25px}.mediacopy{padding:40px 50px}.mediacopy h3{font-size:31px;margin:20px 0}.muted{font-size:11px;color:#7b8175}.aura{display:grid;grid-template-columns:1fr 1fr;gap:70px;background:var(--green);color:#f5f1e7}.aura h2{font-family:'Playfair Display';font-size:47px;line-height:1.3}.aura em{color:#c5cbb6}.aura .button{background:#e9e4d4;color:var(--green)}.auracards article{padding:20px 0;border-bottom:1px solid #ffffff25}.auracards span{font-size:9px;color:#c2b28e;letter-spacing:2px}.auracards h3{font-size:20px;margin:9px 0}.auracards p{font-size:12px;color:#c4cbbf}.auracards a{font-size:12px}.textbutton{color:inherit;background:none;border:0;padding:4px 0;text-decoration:underline}.eventgrid{display:grid;grid-template-columns:1fr 1fr;gap:50px}.calendar{background:#f3f2eb;padding:25px}.days{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;gap:7px}.days span{font-size:11px;color:#929785}.days button{border:0;background:transparent;padding:10px 0;color:var(--green)}.days button:hover,.days button.selected{background:var(--green);color:white;border-radius:50%}.eventinfo{padding:30px}.eventinfo h3{font-size:26px}.eventinfo p{color:#7d8378;font-size:13px}.pill{font-size:10px;border:1px solid #bcae88;padding:6px 12px;border-radius:20px;color:#947b4c}.contact{text-align:center;background:#e9ede3;padding:65px 20px}.contact h2{font-size:30px}.contact>a{font-family:'Playfair Display';font-size:44px}.contact p{font-size:11px;color:#777}footer{padding:45px 6%;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:30px}footer p,footer small{font-size:10px;color:#7e8578}footer div{display:grid;gap:10px;font-size:11px}footer small{width:100%;border-top:1px solid #ddd;padding-top:20px}dialog{border:0;padding:45px;width:min(850px,92vw);max-height:90vh;background:#fffefa;color:var(--ink)}dialog::backdrop{background:#16281e99;backdrop-filter:blur(5px)}.close{position:absolute;right:14px;top:8px;font-size:30px;border:0;background:none}.detail{display:grid;grid-template-columns:1fr 1fr;gap:30px}.detail>img{width:100%;background:#f1efe8}.detail h2{font-family:'Playfair Display';font-size:28px}.sourceDetail{font-size:12px;line-height:1.8;border-top:1px solid #ddd;margin-top:25px;padding-top:15px}.sourceDetail img{max-width:100%;height:auto}.sourceDetail h1{font:inherit}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:15px}label{display:block;font-size:12px}input,select,textarea{padding:10px;border:1px solid #c7cbbb;background:white;color:var(--ink);width:100%;margin-top:5px}input[type=checkbox]{width:auto}.full{grid-column:1/-1}.filelabel{padding:14px;background:#f1f1e9}.cartrow{display:flex;align-items:center;gap:15px;border-bottom:1px solid #ddd;padding:15px 0}.cartrow img{width:65px}.cartrow .qty{display:flex;gap:10px;align-items:center;margin-left:auto}.qty button{border:1px solid #ddd;background:none;padding:5px 12px}.cartrow h3{font-size:12px}.carttotal{font-size:23px;text-align:right;margin:25px 0}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--green);color:white;padding:15px 25px;z-index:50;display:none;box-shadow:0 8px 30px #0002}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:4px}@media(min-width:1500px){.heroart img{top:-40%}}@media(max-width:1000px){nav{display:none}.navend{margin-left:auto}.heroart{width:55%}.heroart img{width:270%;left:-140%;top:-10%}h1{font-size:52px}.product{flex-basis:31%}.mediacopy{padding:25px}.aura{gap:30px}.brands h3{font-size:23px}}@media(max-width:650px){header{height:75px;padding:0 5%}.logo{font-size:26px}.navend>a,.navend .small{display:none}.hero{min-height:700px;align-items:flex-start}.herocopy{padding:40px 6%;width:100%;z-index:3}.heroart{top:330px;width:100%;height:370px}.heroart img{width:200%;left:-92%;top:-20%}.herocopy h1{font-size:49px;margin:15px 0}.herocopy h2{font-size:20px}.herocopy p{font-size:12px}.heronote{display:none}.vertical{display:none}.trust{gap:12px;padding:20px 5%}.trust span{font-size:7px}.trust b{font-size:10px}.section{padding:42px 5%}.sectionhead{align-items:flex-start}.sectionhead h2{font-size:23px}.sectionhead p{display:none}.brands{grid-template-columns:1fr}.brands>a{min-height:210px}.brands img{height:190px;width:50%}.brands b{margin-top:35px}.product{flex-basis:75%;min-width:0}.filterbar{display:block}.filterbar button{padding:9px 12px;font-size:10px}.filterbar input{max-width:100%;margin-top:10px}.mediagrid,.aura,.eventgrid,.detail{grid-template-columns:1fr}.video{min-height:240px}.mediacopy{padding:25px}.aura h2{font-size:38px}.eventgrid{gap:10px}.eventinfo{padding:20px 0}.formgrid{grid-template-columns:1fr}.formgrid>*{grid-column:1}.contact>a{font-size:34px}dialog{padding:35px 22px}.detail>img{max-height:230px;object-fit:contain}.cartrow{gap:8px}.cartrow img{width:45px}.cartrow .qty{gap:5px}.qty button{padding:5px 8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.heroart img{height:570%;width:auto;max-width:none;top:-24.5%;left:50%;transform:translateX(-67%)}
/* Larger type and campaign-led storefront */
body{font-size:17px;line-height:1.75}header{height:100px;padding:0 4%;gap:24px}nav{font-size:15px;gap:20px}.navend{font-size:15px;gap:13px}.small{font-size:14px}.announcement{font-size:12px;letter-spacing:1.5px}.eyebrow{font-size:12px;letter-spacing:2px}h2{font-size:36px;line-height:1.45}.section{padding:75px 6%}.sectionhead p,.sectionhead>a{font-size:16px}.button,.outline{font-size:16px;padding:14px 24px}.cinematic{height:710px;min-height:640px;background:#14382c;color:white}.heroFilm{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.heroShade{position:absolute;inset:0;background:linear-gradient(90deg,#092c26e6 0%,#163a2a93 44%,#0c251b18 100%),linear-gradient(0deg,#10261e99,transparent 50%)}.cinematic .herocopy{width:80%;padding:65px 6% 100px}.cinematic h1{font-size:clamp(56px,6.4vw,94px);margin:22px 0 25px;line-height:1.06;letter-spacing:-2px}.cinematic h1 em{color:#e2dfbc}.cinematic h2{font-size:29px}.cinematic p{font-size:18px;color:#eee}.cinematic .eyebrow{color:#e3d6ac}.cinematic .button{background:#e8e2c9;color:#253c2c;border-color:#e8e2c9}.cinematic .outline{color:white;border-color:#ffffff80;background:#183a2d33}.cinematic .heronote{font-size:12px;color:#dde2d7}.heroBottom{position:absolute;bottom:25px;left:6%;right:6%;display:flex;justify-content:space-between;font-size:12px;letter-spacing:2px}.filmToggle{position:absolute;right:5%;bottom:70px;color:white;background:#122f2499;border:1px solid #fff8;border-radius:30px;padding:10px 16px;font-size:14px}.trust{padding:28px 6%;font-size:12px}.trust b{font-size:17px}.brands>a{min-height:340px;padding:30px}.brands span{font-size:12px}.brands h3{font-size:31px}.brands p,.brands b{font-size:16px}.brands img{height:200px}.brands b{margin-top:90px}.filterbar button{font-size:16px;padding:12px 20px}.filterbar input{font-size:16px;max-width:240px}.notice{font-size:14px;line-height:1.8;color:#756548}.catalogmeta{display:flex;justify-content:space-between;align-items:center;margin:22px 0;gap:15px;font-size:15px}.viewmode{border:1px solid #b4beab;background:transparent;padding:9px 14px;color:var(--green)}.viewmode.active{background:var(--green);color:white}.products{gap:24px}.product{flex-basis:calc(25% - 18px);min-width:255px;padding-bottom:10px}.product .picture{height:285px}.product .tag{font-size:12px}.product .brand{font-size:12px}.product h3{font-size:22px;line-height:1.35;min-height:60px}.productThai{font-size:15px;min-height:52px;line-height:1.7;color:#53614f;margin:8px 0}.product .presenter{font-size:12px;min-height:42px}.price{font-size:23px}.price small{font-size:13px;display:block;margin-left:0}.buyrow{align-items:center;gap:8px}.add{font-size:14px;padding:10px 12px;white-space:nowrap}.productMore{background:transparent;border:0;border-bottom:1px solid #bcc4b3;padding:12px 0;font-size:14px;width:100%;text-align:left;color:var(--green)}.swipe{font-size:14px}.arrow{height:43px;width:43px}.products.gridview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible;scroll-snap-type:none;row-gap:40px}.gridview .product{min-width:0}.filmgrid{display:grid;grid-template-columns:1.1fr 1fr;gap:28px}.filmframe{position:relative;aspect-ratio:16/9;background:#142f27;overflow:hidden}.filmframe video,.filmframe iframe{display:block;width:100%;height:100%;border:0;position:absolute;inset:0}.videoLaunch{width:100%;height:100%;border:0;padding:0;background:#152f26;position:absolute;inset:0;color:white}.videoLaunch img{width:100%;height:100%;object-fit:cover;opacity:.85}.videoLaunch b{position:absolute;bottom:15px;left:15px;font-size:15px;filter:drop-shadow(0 1px 3px #000)}.videoLaunch .play{color:var(--green);top:50%;left:50%;transform:translate(-50%,-50%)}.filmcaption{padding:25px;background:#f2f1e8;min-height:245px}.filmcaption h3{font-size:24px;margin:10px 0}.filmcaption p,.filmcaption a{font-size:15px}.origin{display:grid;grid-template-columns:1fr 1fr;background:#e7ecdf}.originImage{min-height:450px}.originImage img{width:100%;height:100%;object-fit:cover;display:block}.originCopy{padding:65px 12%;align-self:center}.originCopy h2{font-size:42px}.originCopy p{font-size:17px}.ritualGrid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.ritualGrid>a{background:#eeece4;position:relative;overflow:hidden}.ritualGrid img{width:100%;aspect-ratio:1.6;object-fit:contain;mix-blend-mode:multiply;transition:transform .5s}.ritualGrid>a:hover img{transform:scale(1.04)}.ritualGrid>a>div{padding:22px 30px;border-top:1px solid #d6d7c9}.ritualGrid span{font-size:12px;letter-spacing:2px;color:var(--gold)}.ritualGrid h3{font-size:25px;margin:8px 0}.ritualGrid b{font-size:15px;font-weight:400}.aura p{font-size:18px}.auracards span{font-size:12px}.auracards h3{font-size:25px}.auracards p,.auracards a,.auracards .textbutton{font-size:16px}.calendar{padding:30px}.calendar b{font-size:21px}.days{gap:9px}.days span{font-size:15px}.days button{font-size:17px;position:relative;min-height:46px}.days button.activityDay{background:#dce5d3;border-radius:5px;font-weight:600}.days button.activityDay i{position:absolute;width:5px;height:5px;background:#527344;border-radius:50%;bottom:3px;left:calc(50% - 2px)}.days button.selected{background:var(--green)!important;color:white;border-radius:5px}.days button.selected i{background:#efeac8}.pill{font-size:12px}.eventinfo{padding:15px 0}.eventinfo h3{font-size:30px}.eventinfo p{font-size:16px}.eventLegend{font-size:14px!important;color:#426039!important}.eventChip{background:#e9eddf;border:1px solid #d0d9c7;border-radius:4px;margin:0 7px 8px 0;padding:8px 11px;color:var(--green);font-size:14px}#selectedDate{padding:15px;background:#f1f2e7;min-height:30px}.contact h2{font-size:36px}.contact p{font-size:16px}footer p,footer small{font-size:13px}footer div{font-size:15px}.muted{font-size:14px}.detail h2{font-size:31px}.thaiDetail{font-size:18px}.sourceDetail{font-size:16px}.sourceDetail h3{font-size:22px}.productFilmSection{margin:30px 0}.productFilmSection h3{font-size:24px}.productFilmSection .filmframe{max-width:600px}.productFilmSection>p{font-size:14px}label{font-size:16px}input,select,textarea{font-size:16px}.cartrow h3{font-size:16px}.cartrow small{font-size:14px}.close{position:sticky;top:0;float:right;z-index:2;background:#fffefa;border-radius:50%;width:40px;height:40px;line-height:35px}.filmToggle:focus-visible{outline:2px solid white}
@media(max-width:1200px){nav{display:none}.navend{margin-left:auto}.products.gridview{grid-template-columns:repeat(3,minmax(0,1fr))}.product{flex-basis:32%}.cinematic .herocopy{width:90%}.brands h3{font-size:27px}}@media(max-width:800px){.filmgrid,.origin{grid-template-columns:1fr}.originImage{min-height:260px;max-height:350px}.originCopy{padding:40px 6%}.products.gridview{grid-template-columns:repeat(2,minmax(0,1fr))}.product{flex-basis:45%}.brands p,.brands b{font-size:14px}.brands>a{padding:22px}.brands h3{font-size:24px}.cinematic .herocopy{width:100%}}@media(max-width:650px){header{height:80px}.announcement{font-size:10px;letter-spacing:.8px}body{font-size:17px}.section{padding:48px 5%}.sectionhead h2{font-size:29px}.sectionhead>a{font-size:14px}.cinematic{height:690px;min-height:690px;align-items:center}.cinematic .herocopy{padding:40px 6% 100px}.cinematic h1{font-size:55px;letter-spacing:-1px}.cinematic h2{font-size:24px}.cinematic p{font-size:17px}.cinematic .eyebrow{font-size:10px}.cinematic .actions{flex-wrap:wrap}.heroShade{background:linear-gradient(90deg,#0e3028dd,#0e302877),linear-gradient(0deg,#0e3028aa,transparent)}.filmToggle{right:5%;bottom:60px;font-size:12px}.heroBottom{font-size:9px;letter-spacing:1px}.trust{padding:23px 5%;gap:10px}.trust span{font-size:10px}.trust b{font-size:13px}.brands>a{min-height:245px}.brands h3{font-size:30px}.brands p,.brands b{font-size:16px}.brands b{margin-top:50px}.filterbar button{font-size:13px;padding:11px 12px}.filterbar input{max-width:100%;width:100%}.catalogmeta{align-items:flex-start;flex-direction:column}.product{flex-basis:83%;min-width:0}.product .picture{height:280px}.product h3{font-size:22px}.productThai{font-size:16px}.product .presenter{font-size:13px}.notice{font-size:14px}.products.gridview{gap:25px 14px}.gridview .picture{height:180px}.gridview .product h3{font-size:17px;min-height:65px}.gridview .productThai{font-size:14px;min-height:70px}.gridview .presenter{font-size:11px;min-height:50px}.gridview .buyrow{align-items:flex-start;flex-direction:column;gap:8px}.gridview .price{font-size:21px}.gridview .add{width:100%}.gridview .tag{font-size:10px;left:8px}.ritualGrid{grid-template-columns:1fr}.originCopy h2{font-size:32px}.aura h2{font-size:39px}.aura p{font-size:17px}.calendar{padding:20px 12px}.days{gap:5px}.days button{font-size:16px}.eventinfo h3{font-size:28px}.contact h2{font-size:29px}.contact>a{font-size:38px}dialog{padding:20px;max-width:95vw}.detail h2{font-size:26px}.sourceDetail{font-size:16px}.cartrow h3{font-size:14px}.cartrow small{font-size:12px}.filmcaption{min-height:0}.filmcaption h3{font-size:24px}.heroFilm{object-position:center}.productMore{font-size:13px}}
/* TUKO catalogue, media and activities */
.logo img{display:block;width:134px;height:auto}
.logo span{margin-top:10px}
.lineButton{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:9px 13px;background:#e8f0df;border:1px solid #b6c8a7;border-radius:4px;color:#243f32;font-size:14px;white-space:nowrap;text-decoration:none}
.lineButton img{width:58px;height:auto}
.lineButton small{font-size:10px;font-weight:700;background:#24634a;color:#fff;border-radius:3px;padding:2px 5px}
.navend>a.lineButton{display:inline-flex}
.thaiShop{background:#edf1e7;border-block:1px solid #d8dfd0}
.productRail{position:relative}
.productRail .products:not(.gridview){scroll-snap-type:none;scroll-behavior:auto;overflow-anchor:none;scrollbar-width:none;overscroll-behavior-x:contain}
.productRail .products::-webkit-scrollbar{display:none}
.productRail .railArrow,.productRail .railPause{display:none}
.productRail.canLoop .railArrow,.productRail.canLoop .railPause{display:block}
.railArrow{position:absolute;top:137px;z-index:3;transform:translateY(-50%);width:48px;height:48px;border:1px solid #c2cebd;border-radius:50%;background:#fffefa;color:var(--green);box-shadow:0 3px 15px #0d281628;font:36px/1 Arial}
.railArrow.prev{left:-23px}.railArrow.next{right:-23px}
.railPause{margin:12px auto 0;color:var(--green);background:transparent;border:1px solid #b4beab;padding:8px 13px;font-size:13px}
.productTitle{background:none;border:0;padding:0;text-align:left;color:inherit;width:100%}
.registration{display:flex;flex-wrap:wrap;gap:0 8px;align-items:baseline;background:#dfebd8;border:1px solid #aabc9d;color:#203e2d;padding:8px 10px;border-radius:3px;margin:8px 0;font-size:13px;line-height:1.5}
.registration strong{font-size:15px;white-space:nowrap;font-variant-numeric:tabular-nums}
.productRail .price{font-size:20px}
.productRail .price small:empty{display:none}
.productRail .product{display:flex;flex-direction:column}
.productRail .buyrow{margin-top:auto;padding-top:10px}
.filmCycle{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:22px}
.filmCycle .outline{font-size:14px;padding:8px 13px}
.filmgrid .filmcaption{min-height:165px}
.filmgrid .filmframe img{object-fit:contain;background:#122f26}
.socialGrid{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:20px}
.socialGrid article{border:1px solid #ffffff30;padding:24px;min-width:0}
.socialGrid .outline{color:#fff;border-color:#e6ecdf80;margin-right:10px}
.socialGrid a{font-size:14px;text-decoration:underline}
.socialGrid iframe{width:100%;height:520px;border:0;margin-top:15px;background:#fff}
.venue{display:grid;grid-template-columns:1fr 1.2fr;gap:32px;margin:36px 0;padding:25px;background:#edf1e7;align-items:center}
.venue h3,.eventPhotos h3{font-size:26px;margin:6px 0 10px}
.venue iframe{width:100%;min-height:285px;border:0}
#photoGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
#photoGrid button{position:relative;border:0;background:#e1e8da;padding:0;aspect-ratio:16/10;overflow:hidden}
#photoGrid img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s}
#photoGrid button:hover img{transform:scale(1.05)}
#photoGrid span{position:absolute;right:8px;bottom:8px;border-radius:50%;width:30px;height:30px;background:#fffef0e0;color:var(--green);font-size:20px}
#photoViewer{width:min(1120px,95vw);max-height:94vh;padding:46px 45px 16px;background:#182c23;color:#fff;overflow:auto}
#photoViewer img{display:block;width:100%;max-height:72vh;object-fit:contain;touch-action:pan-y}
#photoViewer button{position:absolute;border:1px solid #ffffff8a;background:#20392de6;color:#fff;border-radius:50%;width:40px;height:40px;font:30px/1 Arial;z-index:1}
.photoClose{top:5px;right:8px}.photoPrev{left:6px;top:50%;transform:translateY(-50%)}.photoNext{right:6px;top:50%;transform:translateY(-50%)}
#photoCaption{text-align:center;font-size:15px;margin-bottom:0}
.contact>.lineButton{font-family:inherit;font-size:15px}
@media(max-width:650px){
  .logo img{width:102px}
  .navend{gap:6px}.lineButton{padding:6px 8px;font-size:12px}.lineButton img{width:44px}
  .railArrow{width:39px;height:39px;font-size:29px}.railArrow.prev{left:-10px}.railArrow.next{right:-10px}
  .venue,.socialGrid{grid-template-columns:1fr}.venue{gap:16px;padding:16px}
  #photoGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  #photoViewer{padding:48px 30px 12px}
  #photoViewer button{width:32px;height:32px;font-size:25px}
  .filmgrid .filmcaption{min-height:0}
  .sectionhead .lineButton{align-self:center}
}
@media(max-width:650px){
  header{gap:8px}
  .logo{flex:none}
  .logo span{font-size:7px;letter-spacing:1.2px;white-space:nowrap}
  .cinematic h1{font-size:clamp(39px,13vw,55px)}
  .cartbutton{padding-inline:4px}
}
@media(max-width:360px){
  header .lineButton{gap:4px;padding-inline:5px}
  header .lineButton img{width:38px}
  header .lineButton small{font-size:8px;padding-inline:3px}
}
.catalogLinks{display:flex;align-items:center;flex-wrap:wrap;gap:14px}.catalogLinks>a:first-child,.seoBreadcrumb a,.seoIntro>a{color:var(--green);text-decoration:underline}.productMore{display:block}.seoPage main{max-width:1450px;margin:auto}.seoPage h1{font-family:inherit;font-size:clamp(29px,4vw,52px);letter-spacing:0;line-height:1.3;margin:15px 0}.seoPage .lineButton{white-space:normal}.seoPage .lineButton img{flex:none}.seoIntro{margin-bottom:24px}.seoContact{padding:20px;background:#e7eddf;border:1px solid #d5dfcc;margin:20px 0}.seoContact h2{font-size:22px;margin:0}.seoContact p{margin:7px 0 14px}.seoTags{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.seoTags a{padding:4px 10px;background:#f0f2e9;color:var(--green);border:1px solid #d6dfcf;font-size:14px}.seoGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,225px),1fr));gap:22px;margin-top:25px}.seoCard{padding:14px;background:#f4f3ed}.seoCard img{width:100%;aspect-ratio:1;object-fit:contain;display:block;margin-bottom:12px}.seoCard h2{font-family:'Playfair Display',serif;font-size:21px;margin:4px 0}.seoCard p{font-size:15px}.seoDetail{display:grid;grid-template-columns:1fr 1.15fr;gap:32px;margin:26px 0 44px;align-items:start}.seoDetail>img{width:100%;max-height:520px;object-fit:contain;background:#f4f3ed}.seoBreadcrumb{font-size:14px}.seoDetail .registration{width:fit-content}@media(max-width:650px){.seoDetail{grid-template-columns:1fr;gap:15px}.seoDetail>img{max-height:340px}.seoPage .navend .lineButton{min-height:35px}.seoGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.seoCard{padding:9px}.seoCard h2{font-size:16px;overflow-wrap:anywhere}.seoCard p{font-size:13px}.seoCard .registration strong{white-space:normal;overflow-wrap:anywhere}}
header nav{gap:16px}
header nav a{white-space:nowrap}
header nav .homeMenu{font-weight:600}
@media(max-width:1200px){
  html{scroll-padding-top:135px}
  header{display:grid;grid-template-columns:auto minmax(0,1fr);height:auto;min-height:96px;padding-block:10px 4px;column-gap:8px;row-gap:4px}
  header .navend{grid-column:2;grid-row:1}
  header nav{display:flex;grid-column:1/-1;grid-row:2;width:100%;min-width:0;margin:0;overflow-x:auto;padding:5px 2px;gap:16px;font-size:14px}
}
.heroControls{position:absolute;right:5%;bottom:70px;display:flex;flex-wrap:wrap;gap:8px;z-index:4}
.heroControls .filmToggle{position:static;font-size:13px}
@media(max-width:650px){.heroControls{bottom:60px}.heroControls .filmToggle{font-size:12px}}

/* Header and contact controls across screen sizes */
header .navend { flex-shrink: 0; }
header .navend > .headerPhone,
header .navend > .headerJoin { display: inline-flex; align-items: center; white-space: nowrap; flex: 0 0 auto; }
header .headerPhone, a[href^="tel:"] { white-space: nowrap; font-variant-numeric: tabular-nums; }
header .headerJoin { padding: 10px 13px; }
.mobileLineBar { display: none; }
.sectionhead { flex-wrap: wrap; }
.sectionhead > div { min-width: 0; }
.venue > *, .socialGrid > *, .filmgrid > *, .eventgrid > * { min-width: 0; }

@media (max-width: 1440px) {
  html { scroll-padding-top: 145px; }
  header { display: grid; grid-template-columns: auto minmax(0, 1fr); height: auto; min-height: 96px; padding-block: 10px 4px; gap: 4px 12px; }
  header .navend { grid-column: 2; grid-row: 1; }
  header nav { display: flex; grid-column: 1 / -1; grid-row: 2; width: 100%; min-width: 0; margin: 0; overflow-x: auto; padding: 5px 2px; gap: 16px; font-size: 14px; }
}

@media (max-width: 767px) {
  html { scroll-padding-top: 158px; scroll-padding-bottom: calc(48px + env(safe-area-inset-bottom)); }
  body { padding-bottom: calc(46px + env(safe-area-inset-bottom)); }
  header { grid-template-columns: minmax(0, 1fr); min-height: 0; padding-block: 9px 3px; row-gap: 3px; }
  header .logo { grid-row: 1; justify-self: start; }
  header .logo img { width: 100px; }
  header .logo span { margin-top: 5px; }
  header .navend { grid-column: 1; grid-row: 2; margin: 0; gap: clamp(5px, 2vw, 14px); font-size: 13px; }
  header .navend > .lineButton { display: none; }
  header .navend > .headerJoin { font-size: 12px; min-height: 38px; padding: 6px 9px; }
  header .cartbutton { margin-inline-start: auto; padding-inline: 4px; }
  header nav { grid-row: 3; font-size: 13px; }
  .mobileLineBar {
    position: fixed; z-index: 40; inset: auto 0 0;
    display: flex; justify-content: center; align-items: center; gap: 9px;
    min-height: calc(46px + env(safe-area-inset-bottom));
    padding: 6px max(12px, env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));
    background: #205d3d; color: #fff; box-shadow: 0 -2px 10px #0002;
    font-size: 14px; font-weight: 600;
  }
  .mobileLineBadge { padding: 1px 6px; border-radius: 5px; background: #fff; color: #205d3d; font-size: 10px; font-weight: 700; }
  #toast { bottom: calc(56px + env(safe-area-inset-bottom)); }
  .cinematic { height: auto; min-height: 610px; }
  .heroBottom { gap: 12px; }
  .contact > a[href^="tel:"] { font-size: clamp(25px, 8.5vw, 38px); }
}

@media (min-width: 768px) {
  header nav { justify-content: space-between; }
  header .navend { justify-self: end; margin-inline-start: auto; }
}
@media (min-width: 1441px) {
  header nav { flex: 1 1 auto; margin-inline: 0; }
}
#heroSound { background: #f0e7cc; border-color: #f0e7cc; color: #233c31; font-weight: 600; }
