:root{--green:#73c61c;--green-dark:#54a90d;--navy:#0d1b2a;--purple:#c54ed6;--cream:#f7f7f2;--white:#fff;--muted:#68727d;--line:#dfe5df;--serif:"Shippori Mincho","Yu Mincho",serif;--sans:"Noto Sans JP",system-ui,sans-serif;--en:"Poppins",sans-serif;--shadow:0 20px 60px rgba(13,27,42,.11)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:82px}body{margin:0;color:var(--navy);font-family:var(--sans);font-size:16px;line-height:1.9;background:#fff;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{font:inherit}.wrap{width:min(1180px,calc(100% - 48px));margin:auto}.skip-link{position:fixed;left:12px;top:-80px;background:#fff;padding:10px 16px;z-index:999}.skip-link:focus{top:12px}.header{height:82px;position:fixed;inset:0 0 auto;background:rgba(255,255,255,.88);backdrop-filter:blur(16px);z-index:100;border-bottom:1px solid transparent;transition:.3s}.header.scrolled{height:72px;border-color:rgba(13,27,42,.08);box-shadow:0 8px 30px rgba(13,27,42,.05)}.header__inner{max-width:1380px;height:100%;margin:auto;padding:0 30px;display:flex;align-items:center;gap:30px}.brand{width:195px;margin-right:auto}.nav{display:flex;gap:clamp(18px,2vw,34px);align-items:center;font-size:14px;font-weight:600}.nav a{position:relative;white-space:nowrap}.nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:2px;background:var(--green);transition:.25s}.nav a:hover:after{right:0}.header-cta{background:var(--green);color:#fff;border-radius:100px;padding:12px 22px;font-weight:700;white-space:nowrap;box-shadow:0 8px 20px rgba(115,198,28,.25);transition:.25s}.header-cta:hover{background:var(--green-dark);transform:translateY(-2px)}.menu-btn{display:none;background:none;border:0;width:44px;height:44px;padding:12px}.menu-btn span{display:block;height:2px;background:var(--navy);margin:7px 0;transition:.25s}
.hero{min-height:100vh;position:relative;padding-top:82px;display:flex;flex-direction:column;overflow:hidden}.hero__media{position:absolute;inset:82px 0 154px}.hero__media img{width:100%;height:100%;object-fit:cover;object-position:center}.hero__veil{position:absolute;inset:82px 0 154px;background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.9) 28%,rgba(255,255,255,.15) 60%,rgba(13,27,42,.02) 100%)}.hero__content{position:relative;z-index:2;flex:1;display:flex;align-items:center;padding-block:70px 65px}.hero__copy{width:57%}.hero__eyebrow{display:flex;align-items:flex-end;max-width:555px;margin:0 0 26px;font-family:var(--serif);font-weight:700;font-size:18px}.hero__eyebrow span{border-bottom:2px solid var(--green);padding:0 12px 8px 0;flex:1}.hero__eyebrow i{display:block;width:0;height:0;border-top:10px solid transparent;border-bottom:10px solid transparent;border-left:26px solid var(--purple);transform:translateY(-5px);position:relative}.hero__eyebrow i:after{content:"";width:2px;height:42px;background:var(--navy);position:absolute;right:24px;top:-10px}.hero h1{font-family:var(--serif);font-size:clamp(58px,6.3vw,92px);line-height:1.38;letter-spacing:.04em;margin:0 0 26px;font-weight:600}.hero h1 span{color:#57aa12}.hero__lead{font-family:var(--serif);font-size:19px;line-height:2;margin:0 0 32px;font-weight:600}.hero__actions{display:flex;gap:16px}.btn{min-height:62px;padding:0 30px;border-radius:100px;display:inline-flex;align-items:center;justify-content:center;gap:30px;font-weight:700;transition:.25s}.btn span{font-size:22px}.btn--primary{color:#fff;background:var(--green);box-shadow:0 10px 25px rgba(77,158,10,.28)}.btn--primary:hover,.btn--contact:hover{background:var(--green-dark);transform:translateY(-3px)}.btn--white{background:rgba(255,255,255,.92);border:1px solid var(--green)}.btn--white:hover{background:#fff;transform:translateY(-3px)}.strengths{position:relative;z-index:3;background:rgba(5,31,47,.97);color:#fff}.strengths__inner{min-height:154px;max-width:1280px;margin:auto;padding:24px 32px;display:grid;grid-template-columns:repeat(4,1fr)}.strength{display:flex;align-items:center;gap:18px;padding:10px 24px;border-right:1px solid rgba(255,255,255,.22)}.strength:last-child{border:0}.strength__icon{flex:none;width:66px;height:66px;border:1px solid var(--green);border-radius:50%;display:grid;place-items:center;color:var(--green);font-family:var(--en);font-size:28px}.strength p{margin:0}.strength strong,.strength small{display:block}.strength strong{font-size:17px}.strength small{color:#d7dee2;font-size:12px;margin-top:4px;line-height:1.5}
.section{padding:130px 0}.section-head{margin-bottom:58px}.section-head--center{text-align:center}.section-head--split{display:flex;align-items:flex-end;justify-content:space-between;gap:50px}.section-head--split>p{max-width:530px}.kicker{font-family:var(--en);letter-spacing:.2em;color:var(--green-dark);font-weight:700;font-size:12px;margin:0 0 16px}.section h2,.contact h2{font-family:var(--serif);font-size:clamp(36px,4vw,56px);line-height:1.45;letter-spacing:.05em;margin:0 0 18px}.section-head>p:last-child{color:var(--muted);margin:0}.worries{background:var(--cream)}.worry-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.worry-grid article{background:#fff;padding:34px 28px 32px;min-height:290px;border-top:3px solid var(--green);box-shadow:0 8px 30px rgba(13,27,42,.04)}.worry-grid span{font:700 12px var(--en);color:var(--green-dark);letter-spacing:.15em}.worry-grid h3{font-family:var(--serif);font-size:21px;line-height:1.65;margin:20px 0 12px}.worry-grid p{font-size:14px;color:var(--muted);line-height:1.9;margin:0}.worries__answer{text-align:center;font-family:var(--serif);font-size:23px;font-weight:600;margin:54px 0 0}.worries__answer em{font-style:normal;color:var(--green-dark);font-size:1.25em}.service-list{display:grid;gap:34px}.service-card{display:grid;grid-template-columns:50px 42% 1fr;gap:34px;align-items:center;border:1px solid var(--line);padding:22px;background:#fff}.service-card:nth-child(even){grid-template-columns:50px 42% 1fr}.service-card__no{align-self:start;font:700 12px var(--en);color:var(--green-dark);padding-top:8px}.service-card__visual{height:330px;position:relative;overflow:hidden;display:grid;place-items:center}.service-card__visual:before,.service-card__visual:after{content:"";position:absolute;border-radius:50%}.service-card__visual span{font:700 clamp(54px,7vw,92px) var(--en);letter-spacing:-.06em;position:relative;z-index:1}.visual-web{background:#e9f3df;color:#387c19}.visual-web:before{width:270px;height:270px;border:1px solid #73c61c}.visual-web:after{width:120px;height:120px;background:var(--green);right:-30px;bottom:-30px}.visual-sns{background:#141f2c;color:#fff}.visual-sns:before{width:210px;height:210px;background:var(--purple);filter:blur(50px);opacity:.55}.visual-sns:after{width:300px;height:300px;border:1px solid rgba(255,255,255,.3)}.visual-movie{background:#f1e9f3;color:var(--navy)}.visual-movie:before{width:230px;height:230px;background:#fff;box-shadow:var(--shadow)}.service-card__en{font:700 11px var(--en);color:var(--green-dark);letter-spacing:.15em}.service-card h3{font-family:var(--serif);font-size:28px;margin:8px 0 14px}.service-card>div:last-child>p:not(.service-card__en){color:var(--muted);font-size:14px}.service-card ul{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:24px 0 0;list-style:none}.service-card li{font-size:12px;padding:5px 12px;background:var(--cream);border-radius:20px}.works{background:var(--navy);color:#fff}.works .section-head>p:last-child{color:#b9c3cb}.works-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:58px 32px}.work-card:last-child{grid-column:1/-1;width:calc(50% - 16px);margin:auto}.work-shot{height:370px;padding:34px;display:grid;place-items:center;overflow:hidden;position:relative}.work-shot--one{background:linear-gradient(145deg,#b7d5a5,#365c29)}.mock-browser{background:#fff;color:var(--navy);width:92%;height:80%;padding:18px 28px;box-shadow:0 25px 60px rgba(0,0,0,.3)}.mock-browser i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#d8ddd8}.mock-browser p{font:700 12px var(--en);color:#407b28;margin:42px 0 4px}.mock-browser b{font-family:var(--serif);font-size:32px}.work-shot--two{background:#c7b5dc}.mock-phone{background:#0c1725;width:35%;height:90%;border:5px solid #fff;border-radius:22px;padding:40px 18px;color:#fff;transform:rotate(-5deg)}.mock-phone p{font:700 28px/1.1 var(--en)}.mock-phone b{background:var(--green);font-size:10px;padding:8px 12px}.mock-poster{font:700 52px/1.05 var(--en);color:#fff;margin-left:30px}.work-shot--three{background:linear-gradient(120deg,#ede7d7,#b7d19a)}.mock-card{background:#fff;color:var(--navy);width:76%;padding:45px;box-shadow:var(--shadow);position:relative}.mock-card small{font:700 10px var(--en);color:var(--green-dark)}.mock-card b{font-family:var(--serif);font-size:33px;display:block;margin:18px 0}.mock-card em{font-style:normal;font-size:11px;color:#fff;background:var(--navy);padding:8px 15px}.work-meta p{display:flex;gap:8px;margin:18px 0 6px}.work-meta span{font:600 9px var(--en);letter-spacing:.08em;color:var(--green);border:1px solid rgba(115,198,28,.35);padding:4px 8px;border-radius:10px}.work-meta h3{font-family:var(--serif);font-size:22px;margin:0 0 5px}.work-meta small{color:#aeb9c1}.works__note,.voice__note{text-align:right;font-size:11px;color:#8c99a3;margin:35px 0 0}.reasons{background:#f5f7f4}.reason-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.reason-grid article{background:#fff;padding:42px 28px}.reason-grid article>span{font:600 11px var(--en);color:var(--green-dark)}.reason-icon{width:74px;height:74px;border-radius:50%;background:#eff8e7;color:var(--green-dark);display:grid;place-items:center;font:500 32px var(--en);margin:30px 0}.reason-grid h3{font-family:var(--serif);font-size:20px}.reason-grid p{font-size:14px;color:var(--muted);line-height:1.9}.profile__grid{display:grid;grid-template-columns:46% 1fr;gap:8%;align-items:center}.profile__photo{height:680px;position:relative;overflow:hidden}.profile__photo picture,.profile__photo img{width:100%;height:100%;object-fit:cover}.profile__photo img{object-position:73% center;transform:scale(1.18)}.profile__photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(13,27,42,.3),transparent 40%)}.profile__photo>span{position:absolute;z-index:1;left:30px;bottom:25px;color:#fff;font:600 11px/1.7 var(--en);letter-spacing:.12em}.profile__text>p:not(.kicker){color:#4f5c67;font-size:15px}.profile__text h2{font-size:clamp(34px,3.5vw,50px)}.profile__sign{border-top:1px solid var(--line);margin-top:30px;padding-top:24px;display:flex;gap:20px;align-items:center}.profile__sign b{font:700 25px var(--en);color:var(--green-dark)}.profile__sign span{font-size:11px;color:var(--muted);line-height:1.6}.voice{background:#edf4e8}.voice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.voice-grid article{background:#fff;padding:34px;box-shadow:0 12px 30px rgba(13,27,42,.05)}.quote{font:700 58px/1 var(--serif);color:var(--green)}.voice-grid article>p{font-family:var(--serif);font-size:16px;line-height:2}.voice-grid footer{display:flex;gap:14px;align-items:center;margin-top:25px;padding-top:22px;border-top:1px solid var(--line)}.avatar{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:var(--navy);color:#fff;font-family:var(--serif)}.voice-grid footer p{margin:0}.voice-grid footer b,.voice-grid footer small{display:block}.voice-grid footer b{font-size:13px}.voice-grid footer small{font-size:11px;color:var(--muted)}.faq__grid{display:grid;grid-template-columns:34% 1fr;gap:9%}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;display:grid;grid-template-columns:38px 1fr 30px;align-items:center;gap:12px;padding:24px 0;font-weight:600;cursor:pointer}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font:600 18px var(--en);color:var(--green-dark)}.faq-list summary i{width:18px;height:18px;position:relative}.faq-list summary i:before,.faq-list summary i:after{content:"";position:absolute;background:var(--navy);left:0;right:0;top:8px;height:1px}.faq-list summary i:after{transform:rotate(90deg);transition:.2s}.faq-list details[open] summary i:after{transform:rotate(0)}.faq-list details p{margin:-3px 30px 24px 50px;color:var(--muted);font-size:14px}.contact{position:relative;overflow:hidden;background:var(--green);color:#fff;padding:130px 0;text-align:center}.contact__inner{position:relative;z-index:1}.contact .kicker{color:#fff;opacity:.8}.contact h2{font-size:clamp(42px,5vw,68px);margin-bottom:26px}.contact__inner>p:nth-of-type(2){font-family:var(--serif);font-size:17px}.btn--contact{background:#fff;color:var(--navy);min-width:340px;margin:28px 0 20px;box-shadow:0 16px 36px rgba(47,111,0,.25)}.contact__inner small{display:block}.contact__orb{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.25)}.contact__orb--one{width:580px;height:580px;left:-220px;top:-190px}.contact__orb--two{width:430px;height:430px;right:-120px;bottom:-220px}.footer{background:#07131e;color:#fff;padding:65px 0 30px}.footer__inner{text-align:center}.footer__inner>img{margin:auto;width:200px}.footer__inner>p{font-size:12px;color:#9facb5;margin:14px 0 35px}.footer nav{display:flex;justify-content:center;gap:30px;font-size:12px;margin-bottom:45px}.footer small{display:block;padding-top:22px;border-top:1px solid rgba(255,255,255,.1);font:400 10px var(--en);color:#74818a}.sp-only{display:none}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:1100px){.nav{display:none}.header__inner{padding-inline:22px}.menu-btn{display:block}.menu-btn.active span:first-child{transform:translateY(4px) rotate(45deg)}.menu-btn.active span:last-child{transform:translateY(-5px) rotate(-45deg)}.nav.open{position:absolute;display:flex;flex-direction:column;align-items:flex-start;gap:0;inset:72px 0 auto;background:#fff;padding:20px 28px 30px;box-shadow:0 20px 30px rgba(13,27,42,.1)}.nav.open a{width:100%;padding:12px 0;border-bottom:1px solid var(--line)}.strength{padding-inline:14px}.strength__icon{width:54px;height:54px}.strength strong{font-size:14px}.reason-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.wrap{width:min(100% - 36px,680px)}.header,.header.scrolled{height:68px}.header__inner{padding-inline:16px}.brand{width:158px}.header-cta{font-size:12px;padding:9px 14px}.hero{padding-top:68px;min-height:auto}.hero__media{inset:68px 0 0;height:470px}.hero__media img{object-position:70% center}.hero__veil{inset:68px 0 0;height:470px;background:linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.8) 48%,rgba(255,255,255,.05) 82%),linear-gradient(0deg,#fff 0%,transparent 25%)}.hero__content{min-height:670px;align-items:flex-start;padding-top:68px}.hero__copy{width:72%}.hero__eyebrow{font-size:13px;margin-bottom:20px}.hero h1{font-size:clamp(48px,10vw,66px)}.hero__lead{font-size:15px}.hero__actions{flex-direction:column;width:260px}.btn{min-height:56px}.strengths__inner{grid-template-columns:repeat(2,1fr);padding:14px}.strength{border-bottom:1px solid rgba(255,255,255,.15)}.section{padding:90px 0}.worry-grid{grid-template-columns:repeat(2,1fr)}.service-card,.service-card:nth-child(even){grid-template-columns:35px 1fr;gap:20px}.service-card__visual{grid-column:2;height:260px}.service-card>div:last-child{grid-column:2}.works-grid{grid-template-columns:1fr}.work-card:last-child{grid-column:auto;width:100%}.profile__grid{grid-template-columns:1fr;gap:50px}.profile__photo{height:560px}.voice-grid{grid-template-columns:1fr}.faq__grid{grid-template-columns:1fr;gap:25px}.section-head--split{display:block}.section-head--split>p{margin-top:20px}.sp-only{display:block}}
@media(max-width:560px){body{font-size:15px}.header-cta{display:none}.menu-btn{margin-left:auto}.hero__media{height:410px}.hero__veil{height:410px;background:linear-gradient(90deg,rgba(255,255,255,.97),rgba(255,255,255,.78) 65%,rgba(255,255,255,.05)),linear-gradient(0deg,#fff,transparent 30%)}.hero__content{min-height:690px;padding-top:42px}.hero__copy{width:100%}.hero__eyebrow{max-width:330px;font-size:12px}.hero h1{font-size:45px;line-height:1.45}.hero__lead{margin-top:200px;font-size:14px;line-height:1.9}.hero__lead br{display:none}.hero__actions{width:100%;gap:10px}.strengths__inner{grid-template-columns:1fr;padding:10px 20px}.strength{border-right:0;padding:12px 4px}.strength__icon{width:46px;height:46px;font-size:21px}.section h2{font-size:34px}.section-head{margin-bottom:38px}.worry-grid{grid-template-columns:1fr}.worry-grid article{min-height:0}.worries__answer{font-size:19px}.service-card,.service-card:nth-child(even){grid-template-columns:1fr;padding:14px}.service-card__no,.service-card__visual,.service-card>div:last-child{grid-column:1}.service-card__visual{height:230px}.work-shot{height:270px;padding:20px}.mock-poster{font-size:37px}.mock-browser b,.mock-card b{font-size:22px}.reason-grid{grid-template-columns:1fr}.reason-grid article{padding:30px}.reason-icon{margin:20px 0}.profile__photo{height:460px}.profile__text h2{font-size:33px}.contact{padding:90px 0}.contact h2{font-size:39px}.contact__inner>p:nth-of-type(2){font-size:14px}.contact__inner>p:nth-of-type(2) br{display:none}.btn--contact{min-width:0;width:100%}.footer nav{flex-wrap:wrap;gap:14px 24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.btn,.header-cta{transition:none}}

/* Official Tec-Golf brand mark */
.brand{width:auto;display:flex;align-items:center;gap:8px}
.brand img{width:54px;height:54px;object-fit:contain}
.brand span{font:700 27px var(--en);color:#62b91c;letter-spacing:-.03em;white-space:nowrap}
.footer__brand{display:flex;align-items:center;justify-content:center;gap:12px}
.footer__brand img{width:72px;height:72px;object-fit:contain;border-radius:50%}
.footer__brand span{font:700 29px var(--en);color:#73c61c}
@media(max-width:820px){.brand{width:auto}.brand img{width:47px;height:47px}.brand span{font-size:23px}}

/* Use the supplied official logo artwork as-is. */
.brand{width:68px;gap:0}
.brand img{width:68px;height:68px;border-radius:50%}
.brand span,.footer__brand span{display:none}
.footer__brand img{width:118px;height:118px;border-radius:50%;background:#fff}
@media(max-width:820px){.brand{width:56px}.brand img{width:56px;height:56px}}

/* Refined portfolio balance and semantic icons */
.works{background:#f3f6f1;color:var(--navy)}
.works .section-head>p:last-child,.work-meta small{color:#68727d}
.works-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.work-card,.work-card:last-child{grid-column:auto;width:auto;margin:0;min-width:0}
.work-shot{height:300px;padding:24px;border-radius:2px}
.mock-browser{width:94%;padding:16px 20px}.mock-browser p{margin-top:34px}.mock-browser b{font-size:25px}
.mock-phone{width:42%;padding:32px 13px}.mock-phone p{font-size:21px}.mock-poster{font-size:37px;margin-left:18px}
.mock-card{width:90%;padding:30px}.mock-card b{font-size:26px}
.work-meta h3{font-size:20px}.work-meta span{color:#438e10;border-color:rgba(67,142,16,.32)}
.works__note{color:#7a858e}
.reason-icon{color:var(--green-dark);background:linear-gradient(145deg,#f3faed,#e5f3d9);border:1px solid rgba(115,198,28,.24)}
.reason-icon svg{width:36px;height:36px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.avatar{width:54px;height:54px;background:#eff8e7;color:var(--green-dark);border:1px solid rgba(115,198,28,.3)}
.avatar svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.voice-grid article:nth-child(2) .avatar{background:#f6ebf8;color:#9c3bac;border-color:rgba(197,78,214,.25)}
.voice-grid article:nth-child(3) .avatar{background:#e9f0f5;color:#244963;border-color:rgba(36,73,99,.2)}
@media(max-width:980px){.works-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.work-card:last-child{grid-column:1/-1}.work-card:last-child .work-shot{height:330px}.work-card:last-child .mock-card{width:70%}}
@media(max-width:700px){.works-grid{grid-template-columns:1fr}.work-card:last-child{grid-column:auto}.work-card:last-child .work-shot{height:270px}.work-card:last-child .mock-card{width:90%}}

/* Real portfolio artwork */
.work-shot--real{background:#e7ece5;isolation:isolate}
.work-shot--real>img{width:100%;height:100%;object-fit:cover}
.work-shot--campaign{display:flex;align-items:center;justify-content:center;gap:16px;background:linear-gradient(145deg,#e7efe0,#d6e2d2)}
.work-art{position:relative;margin:0;height:100%;box-shadow:0 18px 38px rgba(13,27,42,.2);overflow:hidden;background:#fff}
.work-art img{width:100%;height:100%;object-fit:contain}
.work-art span{position:absolute;right:8px;bottom:8px;padding:5px 9px;background:rgba(13,27,42,.9);color:#fff;font:700 9px var(--en);letter-spacing:.12em;border-radius:3px}
.work-art--lp{height:88%;transform:rotate(-2deg);z-index:1}
.work-art--flyer{height:74%;margin-left:-34px;transform:translateY(22px) rotate(4deg);z-index:2}
.work-shot--shop{background:#0d5834;padding:0}
.work-shot--shop>img{object-fit:cover}
.work-shot--range{background:linear-gradient(145deg,#1c2615,#667142)}
.work-shot--range .work-art{height:90%}
@media(max-width:980px){.work-art--lp{height:90%}.work-art--flyer{height:76%}}

/* Keep portfolio cards visually equal on tablet widths. */
@media(max-width:980px) and (min-width:701px){
  .work-card:last-child{grid-column:1/-1;width:calc(50% - 15px);justify-self:center}
  .work-card:last-child .work-shot{height:300px;width:100%}
  .work-card:last-child .work-art{height:90%}
}

/* Horizontal works carousel */
.works-controls{display:flex;justify-content:flex-end;gap:10px;margin:-34px 0 22px}
.works-arrow{width:48px;height:48px;border:1px solid rgba(13,27,42,.22);border-radius:50%;background:#fff;color:var(--navy);font-size:20px;cursor:pointer;transition:background .2s,color .2s,transform .2s}
.works-arrow:hover{background:var(--navy);color:#fff;transform:translateY(-2px)}
.works-arrow:focus-visible{outline:3px solid rgba(115,198,28,.35);outline-offset:3px}
.works-grid{display:flex;grid-template-columns:none;gap:24px;overflow-x:auto;scroll-snap-type:x proximity;scroll-behavior:smooth;scrollbar-width:none;padding:4px 2px 20px;overscroll-behavior-inline:contain}
.works-grid::-webkit-scrollbar{display:none}
.work-card,.work-card:last-child{flex:0 0 min(520px,calc((100% - 24px)/2.15));width:auto;grid-column:auto;justify-self:auto;scroll-snap-align:start}
.work-card:last-child .work-shot{height:300px;width:100%}
.works-grid:focus-visible{outline:3px solid rgba(115,198,28,.25);outline-offset:6px}
@media(max-width:700px){
  .works-controls{margin:-18px 0 18px}
  .works-arrow{width:44px;height:44px}
  .work-card,.work-card:last-child{flex-basis:86%;width:auto}
}
@media(prefers-reduced-motion:reduce){.works-grid{scroll-behavior:auto}.works-arrow{transition:none}}

.works-viewport{overflow:hidden;padding:4px 2px 20px}
.works-viewport .works-grid{overflow:visible;padding:0;scroll-snap-type:none;transition:transform .56s cubic-bezier(.22,.61,.36,1);will-change:transform}
@media(prefers-reduced-motion:reduce){.works-viewport .works-grid{transition:none}}

/* CTA route priority: LINE > form > Instagram */
.btn--line{color:#fff;background:linear-gradient(135deg,#06c755,#73c61c);box-shadow:0 16px 34px rgba(6,199,85,.32);border:1px solid rgba(255,255,255,.2)}
.btn--line:hover{transform:translateY(-3px);filter:saturate(1.08);box-shadow:0 20px 42px rgba(6,199,85,.38)}
.btn--line-large{min-width:360px}
.cta-note{max-width:560px;margin:14px 0 0;color:#46525d;font-size:13px;line-height:1.8}
.text-link{display:inline-flex;align-items:center;justify-content:center;color:var(--navy);font-weight:700;text-decoration:underline;text-underline-offset:5px;text-decoration-color:rgba(13,27,42,.28)}
.text-link:hover{color:var(--green-dark)}
.cta-panel{margin-top:54px;padding:34px 38px;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;background:linear-gradient(135deg,#f7fbf2,#fff);border:1px solid rgba(115,198,28,.22);box-shadow:0 18px 48px rgba(13,27,42,.07)}
.cta-panel h3{font-family:var(--serif);font-size:27px;line-height:1.55;margin:0 0 8px}
.cta-panel p:not(.kicker){margin:0;color:var(--muted);font-size:14px}
.cta-panel__actions{display:grid;gap:12px;justify-items:center}
.instagram-card{margin-top:34px;padding:24px 28px;display:flex;align-items:center;justify-content:space-between;gap:22px;background:#fff;color:var(--navy);border:1px solid rgba(13,27,42,.08);box-shadow:0 14px 38px rgba(13,27,42,.07)}
.instagram-card p{margin:0;color:#4e5a65;font-size:14px}
.instagram-card--light{background:rgba(255,255,255,.78)}
.btn--instagram{min-height:52px;padding-inline:24px;background:#fff;color:var(--navy);border:1px solid rgba(197,78,214,.35);box-shadow:none;white-space:nowrap}
.btn--instagram:hover{background:#f8edf9;transform:translateY(-2px)}
.contact__actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin:32px 0 18px}
.contact__actions .btn{margin:0}
.contact__actions .btn--contact{background:rgba(255,255,255,.92);color:var(--navy);box-shadow:0 12px 28px rgba(47,111,0,.18)}
.contact__instagram{max-width:720px;margin:20px auto 18px;padding:18px 22px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);border-radius:18px}
.contact__instagram p{margin:0 0 8px;font-size:13px;line-height:1.7}
.contact__instagram a{font-weight:700;text-decoration:underline;text-underline-offset:5px}
.header-cta span{font-family:var(--en);font-size:11px;letter-spacing:.05em}
@media(max-width:820px){
  .cta-panel{grid-template-columns:1fr;padding:28px 24px}
  .cta-panel__actions{justify-items:stretch}
  .cta-panel__actions .btn{width:100%}
  .instagram-card{display:grid;padding:22px}
  .instagram-card .btn{width:100%}
}
@media(max-width:560px){
  .hero__actions .btn,.contact__actions .btn{width:100%}
  .cta-note{font-size:12px;background:rgba(255,255,255,.78);padding:10px 12px;border-radius:12px}
  .btn--line-large{min-width:0}
  .cta-panel{margin-top:36px}
  .cta-panel h3{font-size:22px}
  .contact__actions{display:grid}
}
