
:root{--red:#cf0717;--black:#070808;--char:#111314;--white:#f6f5f1;--warm:#5a3a2b;--ivory:#f3ecdf;--brown:#3f2d22;--blue:#6f899a;--line:rgba(255,255,255,.14)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;background:#090a0a;color:#f5f5f2;line-height:1.8}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.shell-edge{width:min(1480px,calc(100% - 72px));margin-inline:auto}.site-header{position:relative;z-index:50;background:#050505}.header-inner{height:78px;width:min(1480px,calc(100% - 72px));margin:auto;display:flex;align-items:center}.site-logo{width:184px;display:flex;align-items:center}.site-logo img{height:48px;width:auto;object-fit:contain}.desktop-nav{display:flex;gap:34px;margin-left:auto;align-items:center}.desktop-nav a{font-size:12px;letter-spacing:.12em;position:relative;white-space:nowrap}.desktop-nav a.active:after,.desktop-nav a:hover:after{content:"";position:absolute;left:0;right:0;bottom:-16px;height:2px;background:var(--red)}.header-contact{height:78px;display:flex;align-items:center;gap:18px;padding:0 28px;margin-left:28px;background:var(--red);font-size:13px}.menu-button,.mobile-menu{display:none}.boxed-logo{display:flex}.boxed-logo span{border:1px solid #fff;width:38px;height:38px;display:grid;place-items:center;font-size:20px;letter-spacing:0}.boxed-logo span+span{margin-left:-1px}.brandline{white-space:nowrap;letter-spacing:.18em}.brandline.red{color:#e40a1d}.red-rule{width:170px;height:1px;background:linear-gradient(90deg,var(--red),rgba(255,255,255,.22));margin:26px 0}.dark-section{background:#0a0b0b}.section-title span,.section-kicker,.construction-title span,.company-title span{color:var(--red);font-size:11px;letter-spacing:.18em;font-weight:700}.section-title h2,.construction-title h2,.company-title h2{font-family:Georgia,"Yu Mincho",serif;font-size:34px;font-weight:400;margin:6px 0 10px}.section-title i,.construction-title i{display:block;width:52px;height:2px;background:var(--red)}.section-title.center{text-align:center}.section-title.center i{margin:auto}.site-footer{width:min(1480px,calc(100% - 72px));margin:0 auto;background:#070808;border-top:1px solid #262626}.footer-inner{display:grid;grid-template-columns:1.2fr 1fr 1.8fr;gap:50px;padding:48px 50px}.footer-brand img{width:150px}.footer-brand p{font-family:Georgia,"Yu Mincho",serif}.footer-info{font-size:13px;color:#c9c9c6}.footer-nav{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 24px;font-size:12px}.footer-bottom{border-top:1px solid #202020;padding:24px 50px;display:flex;justify-content:space-between;align-items:center}.footer-bottom .brandline{font-size:13px}.footer-bottom small{color:#777}
/* HOME */.page-home{background:#050606}.home-hero{height:610px;position:relative;overflow:hidden}.home-hero .hero-bg{width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,7,11,.92) 0%,rgba(3,7,11,.55) 38%,rgba(3,7,11,.06) 72%)}.hero-copy{position:absolute;left:7%;top:14%;max-width:590px}.hero-copy .eyebrow{color:#ec0b20;letter-spacing:.16em;font-size:12px}.hero-copy h1{font-family:Georgia,"Yu Mincho",serif;font-size:56px;line-height:1.42;font-weight:400;margin:16px 0}.hero-copy>p:not(.eyebrow):not(.brandline){font-family:Georgia,"Yu Mincho",serif;font-size:16px}.hero-copy .brandline{font-size:14px;margin-top:35px}.home-business{padding:34px 75px 12px;background:radial-gradient(circle at 50% -20%,#181818,#080909 55%)}.home-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:30px}.home-card{min-height:320px;position:relative;overflow:hidden;border:1px solid #424242;background:linear-gradient(rgba(5,5,5,.4),rgba(5,5,5,.86)),var(--bg) center/cover}.home-card>div{position:absolute;inset:0;padding:38px;display:flex;flex-direction:column}.home-card b{color:var(--red);font-size:28px}.home-card h3{font-size:24px;letter-spacing:.07em;margin:4px 0}.home-card small{font-family:Georgia,"Yu Mincho",serif}.home-card p{font-size:13px;max-width:85%}.home-card em{font-style:normal;font-size:12px;margin-top:auto;text-align:right}.home-closing{display:grid;grid-template-columns:1fr auto auto 1fr;align-items:center;gap:34px;padding:38px 90px 22px}.home-closing i{height:1px;background:var(--red);transform:rotate(-38deg)}.home-closing p{font-family:Georgia,"Yu Mincho",serif;font-size:19px}.home-closing span{font-family:Georgia,"Times New Roman","Yu Mincho","Hiragino Mincho ProN",serif;font-style:normal;font-weight:400;letter-spacing:-.02em;color:var(--red);font-size:26px}
/* ABOUT */.page-about{background:#070808}.about-hero{height:680px;position:relative;overflow:hidden}.about-hero>img{width:100%;height:100%;object-fit:cover}.about-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,6,7,.95),rgba(4,6,7,.45) 48%,rgba(4,6,7,.15))}.about-hero-copy{position:absolute;left:5%;top:8%;max-width:600px}.about-hero-copy .big-en{font-size:52px;font-weight:800;margin:0}.about-hero-copy>span{color:var(--red);font-size:12px}.about-hero-copy h1{font-family:Georgia,"Yu Mincho",serif;font-weight:400;font-size:42px;line-height:1.5;margin:26px 0}.about-hero-copy p:last-child{max-width:540px;font-size:14px}.about-signature{position:absolute;right:4%;bottom:8%;font-size:32px}.about-origin{padding:55px 70px;display:grid;grid-template-columns:1.1fr 1fr .8fr;gap:35px;border-top:1px solid #292929}.about-origin h2{font-size:26px}.about-origin>div:first-child i{display:block;width:60px;height:2px;background:var(--red);margin:15px 0}.origin-grid{border:1px solid #373737;padding:22px 32px}.origin-grid p{display:grid;grid-template-columns:30px 100px 1fr;margin:6px 0}.origin-grid b{color:var(--red)}.origin-grid small{color:#bdbdb8}.wave-placeholder{background:linear-gradient(145deg,#252a2d,#08090a 60%);min-height:260px;position:relative;overflow:hidden}.wave-placeholder:after{content:"";position:absolute;width:150%;height:100px;border-top:20px solid rgba(255,255,255,.18);border-radius:50%;transform:rotate(-12deg);top:45%;left:-20%}.about-business{padding:40px 70px 60px}.about-biz-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:30px}.about-biz-grid img{width:100%;height:220px;object-fit:cover}.about-biz-grid strong{display:block;font-size:28px;margin-top:15px}.about-biz-grid h3{font-family:Georgia,"Yu Mincho",serif;margin:0}.about-biz-grid b{color:var(--red);font-size:11px}.about-biz-grid p{font-size:13px;color:#c4c4c0}.why-connect{background:linear-gradient(90deg,#0b0c0c,#16110e);padding:65px 70px;display:grid;grid-template-columns:1fr 1fr;gap:60px}.why-copy>span,.about-vision span{color:var(--red);font-size:11px;letter-spacing:.15em}.why-copy h2{font-family:Georgia,"Yu Mincho",serif;font-weight:400;font-size:36px}.connect-diagram{min-height:340px;position:relative;display:grid;place-items:center}.connect-diagram div{width:120px;height:120px;border:1px solid var(--red);border-radius:50%;display:grid;place-items:center;color:var(--red)}.connect-diagram span{position:absolute;width:140px;height:140px;border:1px solid #aaa;border-radius:50%;display:grid;place-items:center;text-align:center;font-size:12px}.connect-diagram span:nth-of-type(1){top:0;left:50%;transform:translateX(-50%)}.connect-diagram span:nth-of-type(2){bottom:0;left:16%}.connect-diagram span:nth-of-type(3){bottom:0;right:16%}.about-vision{height:420px;position:relative;overflow:hidden}.about-vision>img{width:100%;height:100%;object-fit:cover;filter:brightness(.55)}.about-vision>div{position:absolute;left:5%;top:12%;max-width:640px}.about-vision h2{font-family:Georgia,"Yu Mincho",serif;font-size:34px}.vision-points{display:flex;gap:44px;margin-top:35px}.vision-points b{font-size:13px;border-left:1px solid var(--red);padding-left:18px}
/* EAT */.page-eat{background:#261a14;color:#fff}.page-eat .site-header,.page-eat .site-footer{background:#1c130f}.eat-hero{height:650px;position:relative}.eat-hero>img{width:100%;height:100%;object-fit:cover}.eat-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(30,16,10,.9),rgba(30,16,10,.2))}.eat-hero>div:last-child{position:absolute;left:6%;top:14%;max-width:580px}.eat-hero span{font-size:40px;font-weight:800}.eat-hero small{display:block;color:#d7a87d}.eat-hero h1{font-family:Georgia,"Yu Mincho",serif;font-size:48px;font-weight:400;line-height:1.5}.eat-hero p{font-size:15px}.restaurant-intro{background:var(--ivory);color:#34241b;display:grid;grid-template-columns:1fr 1.15fr;align-items:stretch}.restaurant-copy{padding:65px}.restaurant-copy>span,.eat-gallery .section-title span,.cuisine .section-title span{color:#a73228;font-size:11px;letter-spacing:.16em}.lo-logo{width:min(460px,100%);margin:22px 0}.restaurant-intro>img{width:100%;height:100%;min-height:470px;object-fit:cover}.eat-gallery,.cuisine{background:#f0e7d9;color:#36271e;padding:62px 70px}.section-title.warm span{color:#9b3e31}.space-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;grid-template-rows:230px 230px;gap:14px;margin-top:30px}.space-grid img{width:100%;height:100%;object-fit:cover}.space-grid img:first-child{grid-row:1/3}.space-grid img:last-child{grid-column:2/4}.food-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px}.food-grid img{height:300px;width:100%;object-fit:cover}.eat-atmosphere{min-height:430px;position:relative}.eat-atmosphere img{width:100%;height:430px;object-fit:cover;filter:brightness(.58)}.eat-atmosphere div{position:absolute;left:7%;top:22%;max-width:500px}.eat-atmosphere span{color:#d8b07d;font-size:12px;letter-spacing:.17em}.eat-atmosphere h2{font-family:Georgia,"Yu Mincho",serif;font-size:38px;font-weight:400}
/* CONSULTING */.page-consulting{background:#e9ddcc;color:#39281f}.page-consulting .site-header{background:#4c3024}.page-consulting .site-footer{background:#3a261e;color:#fff}.consult-hero{height:590px;position:relative}.consult-hero img{width:100%;height:100%;object-fit:cover}.consult-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(74,43,28,.88),rgba(74,43,28,.18))}.consult-hero>div:last-child{position:absolute;left:6%;top:17%;max-width:650px;color:#fff}.consult-hero span,.consult-strength span,.consult-approach span{color:#d81122;font-size:12px;letter-spacing:.17em}.consult-hero h1{font-family:Georgia,"Yu Mincho",serif;font-weight:400;font-size:44px}.consult-hero i,.consult-strength i{display:block;width:65px;height:2px;background:#d81122}.consult-services{background:#f4ecdf;padding:65px 70px}.service-four{display:grid;grid-template-columns:repeat(4,1fr);margin-top:35px;border-top:1px solid #cab9a2;border-bottom:1px solid #cab9a2}.service-four article{padding:30px;border-right:1px solid #cab9a2}.service-four article:last-child{border-right:0}.service-four b{color:#a8392c}.service-four h3{color:#9a3329;font-size:16px}.service-four p{font-size:13px}.consult-strength{background:#f0e5d7;padding:70px;display:grid;grid-template-columns:1fr 1.3fr;gap:50px}.consult-strength h2,.consult-approach h2{font-family:Georgia,"Yu Mincho",serif;font-weight:400;font-size:35px}.strength-visuals{display:grid;grid-template-columns:1fr 1fr;gap:15px}.strength-visuals img{height:390px;width:100%;object-fit:cover}.consult-approach{padding:65px 70px;background:#e6d4bf;display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.consult-approach img{width:100%;height:360px;object-fit:cover}.consult-flow{background:#f4ecdf;padding:65px 70px}.flow-five{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:#c8b49d;margin-top:30px}.flow-five article{background:#f4ecdf;padding:28px 20px;min-height:150px}.flow-five b{color:#bb1d26}.flow-five h3{font-size:15px}.flow-five p{font-size:12px}
/* CONSTRUCTION */.page-construction{background:#ecebe6;color:#242628}.page-construction .site-header{background:#17191b}.page-construction .site-footer{background:#16181a;color:#fff}.construction-hero{display:grid;grid-template-columns:.9fr 1.1fr;min-height:610px;background:#e6e5df;overflow:hidden}.construction-copy{padding:65px 60px;background:linear-gradient(135deg,#ecebe6,#d7d6d1);position:relative}.construction-copy:after{content:"";position:absolute;right:-60px;top:0;width:120px;height:100%;background:#e6e5df;clip-path:polygon(0 0,50% 0,100% 100%,50% 100%)}.breadcrumb{font-size:10px;color:#777}.construction-copy>span{display:block;font-weight:800;letter-spacing:.12em}.construction-copy>span b{color:var(--red);font-size:36px;margin-right:12px}.construction-copy small{display:block}.construction-copy h1{font-family:Georgia,"Yu Mincho",serif;font-weight:400;font-size:46px;line-height:1.5}.construction-copy i{display:block;width:80px;height:3px;background:var(--red);transform:skewX(-35deg)}.construction-photo{position:relative}.construction-photo img{width:100%;height:100%;object-fit:cover}.construction-photo em{position:absolute;right:10%;top:20%;color:white;font-family:cursive;font-size:50px;line-height:1;font-weight:400}.construction-services{padding:60px;background:#f3f2ee}.construction-title{display:grid;grid-template-columns:auto 1fr auto;align-items:end;gap:18px}.construction-title h2{margin:0}.construction-title p{font-size:12px}.slant-cards{display:grid;grid-template-columns:repeat(3,1fr);margin-top:30px;gap:12px}.slant-cards article{min-height:390px;color:white;position:relative;overflow:hidden;padding:50px 34px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(0deg,rgba(10,11,12,.86),rgba(10,11,12,.15)),url('placeholder-construction-earthwork-20260903-2015.jpg') center/cover}.slant-cards article:nth-child(2){background-image:linear-gradient(0deg,rgba(10,11,12,.86),rgba(10,11,12,.15)),url('placeholder-construction-paving-20260903-2015.jpg')}.slant-cards article:nth-child(3){background-image:linear-gradient(0deg,rgba(10,11,12,.86),rgba(10,11,12,.15)),url('placeholder-construction-water-20260903-2015.jpg')}.slant-cards article{clip-path:polygon(8% 0,100% 0,92% 100%,0 100%)}.slant-cards b{font-size:40px}.slant-cards h3{font-size:23px;border-bottom:2px solid var(--red);padding-bottom:10px}.slant-cards p{font-size:13px}.construction-strength{padding:65px 60px;display:grid;grid-template-columns:2fr .8fr;gap:28px;background:#e2e1dc}.construction-strength>.construction-title{grid-column:1/-1}.construction-strength-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#bbb}.construction-strength-grid article{background:#f7f6f2;padding:28px 20px}.construction-strength-grid b{font-size:10px;color:#999}.construction-strength-grid h3{font-size:16px}.construction-strength-grid p{font-size:12px}.construction-strength aside{background:var(--red);color:white;padding:36px}.construction-strength aside h3{font-family:Georgia,"Yu Mincho",serif;font-size:27px;font-weight:400}.construction-works{padding:65px 60px;background:#f4f3ef}.construction-work-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:30px}.construction-work-grid img{width:100%;height:190px;object-fit:cover}.construction-work-grid b{display:block;color:var(--red);font-size:10px;margin-top:12px}.construction-work-grid h3{font-size:15px}.image-note{font-size:11px;color:#777}.construction-flow{padding:65px 60px;background:#e7e6e1}.page-construction .flow-five article{background:#f5f4f0}
/* WORKS */.page-works{background:#0a0b0b}.works-hero{padding:85px 70px;background:linear-gradient(135deg,#111,#050505)}.works-hero span{color:var(--red);font-size:50px;font-weight:800}.works-hero h1{font-family:Georgia,"Yu Mincho",serif;font-weight:400;font-size:42px}.works-list{background:#0d0e0e;padding:55px 70px}.work-feature{display:grid;grid-template-columns:1.1fr 1fr;border-top:1px solid #333;padding:36px 0;gap:45px;align-items:center}.work-feature img{width:100%;height:340px;object-fit:cover}.work-feature span{color:var(--red);font-size:11px;letter-spacing:.16em}.work-feature h2{font-family:Georgia,"Yu Mincho",serif;font-size:32px;font-weight:400}.work-feature small{color:#888}
/* COMPANY */.page-company{background:#eeeae1;color:#242322}.page-company .site-header{background:#151515}.page-company .site-footer{background:#171717;color:#fff}.company-hero{display:grid;grid-template-columns:1fr 1.05fr;background:#f3f0e8;min-height:520px}.company-hero>div{padding:65px}.company-hero>div>span{font-size:54px;font-weight:800;display:block}.company-hero>div>small{color:var(--red)}.company-hero h1{font-family:Georgia,"Yu Mincho",serif;font-size:44px;font-weight:400;line-height:1.5}.company-hero>img{width:100%;height:100%;object-fit:cover}.company-philosophy{padding:65px 75px;background:#fffdf8;display:grid;grid-template-columns:1fr 1.4fr;gap:60px}.company-message{padding:65px 75px;display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:center}.company-message img{width:100%;max-height:580px;object-fit:cover}.company-message span{color:var(--red);font-size:11px}.company-message h2{font-family:Georgia,"Yu Mincho",serif;font-weight:400;font-size:34px}.company-message small{display:block;color:#777;margin-top:14px}.company-profile,.company-history,.licenses{padding:60px 75px;background:#fbf8f1;border-top:1px solid #d7d0c4}.company-profile dl{display:grid;grid-template-columns:220px 1fr;margin-top:30px;border-top:1px solid #cfc7ba}.company-profile dt,.company-profile dd{padding:16px;border-bottom:1px solid #d9d2c8;margin:0}.company-profile dt{font-weight:700}.company-history ol{list-style:none;padding:0;margin-top:30px}.company-history li{display:grid;grid-template-columns:180px 1fr;padding:17px 0;border-bottom:1px solid #d7d0c4}.company-history b{color:var(--red)}.licenses>div:last-child{columns:2;margin-top:30px}.licenses p{break-inside:avoid;border-bottom:1px solid #d7d0c4;padding:12px 0;margin:0}
/* CONTACT */.page-contact{background:#050606}.page-contact .site-header{background:#030303}.contact-hero{height:300px;position:relative}.contact-hero>img{width:100%;height:100%;object-fit:cover}.contact-shade{position:absolute;inset:0;background:linear-gradient(90deg,#050505 0%,rgba(5,5,5,.78) 35%,rgba(5,5,5,.02) 75%)}.contact-hero>div:last-child{position:absolute;left:5.5%;top:16%}.contact-hero span{color:var(--red);font-size:40px;letter-spacing:.18em}.contact-hero h1{font-family:Georgia,"Yu Mincho",serif;font-weight:400;margin:0;font-size:30px}.contact-hero i{display:block;width:38px;height:2px;background:var(--red);margin:13px 0}.contact-hero p{font-size:13px}.contact-main{display:grid;grid-template-columns:.8fr 1.5fr;gap:45px;padding:50px 70px;background:radial-gradient(circle at 30% 10%,#151718,#060707 65%)}.contact-methods{border-right:1px solid #242424;padding-right:45px}.contact-methods h2,.contact-form h2{font-family:Georgia,"Yu Mincho",serif;font-weight:400;font-size:23px;border-left:3px solid var(--red);padding-left:14px}.contact-methods article{display:grid;grid-template-columns:58px 1fr;gap:18px;padding:27px 0;border-bottom:1px solid #2c2c2c}.contact-methods article>b{width:52px;height:52px;border:1px solid var(--red);border-radius:50%;display:grid;place-items:center;color:var(--red)}.contact-methods span{color:var(--red);font-size:11px}.contact-methods a{display:block;font-size:25px}.contact-methods p{font-size:13px;margin:4px 0}.contact-form label{display:grid;grid-template-columns:170px 1fr;align-items:center;margin:16px 0;font-size:13px}.contact-form label b{color:var(--red);font-size:10px;margin-left:8px}.contact-form label span{color:#777;font-size:10px;margin-left:8px}.contact-form input,.contact-form select,.contact-form textarea{background:#030303;border:1px solid #3b3b3b;color:white;padding:13px 15px;width:100%;font:inherit}.contact-form textarea{resize:vertical}.contact-form button{margin-left:170px;width:calc(100% - 170px);border:0;background:var(--red);color:white;padding:16px;font-weight:700;display:flex;justify-content:center;gap:30px}.hp{position:absolute!important;left:-9999px!important}.contact-brand{padding:38px;text-align:center;background:linear-gradient(135deg,#0a0a0a,#151515)}.contact-brand .brandline{font-size:18px}.contact-brand em{font-style:normal;color:var(--red)}.thanks{padding:130px 70px;background:#0a0a0a;min-height:500px}.thanks span{color:var(--red)}.thanks h1{font-family:Georgia,"Yu Mincho",serif;font-weight:400}
/* BUSINESS HUB */.page-business{background:#080909}.business-hub-hero{padding:80px 70px}.business-hub-hero span{color:var(--red);font-size:48px;font-weight:800}.business-hub-hero h1{font-family:Georgia,"Yu Mincho",serif;font-size:45px;font-weight:400}.business-hub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:0 70px 70px}.business-hub-grid a{border:1px solid #333;padding-bottom:22px}.business-hub-grid img{width:100%;height:260px;object-fit:cover}.business-hub-grid b,.business-hub-grid h2,.business-hub-grid p{margin-left:22px;margin-right:22px}.business-hub-grid b{display:block;color:var(--red);font-size:24px;margin-top:15px}.business-hub-grid h2{font-size:23px}
@media(max-width:980px){.shell-edge,.header-inner,.site-footer{width:100%}.header-inner{height:64px;padding-left:18px}.site-logo{width:150px}.site-logo img{height:39px}.desktop-nav,.header-contact{display:none}.menu-button{display:flex;margin-left:auto;width:64px;height:64px;background:var(--red);border:0;flex-direction:column;justify-content:center;align-items:center;gap:5px}.menu-button i{width:25px;height:2px;background:white}.mobile-menu{position:absolute;top:64px;left:0;right:0;background:#080808;padding:10px 24px 24px;display:none;flex-direction:column}.site-header.menu-open .mobile-menu{display:flex}.mobile-menu a{padding:13px 0;border-bottom:1px solid #222;font-size:13px}.boxed-logo span{width:30px;height:30px;font-size:16px}.home-hero{height:650px}.hero-copy{left:7%;top:15%;right:7%}.hero-copy h1{font-size:38px}.home-business{padding:36px 20px}.home-cards{grid-template-columns:1fr}.home-card{min-height:320px}.home-closing{grid-template-columns:1fr;padding:35px 5px;text-align:center}.home-closing i{display:none}.about-hero{height:650px}.about-hero-copy{left:7%;right:7%;top:8%}.about-hero-copy .big-en{font-size:43px}.about-hero-copy h1{font-size:34px}.about-signature{left:7%;right:7%;bottom:7%;font-size:19px}.about-origin{grid-template-columns:1fr;padding:45px 24px}.about-business{padding:45px 24px}.about-biz-grid{grid-template-columns:1fr}.why-connect{grid-template-columns:1fr;padding:50px 24px}.connect-diagram{min-height:310px}.about-vision{height:560px}.vision-points{flex-direction:column;gap:14px}.eat-hero{height:620px}.eat-hero>div:last-child{left:7%;right:7%}.eat-hero span{font-size:32px}.eat-hero h1{font-size:36px}.restaurant-intro{grid-template-columns:1fr}.restaurant-copy{padding:45px 26px}.restaurant-intro>img{min-height:350px}.eat-gallery,.cuisine{padding:45px 22px}.space-grid{grid-template-columns:1fr 1fr;grid-template-rows:240px 180px 180px}.space-grid img:first-child{grid-column:1/3;grid-row:auto}.space-grid img:last-child{grid-column:1/3}.food-grid{grid-template-columns:1fr}.food-grid img{height:290px}.consult-hero{height:600px}.consult-hero>div:last-child{left:7%;right:7%}.consult-hero h1{font-size:35px}.consult-services,.consult-flow{padding:45px 22px}.service-four{grid-template-columns:1fr}.service-four article{border-right:0;border-bottom:1px solid #cab9a2}.consult-strength,.consult-approach{grid-template-columns:1fr;padding:48px 24px}.strength-visuals{grid-template-columns:1fr}.strength-visuals img{height:300px}.flow-five{grid-template-columns:1fr}.flow-five article{min-height:auto}.construction-hero{grid-template-columns:1fr}.construction-copy{padding:45px 26px}.construction-copy:after{display:none}.construction-copy h1{font-size:35px}.construction-photo{height:370px}.construction-photo em{font-size:40px}.construction-services,.construction-strength,.construction-works,.construction-flow{padding:45px 20px}.construction-title{display:block}.slant-cards{grid-template-columns:1fr}.slant-cards article{min-height:350px;clip-path:polygon(4% 0,100% 0,96% 100%,0 100%)}.construction-strength{grid-template-columns:1fr}.construction-strength-grid{grid-template-columns:1fr 1fr}.construction-work-grid{grid-template-columns:1fr 1fr}.works-hero,.works-list{padding:45px 22px}.works-hero span{font-size:38px}.works-hero h1{font-size:34px}.work-feature{grid-template-columns:1fr;gap:20px}.company-hero{grid-template-columns:1fr}.company-hero>div{padding:45px 26px}.company-hero>div>span{font-size:40px}.company-hero h1{font-size:35px}.company-hero>img{height:330px}.company-philosophy,.company-message{grid-template-columns:1fr;padding:45px 26px}.company-profile,.company-history,.licenses{padding:45px 24px}.company-profile dl{grid-template-columns:1fr}.company-profile dd{padding-top:0}.company-history li{grid-template-columns:1fr}.licenses>div:last-child{columns:1}.contact-hero{height:360px}.contact-hero>div:last-child{left:7%}.contact-main{grid-template-columns:1fr;padding:42px 22px}.contact-methods{border-right:0;padding-right:0}.contact-form label{grid-template-columns:1fr;gap:6px}.contact-form button{margin-left:0;width:100%}.contact-methods a{font-size:22px}.footer-inner{grid-template-columns:1fr;padding:38px 24px}.footer-bottom{padding:22px 24px;flex-direction:column;gap:12px}.footer-bottom .brandline{font-size:11px}.business-hub-hero{padding:45px 24px}.business-hub-grid{grid-template-columns:1fr;padding:0 22px 45px}}
@media(max-width:560px){.header-inner{padding-left:14px}.site-logo{width:132px}.hero-copy h1{font-size:34px}.hero-copy>p:not(.eyebrow):not(.brandline){font-size:14px}.section-title h2,.construction-title h2,.company-title h2{font-size:27px}.about-origin,.about-business,.why-connect,.consult-strength,.consult-approach{padding-left:20px;padding-right:20px}.about-biz-grid img{height:200px}.space-grid{display:grid;grid-template-columns:1fr;grid-template-rows:auto}.space-grid img,.space-grid img:first-child,.space-grid img:last-child{grid-column:auto;grid-row:auto;height:220px}.construction-strength-grid,.construction-work-grid{grid-template-columns:1fr}.contact-methods article{grid-template-columns:48px 1fr}.contact-methods article>b{width:44px;height:44px}.brandline{letter-spacing:.11em}.about-signature,.contact-brand .brandline{font-size:15px}.business-hub-grid img{height:220px}}

/* Header correction: COMPANY / CONTACT approved design */
.page-company .header-inner,.page-contact .header-inner{height:78px}
.page-company .site-logo,.page-contact .site-logo{width:205px}
.page-company .site-logo img,.page-contact .site-logo img{height:52px;width:auto}
.page-company .header-contact,.page-contact .header-contact{height:78px;min-width:178px;justify-content:center;margin-left:28px}
.mail-icon{font-size:18px;line-height:1}.nav-caret{font-size:11px;margin-left:3px}
@media(max-width:980px){.page-company .header-inner,.page-contact .header-inner{height:64px}.page-company .site-logo,.page-contact .site-logo{width:150px}.page-company .site-logo img,.page-contact .site-logo img{height:42px}.page-company .header-contact,.page-contact .header-contact{display:none}}

/* FINAL HEADER FIX — COMPANY / CONTACT
   Keep the approved black header readable regardless of each page's body text color. */
.page-company .site-header,
.page-contact .site-header{color:#fff}
.page-company .desktop-nav a,
.page-contact .desktop-nav a,
.page-company .header-contact,
.page-contact .header-contact,
.page-company .mobile-menu a,
.page-contact .mobile-menu a{color:#fff}
.page-company .header-contact,
.page-contact .header-contact{background:#cf0717}

/* Header color lock — approved design */
.site-header .desktop-nav > a { color:#fff !important; }
.site-header .header-contact { color:#fff !important; }
.site-header .mobile-menu a { color:#fff !important; }
.site-header .menu-button i { background:#fff !important; }

/* v5 header visibility lock — keep every approved dark header legible */
.site-header,
.site-header .header-inner,
.site-header .desktop-nav a,
.site-header .mobile-menu a,
.site-header .site-logo,
.site-header .header-contact {
  color:#fff !important;
}
.site-header .desktop-nav a:visited,
.site-header .mobile-menu a:visited { color:#fff !important; }
.site-header .header-contact,
.site-header .header-contact:visited { color:#fff !important; background:#cf0717 !important; }
.site-header .menu-button i { background:#fff !important; }
.site-header .mobile-menu { background:#070808 !important; color:#fff !important; }
.site-header .desktop-nav a.active::after,
.site-header .desktop-nav a:hover::after { background:#cf0717 !important; }

/* ABOUT WHY WE DO — approved 4-circle relationship diagram */
.page-about .connect-diagram{
  position:relative;
  width:min(100%,560px);
  height:470px;
  min-height:470px;
  margin:0 auto;
  display:block;
}
.page-about .connect-diagram .connect-center,
.page-about .connect-diagram>span{
  position:absolute;
  box-sizing:border-box;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  text-align:center;
  background:transparent;
  transform:none;
}
.page-about .connect-diagram .connect-center{
  width:180px;
  height:180px;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  border:1.5px solid var(--red);
  color:var(--red);
  font-size:24px;
  letter-spacing:.03em;
  z-index:3;
}
.page-about .connect-diagram>span{
  width:220px;
  height:220px;
  border:1px solid #b9b9b9;
  color:#fff;
  font-size:14px;
  z-index:2;
}
.page-about .connect-diagram>span b{font-weight:500;font-size:16px;letter-spacing:.02em}
.page-about .connect-diagram>span small{display:block;margin-top:10px;font-size:11px;color:#d8d8d8;line-height:1.45}
/* Each of the three business circles intentionally intersects the red SKEWS circle. */
.page-about .connect-diagram .connect-eat{
  left:50%;
  top:0;
  transform:translateX(-50%);
}
.page-about .connect-diagram .connect-consult{
  left:2%;
  bottom:0;
}
.page-about .connect-diagram .connect-construction{
  right:2%;
  bottom:0;
}
@media(max-width:980px){
  .page-about .connect-diagram{width:100%;max-width:500px;height:420px;min-height:420px}
  .page-about .connect-diagram .connect-center{width:164px;height:164px;font-size:22px}
  .page-about .connect-diagram>span{width:196px;height:196px}
  .page-about .connect-diagram .connect-consult{left:1%}
  .page-about .connect-diagram .connect-construction{right:1%}
}
@media(max-width:560px){
  .page-about .connect-diagram{width:320px;max-width:100%;height:310px;min-height:310px}
  .page-about .connect-diagram .connect-center{width:126px;height:126px;font-size:18px}
  .page-about .connect-diagram>span{width:142px;height:142px;font-size:11px}
  .page-about .connect-diagram>span b{font-size:12px}
  .page-about .connect-diagram>span small{font-size:9px;margin-top:6px;max-width:115px}
  .page-about .connect-diagram .connect-eat{top:0}
  .page-about .connect-diagram .connect-consult{left:0;bottom:0}
  .page-about .connect-diagram .connect-construction{right:0;bottom:0}
}


/* EAT WORKS reservation CTA */
.eat-reservation-cta {
  margin-top: 28px;
}

.eat-reservation-note {
  margin: 0 0 10px;
  font-size: 0.92rem;
  line-height: 1.7;
  opacity: 0.78;
}

.eat-reservation-button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  width: 100%;
  max-width: 520px;
  padding: 18px 22px;
  border: 1px solid rgba(255,255,255,0.28);
  border-radius: 4px;
  background: #7a3f2a;
  color: #fff;
  text-decoration: none;
  font-weight: 700;
  letter-spacing: 0.04em;
  transition: transform .2s ease, opacity .2s ease;
}

.eat-reservation-button:hover {
  transform: translateY(-1px);
  opacity: .9;
}

.eat-reservation-button:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}

.eat-reservation-button-arrow {
  flex: 0 0 auto;
  font-size: 1.25em;
  line-height: 1;
}

@media (max-width: 700px) {
  .eat-reservation-cta {
    margin-top: 22px;
  }

  .eat-reservation-button {
    max-width: none;
    padding: 16px 18px;
    font-size: 0.95rem;
  }
}


/* EAT WORKS latest news / Instagram */
.eat-news {
  padding-top: 74px;
  padding-bottom: 78px;
  background: #f4ede2;
  color: #3d2d25;
}
.eat-news-heading {
  max-width: 760px;
  margin-bottom: 30px;
}
.eat-news-heading p {
  max-width: 640px;
  margin: 14px 0 0;
  line-height: 1.9;
  color: rgba(61,45,37,.72);
}
.eat-news-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 20px;
}
.eat-news-card {
  display: block;
  overflow: hidden;
  background: #fffaf2;
  color: inherit;
  text-decoration: none;
  border: 1px solid rgba(92,62,44,.13);
  transition: transform .25s ease, box-shadow .25s ease;
}
.eat-news-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 34px rgba(75,48,31,.10);
}
.eat-news-card:focus-visible {
  outline: 2px solid #8c3f2d;
  outline-offset: 3px;
}
.eat-news-image {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #d8c8b8;
}
.eat-news-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
}
.eat-news-card:hover .eat-news-image img { transform: scale(1.025); }
.eat-news-instagram-mark {
  position: absolute;
  right: 12px;
  top: 12px;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: rgba(255,255,255,.9);
  color: #8c3f2d;
  font-size: 21px;
  font-weight: 700;
}
.eat-news-body { padding: 22px 22px 24px; }
.eat-news-label {
  display: block;
  margin-bottom: 9px;
  color: #9a4a35;
  font-size: .74rem;
  font-weight: 700;
  letter-spacing: .13em;
}
.eat-news-body h3 {
  margin: 0 0 10px;
  font-size: 1.12rem;
  line-height: 1.5;
}
.eat-news-body p {
  margin: 0;
  min-height: 4.9em;
  font-size: .9rem;
  line-height: 1.8;
  color: rgba(61,45,37,.72);
}
.eat-news-link {
  display: inline-block;
  margin-top: 18px;
  color: #8c3f2d;
  font-size: .84rem;
  font-weight: 700;
}
.eat-instagram-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-top: 24px;
  padding: 25px 28px;
  background: #4b3027;
  color: #fff;
}
.eat-instagram-cta div > span {
  display: block;
  margin-bottom: 5px;
  color: #d9a18e;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .14em;
}
.eat-instagram-cta strong {
  font-size: 1.08rem;
  letter-spacing: .02em;
}
.eat-instagram-cta a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  min-width: 235px;
  padding: 14px 18px;
  background: #9a4a35;
  color: #fff;
  text-decoration: none;
  font-weight: 700;
  font-size: .9rem;
}
.eat-instagram-cta a:hover { opacity: .9; }
.eat-instagram-cta a:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
@media (max-width: 900px) {
  .eat-news-grid { grid-template-columns: 1fr; }
  .eat-news-card { display: grid; grid-template-columns: 42% 1fr; }
  .eat-news-image { aspect-ratio: auto; min-height: 230px; }
  .eat-news-body p { min-height: 0; }
}
@media (max-width: 620px) {
  .eat-news { padding-top: 54px; padding-bottom: 58px; }
  .eat-news-grid { gap: 16px; }
  .eat-news-card { display: block; }
  .eat-news-image { aspect-ratio: 4 / 3; min-height: 0; }
  .eat-news-body { padding: 18px 18px 21px; }
  .eat-instagram-cta { align-items: stretch; flex-direction: column; padding: 22px 20px; }
  .eat-instagram-cta a { width: 100%; min-width: 0; }
}

/* EAT WORKS Instagram feed refinement 2026-09-04 */
@media (min-width: 901px) {
  .eat-news { padding-top: 64px; padding-bottom: 68px; }
  .eat-news-heading { margin-bottom: 24px; }
  .eat-news-grid { gap: 18px; }
  .eat-news-card { display: flex; flex-direction: column; }
  .eat-news-image { aspect-ratio: 16 / 10; }
  .eat-news-body { padding: 18px 20px 20px; }
  .eat-news-body h3 { font-size: 1.02rem; margin-bottom: 7px; }
  .eat-news-body p {
    min-height: 0;
    font-size: .86rem;
    line-height: 1.72;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .eat-news-link { margin-top: 14px; }
  .eat-news-instagram-mark { width: 30px; height: 30px; font-size: 18px; }
}
@media (min-width: 621px) and (max-width: 900px) {
  .eat-news-card { grid-template-columns: 38% 1fr; }
  .eat-news-image { min-height: 200px; }
  .eat-news-body { padding: 20px; }
  .eat-news-body p {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
}
@media (max-width: 620px) {
  .eat-news-image { aspect-ratio: 16 / 11; }
  .eat-news-body p {
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
}

/* EAT WORKS Instagram centered cards / wider side margins 2026-09-04 */
@media (min-width: 981px) {
  .eat-news-grid {
    width: min(1120px, calc(100% - 120px));
    margin-inline: auto;
    gap: 24px;
  }
}
@media (min-width: 901px) and (max-width: 980px) {
  .eat-news-grid {
    width: calc(100% - 72px);
    margin-inline: auto;
  }
}
@media (max-width: 900px) {
  .eat-news-grid { width: auto; margin-inline: 0; }
}

/* EAT WORKS Today's Recommendation 2026-09-04 */
.eat-special{
  background:#f4ede2;
  color:#3a2418;
  padding-top:68px;
  padding-bottom:76px;
}
.eat-special-heading{margin-bottom:30px;}
.eat-special-menu{
  width:min(760px, calc(100% - 80px));
  margin-inline:auto;
  text-align:center;
}
.eat-special-menu-link{
  display:block;
  background:#fffaf2;
  padding:16px;
  border:1px solid rgba(87,54,36,.16);
  box-shadow:0 14px 34px rgba(57,35,24,.12);
  transition:transform .2s ease, box-shadow .2s ease;
}
.eat-special-menu-link:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 40px rgba(57,35,24,.16);
}
.eat-special-menu img{
  display:block;
  width:100%;
  height:auto;
}
.eat-special-note{
  margin:12px 0 0;
  font-size:.78rem;
  letter-spacing:.04em;
  color:#876f60;
}
@media (max-width:900px){
  .eat-special{padding-top:54px;padding-bottom:60px;}
  .eat-special-menu{width:min(680px, calc(100% - 40px));}
  .eat-special-menu-link{padding:10px;}
}
@media (max-width:620px){
  .eat-special{padding-top:46px;padding-bottom:52px;}
  .eat-special-heading{margin-bottom:22px;}
  .eat-special-menu{width:100%;}
  .eat-special-menu-link{padding:7px;}
  .eat-special-note{font-size:.72rem;}
}

/* EAT WORKS Menu thumbnail gallery 2026-09-04 FIX */
.eat-special .eat-special-menu{display:none !important;}
.eat-special .eat-special-gallery{
  width:min(1040px, calc(100% - 140px));
  margin-inline:auto;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:24px;
  align-items:start;
}
.eat-special .eat-special-card{
  width:100%;
  max-width:320px;
  margin:0;
  background:#fffaf2;
  border:1px solid rgba(87,54,36,.16);
  box-shadow:0 10px 26px rgba(57,35,24,.09);
  overflow:hidden;
}
.eat-special .eat-special-thumb{
  display:block;
  padding:8px;
  background:#fffdf8;
  overflow:hidden;
}
.eat-special .eat-special-thumb img{
  display:block;
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  margin:0 !important;
  transition:transform .25s ease;
}
.eat-special .eat-special-thumb:hover img{transform:scale(1.018);}
.eat-special .eat-special-card-body{padding:14px 16px 17px;text-align:left;}
.eat-special .eat-special-card-body span{display:block;color:#a94a3c;font-size:.67rem;font-weight:700;letter-spacing:.12em;margin-bottom:5px;}
.eat-special .eat-special-card-body h3{margin:0;color:#3a2418;font-size:1rem;font-weight:600;}
.eat-special .eat-special-card-body p{margin:7px 0 0;color:#876f60;font-size:.72rem;line-height:1.6;}
@media (min-width:901px){
  .eat-special .eat-special-gallery{justify-items:start;}
}
@media (max-width:900px){
  .eat-special .eat-special-gallery{width:calc(100% - 48px);grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
  .eat-special .eat-special-card{max-width:100%;}
}
@media (max-width:620px){
  .eat-special .eat-special-gallery{width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
  .eat-special .eat-special-thumb{padding:6px;}
  .eat-special .eat-special-card-body{padding:11px 10px 13px;}
  .eat-special .eat-special-card-body span{font-size:.58rem;}
  .eat-special .eat-special-card-body h3{font-size:.88rem;}
  .eat-special .eat-special-card-body p{font-size:.66rem;}
}

/* EAT WORKS -> Lo Sa Il Mare store gateway */
.eatworks-store{padding:84px 7%;background:#efe7d8;}
.eatworks-store-card{max-width:1120px;margin:34px auto 0;display:grid;grid-template-columns:1.08fr .92fr;background:#f8f2e8;box-shadow:0 16px 45px rgba(40,25,16,.12);}
.eatworks-store-card>img{width:100%;height:100%;min-height:420px;object-fit:cover;}
.eatworks-store-card>div{padding:54px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;}
.eatworks-store-card .lo-logo{width:min(310px,85%);height:auto;margin-bottom:24px;}
.eatworks-store-card p{line-height:2;margin:0 0 30px;color:#4c4036;}
@media(max-width:980px){.eatworks-store{padding:58px 24px}.eatworks-store-card{grid-template-columns:1fr}.eatworks-store-card>img{min-height:0;aspect-ratio:4/3}.eatworks-store-card>div{padding:32px 24px}.eatworks-store-card .lo-logo{width:min(280px,82%)}}

/* Lo Sa Il Mare standalone restaurant site */
.page-losa{background:#24160f;color:#2d1d15}
.page-losa .losa-header{position:absolute;z-index:40;top:0;left:0;right:0;background:linear-gradient(180deg,rgba(20,10,5,.88),rgba(20,10,5,.42),transparent);color:#fff}
.page-losa .losa-header-inner{max-width:1460px;margin:auto;min-height:112px;padding:18px 34px;display:flex;align-items:center;gap:28px}
.page-losa .losa-brand{display:flex;align-items:center;gap:22px;min-width:410px;color:#fff;text-decoration:none}
.page-losa .losa-brand img{width:245px;height:auto;filter:brightness(0) invert(1)}
.page-losa .losa-brand-copy{border-left:1px solid rgba(255,255,255,.55);padding-left:22px;font-family:serif;font-size:16px;line-height:1.55;letter-spacing:.08em}
.page-losa .losa-nav{display:flex;align-items:center;justify-content:flex-end;gap:25px;margin-left:auto}
.page-losa .losa-nav a{color:#fff;text-decoration:none;text-align:center;font-family:Georgia,"Times New Roman",serif;font-size:15px;letter-spacing:.04em;white-space:nowrap}
.page-losa .losa-nav a small{display:block;margin-top:5px;font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;font-size:10px;font-weight:400;letter-spacing:.08em;opacity:.9}
.page-losa .losa-book{display:flex;align-items:center;gap:12px;background:#7e1719;color:#fff;text-decoration:none;padding:19px 24px;border:1px solid rgba(255,255,255,.55);font-weight:700;white-space:nowrap}
.page-losa .losa-menu-button{display:none;background:none;border:0;width:44px;height:44px;padding:9px}.page-losa .losa-menu-button i{display:block;height:1px;background:#fff;margin:7px 0}
.page-losa .losa-mobile-menu{display:none}
.page-losa .eat-hero{min-height:760px;padding-top:120px}
.page-losa .eat-hero>div:last-child{max-width:760px;bottom:115px}
.page-losa .eat-hero>div:last-child>span,.page-losa .eat-hero>div:last-child>small{display:none}
.page-losa .eat-hero h1{font-size:clamp(42px,4.4vw,72px);font-weight:400;line-height:1.35;letter-spacing:.06em}
.page-losa .eat-hero p{font-size:18px;letter-spacing:.08em}
.page-losa .restaurant-intro,.page-losa .eat-gallery,.page-losa .cuisine,.page-losa .eat-news,.page-losa .eat-special{background:#f3ead9;color:#38251b}
.page-losa .restaurant-intro .restaurant-copy,.page-losa .restaurant-intro .restaurant-copy p,.page-losa .section-title.warm h2,.page-losa .section-title.warm p{color:#38251b}
.page-losa .restaurant-intro .restaurant-copy>span,.page-losa .section-title.warm>span{color:#a33b2c}
.page-losa .losa-footer{background:#160d09;color:#eee0ce;padding:54px 6% 26px}
.page-losa .losa-footer-inner{max-width:1220px;margin:auto;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:45px;align-items:start}
.page-losa .losa-footer-logo{width:260px;filter:brightness(0) invert(1);margin-bottom:18px}.page-losa .losa-footer p{line-height:1.9;margin:5px 0}.page-losa .losa-footer a{color:#eee0ce;text-decoration:none}.page-losa .losa-footer-nav{display:grid;grid-template-columns:1fr 1fr;gap:12px}.page-losa .losa-footer-bottom{max-width:1220px;margin:35px auto 0;padding-top:20px;border-top:1px solid rgba(255,255,255,.18);display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#bba998}
@media(max-width:1100px){.page-losa .losa-brand{min-width:auto}.page-losa .losa-brand-copy{display:none}.page-losa .losa-nav{gap:14px}.page-losa .losa-nav a{font-size:13px}.page-losa .losa-book{padding:16px 18px}}
@media(max-width:860px){.page-losa .losa-header{position:absolute}.page-losa .losa-header-inner{min-height:78px;padding:12px 18px;gap:12px}.page-losa .losa-brand img{width:180px}.page-losa .losa-nav{display:none}.page-losa .losa-book{margin-left:auto;padding:12px 14px;font-size:13px}.page-losa .losa-menu-button{display:block}.page-losa .losa-mobile-menu.open{display:grid;background:rgba(22,13,9,.98);padding:12px 22px 24px}.page-losa .losa-mobile-menu a{color:#fff;text-decoration:none;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.12)}.page-losa .losa-mobile-menu small{margin-left:8px;opacity:.65}.page-losa .eat-hero{min-height:620px;padding-top:80px}.page-losa .eat-hero>div:last-child{bottom:70px}.page-losa .losa-footer-inner{grid-template-columns:1fr}.page-losa .losa-footer-bottom{display:block}.page-losa .losa-footer-bottom span{display:block;margin-bottom:8px}}


/* Lo Sa Il Mare header logo — restore original brand colors */
.page-losa .losa-brand{
  background:rgba(248,240,227,.96);
  padding:10px 14px;
  border-radius:2px;
  box-shadow:0 4px 18px rgba(0,0,0,.12);
}
.page-losa .losa-brand img{
  filter:none !important;
}
.page-losa .losa-brand-copy{
  color:#4a2d1d;
  border-left-color:rgba(74,45,29,.28);
}
@media(max-width:1100px){
  .page-losa .losa-brand{padding:8px 12px}
}
@media(max-width:860px){
  .page-losa .losa-brand{
    padding:7px 10px;
    max-width:205px;
  }
  .page-losa .losa-brand img{width:180px}
}

/* 2026-09-05 Lo Sa Il Mare header logo definitive color fix */
html body.page-losa .losa-header .losa-brand{
  background:#f5ead8 !important;
  padding:8px 12px !important;
  border-radius:2px !important;
}
html body.page-losa .losa-header .losa-brand img{
  filter:none !important;
  -webkit-filter:none !important;
  opacity:1 !important;
}
html body.page-losa .losa-header .losa-brand-copy{
  color:#4a2d1d !important;
  border-left-color:rgba(74,45,29,.30) !important;
}

/* 2026-09-05 Lo Sa Il Mare header — warm dark brown / no logo box */
html body.page-losa .losa-header{
  background:linear-gradient(180deg,rgba(48,27,17,.96) 0%,rgba(48,27,17,.82) 58%,rgba(48,27,17,.18) 88%,transparent 100%) !important;
}
html body.page-losa .losa-header .losa-brand{
  background:transparent !important;
  padding:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
html body.page-losa .losa-header .losa-brand img{
  filter:none !important;
  -webkit-filter:none !important;
  opacity:1 !important;
}
html body.page-losa .losa-header .losa-brand-copy{
  color:#f5ead8 !important;
  border-left-color:rgba(245,234,216,.42) !important;
}
@media(max-width:860px){
  html body.page-losa .losa-header .losa-brand{
    max-width:none !important;
    padding:0 !important;
  }
}

/* 2026-09-05 Lo Sa Il Mare final visual refinements */
html body.page-losa .losa-header .losa-brand img,
html body.page-losa .losa-footer img{
  filter:none !important;
  -webkit-filter:none !important;
  opacity:1 !important;
}

/* Make the concept/copy section readable on the light background */
html body.page-losa .losa-intro,
html body.page-losa .losa-concept{
  color:#3b2418 !important;
}
html body.page-losa .losa-intro h2,
html body.page-losa .losa-intro h3,
html body.page-losa .losa-concept h2,
html body.page-losa .losa-concept h3{
  color:#321d13 !important;
  text-shadow:none !important;
}
html body.page-losa .losa-intro p,
html body.page-losa .losa-concept p{
  color:#4b3326 !important;
  opacity:1 !important;
  text-shadow:none !important;
}

/* Exact current copy section fallback selectors */
html body.page-losa section:has(h2) h2{
  text-shadow:none;
}

/* 2026-09-05 v3 definitive Lo Sa Il Mare fixes */
html body.page-losa .losa-header .losa-brand img,
html body.page-losa .losa-footer .losa-footer-logo{
  filter:none !important;
  -webkit-filter:none !important;
  opacity:1 !important;
}

/* Exact section: 食とお酒と、心地よい時間。 */
html body.page-losa .eat-atmosphere{
  background:#f3eadb !important;
}
html body.page-losa .eat-atmosphere > div,
html body.page-losa .eat-atmosphere > div span,
html body.page-losa .eat-atmosphere > div h2,
html body.page-losa .eat-atmosphere > div p{
  color:#3b2418 !important;
  opacity:1 !important;
  text-shadow:none !important;
}
html body.page-losa .eat-atmosphere > div span{
  color:#a84232 !important;
}
html body.page-losa .eat-atmosphere > div h2{
  color:#2f1c13 !important;
}
html body.page-losa .eat-atmosphere > div p{
  color:#4b3326 !important;
}

/* Keep the footer dark so the white logo reads correctly */
html body.page-losa .losa-footer{
  background:#2f190f !important;
}

/* 2026-09-05 FINAL APPROVED Lo Sa Il Mare design */

/* Header / footer branding */
html body.page-losa .losa-header{
  background:rgba(47,25,15,.96) !important;
}
html body.page-losa .losa-header .losa-brand{
  background:transparent !important;
  box-shadow:none !important;
  padding:0 !important;
}
html body.page-losa .losa-header .losa-brand img{
  filter:none !important;
  -webkit-filter:none !important;
}
html body.page-losa .losa-footer{
  background:#2f190f !important;
}
html body.page-losa .losa-footer img{
  filter:none !important;
  -webkit-filter:none !important;
}

/* OUR RESTAURANT uses the original brown logo on light background */
html body.page-losa .eat-restaurant,
html body.page-losa .losa-restaurant{
  background:#f2e8d8 !important;
  color:#3b2418 !important;
}
html body.page-losa .eat-restaurant img,
html body.page-losa .losa-restaurant img{
  filter:none !important;
  -webkit-filter:none !important;
}

/* Food & wine copy block: translucent light panel over photography */
html body.page-losa .eat-atmosphere{
  position:relative !important;
  background-color:transparent !important;
}
html body.page-losa .eat-atmosphere > div{
  background:rgba(246,238,225,.70) !important;
  color:#3a2418 !important;
  padding:34px 40px !important;
  border:1px solid rgba(255,255,255,.28) !important;
  box-shadow:0 8px 30px rgba(35,18,10,.10) !important;
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
}
html body.page-losa .eat-atmosphere > div h2,
html body.page-losa .eat-atmosphere > div h3,
html body.page-losa .eat-atmosphere > div p,
html body.page-losa .eat-atmosphere > div span{
  color:#3a2418 !important;
  opacity:1 !important;
  text-shadow:none !important;
}
html body.page-losa .eat-atmosphere > div span{
  color:#9b3c30 !important;
}

/* Reservation CTA */
html body.page-losa .losa-reserve,
html body.page-losa a[href*="owst.jp"]{
  background:#8d1718 !important;
  color:#fff !important;
}

/* Mobile refinement */
@media(max-width:860px){
  html body.page-losa .eat-atmosphere > div{
    background:rgba(246,238,225,.78) !important;
    padding:24px 22px !important;
  }
}


/* 2026-09-05 verified approved atmosphere treatment */
html body.page-losa .eat-atmosphere > div{
  background:rgba(45,27,18,.46) !important;
  color:#fff8ee !important;
  border:1px solid rgba(255,255,255,.18) !important;
  box-shadow:0 8px 28px rgba(20,10,5,.16) !important;
  backdrop-filter:blur(1px) !important;
  -webkit-backdrop-filter:blur(1px) !important;
}
html body.page-losa .eat-atmosphere > div h2,
html body.page-losa .eat-atmosphere > div h3,
html body.page-losa .eat-atmosphere > div p{
  color:#fff8ee !important;
  opacity:1 !important;
  text-shadow:0 1px 2px rgba(0,0,0,.20) !important;
}
html body.page-losa .eat-atmosphere > div span{
  color:#ead8c3 !important;
  opacity:1 !important;
}
html body.page-losa .eat-atmosphere img{
  filter:brightness(.78) !important;
}
@media(max-width:860px){
  html body.page-losa .eat-atmosphere > div{
    background:rgba(45,27,18,.54) !important;
  }
}


/* 2026-09-05 v5 — ONLY the three approved fixes */

/* 1) Desktop: keep headline on one line. Do not alter panel size/position. */
@media (min-width: 981px){
  html body.page-losa .eat-atmosphere > div h2{
    white-space:nowrap !important;
  }
}

/* 2) Prevent translucent panel from bleeding into footer.
      Keep existing layout, sizing, position and image treatment unchanged. */
html body.page-losa .eat-atmosphere{
  overflow:hidden !important;
}
html body.page-losa .eat-atmosphere > div{
  box-sizing:border-box !important;
  max-height:calc(100% - 24px) !important;
}

/* 3) Footer WEB予約 button only. */
html body.page-losa .losa-footer a[href*="owst.jp"]{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:12px !important;
  min-width:184px !important;
  min-height:56px !important;
  padding:0 24px !important;
  background:#a7191d !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.30) !important;
  text-decoration:none !important;
  font-weight:700 !important;
  line-height:1 !important;
}
html body.page-losa .losa-footer a[href*="owst.jp"]::after{
  content:"→" !important;
  margin-left:4px !important;
  color:#fff !important;
}
html body.page-losa .losa-footer a[href*="owst.jp"]:hover{
  background:#8d1718 !important;
}

/* Mobile keeps natural wrapping. */
@media (max-width: 980px){
  html body.page-losa .eat-atmosphere > div h2{
    white-space:normal !important;
  }
}


/* 2026-09-05 v6 — final headline fit only */
@media (min-width: 981px){
  html body.page-losa .eat-atmosphere > div h2{
    white-space:nowrap !important;
    font-size:clamp(30px,2.25vw,40px) !important;
    letter-spacing:-0.03em !important;
  }
}


/* =========================================================
   2026-09-05 MOBILE REBUILD
   PC styles remain untouched. Applies only <= 980px.
   ========================================================= */
@media (max-width:980px){

  /* ---------- Lo Sa Il Mare mobile ---------- */
  html body.page-losa{overflow-x:hidden;}
  html body.page-losa .shell-edge{
    width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }

  html body.page-losa .losa-header{
    position:absolute !important;
    background:rgba(47,25,15,.96) !important;
  }
  html body.page-losa .losa-header-inner{
    min-height:64px !important;
    padding:8px 12px !important;
    gap:8px !important;
  }
  html body.page-losa .losa-brand{
    min-width:0 !important;
    flex:1 1 auto !important;
  }
  html body.page-losa .losa-brand img{
    width:142px !important;
    max-width:142px !important;
    height:auto !important;
  }
  html body.page-losa .losa-brand-copy{display:none !important;}
  html body.page-losa .losa-book{
    min-width:88px !important;
    min-height:40px !important;
    padding:0 10px !important;
    font-size:11px !important;
    gap:5px !important;
    justify-content:center !important;
  }
  html body.page-losa .losa-menu-button{
    width:42px !important;
    height:42px !important;
    flex:0 0 42px !important;
  }
  html body.page-losa .losa-mobile-menu.open{
    padding:10px 18px 20px !important;
  }

  html body.page-losa .eat-hero{
    height:540px !important;
    min-height:540px !important;
    padding-top:64px !important;
  }
  html body.page-losa .eat-hero>img{
    height:100% !important;
    object-position:54% center !important;
  }
  html body.page-losa .eat-hero>div:last-child{
    left:22px !important;
    right:22px !important;
    top:auto !important;
    bottom:42px !important;
    max-width:none !important;
  }
  html body.page-losa .eat-hero span{font-size:25px !important;}
  html body.page-losa .eat-hero h1{
    font-size:31px !important;
    line-height:1.45 !important;
    margin:.6em 0 .7em !important;
  }
  html body.page-losa .eat-hero p{
    font-size:13px !important;
    line-height:1.9 !important;
  }

  html body.page-losa .restaurant-intro{
    display:flex !important;
    flex-direction:column !important;
  }
  html body.page-losa .restaurant-copy{
    padding:38px 22px 34px !important;
  }
  html body.page-losa .restaurant-copy .lo-logo{
    width:min(270px,88%) !important;
    margin:18px 0 20px !important;
  }
  html body.page-losa .restaurant-copy p{
    font-size:13px !important;
    line-height:2 !important;
  }
  html body.page-losa .restaurant-intro>img{
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:4/3 !important;
    object-fit:cover !important;
  }

  html body.page-losa .eat-gallery,
  html body.page-losa .cuisine,
  html body.page-losa .eat-news,
  html body.page-losa .eat-special{
    padding-left:18px !important;
    padding-right:18px !important;
  }
  html body.page-losa .section-title h2{
    font-size:27px !important;
    line-height:1.5 !important;
  }

  html body.page-losa .space-grid{
    grid-template-columns:1fr 1fr !important;
    grid-template-rows:auto !important;
    gap:8px !important;
  }
  html body.page-losa .space-grid img{
    height:180px !important;
    grid-column:auto !important;
    grid-row:auto !important;
  }
  html body.page-losa .space-grid img:first-child{
    grid-column:1/3 !important;
    height:230px !important;
  }
  html body.page-losa .space-grid img:last-child{
    grid-column:1/3 !important;
    height:190px !important;
  }

  html body.page-losa .food-grid{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
  html body.page-losa .food-grid img{height:225px !important;}

  html body.page-losa #info .restaurant-copy{
    padding:26px 0 4px !important;
  }
  html body.page-losa .eat-reservation-button{
    width:100% !important;
    box-sizing:border-box !important;
  }

  html body.page-losa .eat-news-grid{
    width:100% !important;
    grid-template-columns:1fr !important;
    gap:14px !important;
  }
  html body.page-losa .eat-news-card{display:block !important;}
  html body.page-losa .eat-news-image{
    aspect-ratio:16/10 !important;
    min-height:0 !important;
  }

  html body.page-losa .eat-special .eat-special-gallery{
    width:100% !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
  }

  html body.page-losa .eat-atmosphere{
    min-height:360px !important;
    height:360px !important;
    overflow:hidden !important;
    position:relative !important;
  }
  html body.page-losa .eat-atmosphere img{
    height:360px !important;
    filter:brightness(.72) !important;
    object-position:center center !important;
  }
  html body.page-losa .eat-atmosphere>div{
    left:18px !important;
    right:18px !important;
    top:auto !important;
    bottom:22px !important;
    width:auto !important;
    max-width:none !important;
    max-height:none !important;
    margin:0 !important;
    padding:22px 20px !important;
    background:rgba(45,27,18,.48) !important;
    color:#fff8ee !important;
    border:1px solid rgba(255,255,255,.18) !important;
    backdrop-filter:blur(2px) !important;
    -webkit-backdrop-filter:blur(2px) !important;
    box-sizing:border-box !important;
  }
  html body.page-losa .eat-atmosphere>div h2{
    white-space:normal !important;
    font-size:27px !important;
    line-height:1.45 !important;
    letter-spacing:-.02em !important;
    color:#fff8ee !important;
    margin:10px 0 12px !important;
  }
  html body.page-losa .eat-atmosphere>div p{
    font-size:12px !important;
    line-height:1.8 !important;
    color:#fff8ee !important;
    margin:0 !important;
  }
  html body.page-losa .eat-atmosphere>div span{color:#f3d2ad !important;}

  html body.page-losa .losa-footer{
    padding:36px 20px 22px !important;
  }
  html body.page-losa .losa-footer-inner{
    grid-template-columns:1fr !important;
    gap:26px !important;
  }
  html body.page-losa .losa-footer-logo{
    width:220px !important;
    margin-bottom:12px !important;
  }
  html body.page-losa .losa-footer-nav{
    grid-template-columns:1fr 1fr !important;
    gap:10px 16px !important;
  }
  html body.page-losa .losa-footer a[href*="owst.jp"]{
    grid-column:1/3 !important;
    width:100% !important;
    min-width:0 !important;
    min-height:50px !important;
    margin-top:6px !important;
  }
  html body.page-losa .losa-footer-bottom{
    margin-top:26px !important;
    padding-top:18px !important;
    line-height:1.7 !important;
  }

  /* ---------- SKEWS EAT WORKS mobile ---------- */
  html body.page-eat:not(.page-losa) .shell-edge{
    width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
  html body.page-eat:not(.page-losa) .eat-hero{
    height:560px !important;
    min-height:560px !important;
  }
  html body.page-eat:not(.page-losa) .eat-hero>img{
    object-position:58% center !important;
  }
  html body.page-eat:not(.page-losa) .eat-hero>div:last-child{
    left:22px !important;
    right:22px !important;
    top:auto !important;
    bottom:48px !important;
    max-width:none !important;
  }
  html body.page-eat:not(.page-losa) .eat-hero span{font-size:28px !important;}
  html body.page-eat:not(.page-losa) .eat-hero h1{
    font-size:32px !important;
    line-height:1.45 !important;
  }
  html body.page-eat:not(.page-losa) .eat-hero p{
    font-size:13px !important;
    line-height:1.9 !important;
  }

  html body.page-eat:not(.page-losa) .restaurant-intro{
    display:flex !important;
    flex-direction:column !important;
  }
  html body.page-eat:not(.page-losa) .restaurant-copy{
    padding:42px 22px !important;
  }
  html body.page-eat:not(.page-losa) .restaurant-copy h2{
    font-size:29px !important;
    line-height:1.55 !important;
  }
  html body.page-eat:not(.page-losa) .restaurant-copy p{
    font-size:13px !important;
    line-height:2 !important;
  }
  html body.page-eat:not(.page-losa) .restaurant-intro>img{
    min-height:0 !important;
    height:auto !important;
    aspect-ratio:4/3 !important;
    object-fit:cover !important;
  }

  html body.page-eat:not(.page-losa) .eatworks-store{
    padding:44px 18px !important;
    background:#efe7d8 !important;
    color:#38251b !important;
  }
  html body.page-eat:not(.page-losa) .eatworks-store .section-title{
    margin-bottom:22px !important;
  }
  html body.page-eat:not(.page-losa) .eatworks-store .section-title h2{
    color:#38251b !important;
    font-size:28px !important;
    line-height:1.4 !important;
  }
  html body.page-eat:not(.page-losa) .eatworks-store .section-title p{
    color:#655247 !important;
    font-size:13px !important;
    line-height:1.8 !important;
  }
  html body.page-eat:not(.page-losa) .eatworks-store-card{
    display:flex !important;
    flex-direction:column !important;
    margin-top:0 !important;
    background:#f8f2e8 !important;
    box-shadow:none !important;
  }
  html body.page-eat:not(.page-losa) .eatworks-store-card>img{
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:4/3 !important;
    object-fit:cover !important;
  }
  html body.page-eat:not(.page-losa) .eatworks-store-card>div{
    padding:26px 20px 28px !important;
    background:#f8f2e8 !important;
  }
  html body.page-eat:not(.page-losa) .eatworks-store-card .lo-logo{
    width:min(250px,88%) !important;
    margin:0 0 18px !important;
    filter:none !important;
    -webkit-filter:none !important;
  }
  html body.page-eat:not(.page-losa) .eatworks-store-card p{
    font-size:12px !important;
    line-height:1.9 !important;
    color:#514238 !important;
    margin-bottom:20px !important;
  }
  html body.page-eat:not(.page-losa) .eatworks-store-card .eat-reservation-button{
    width:100% !important;
    box-sizing:border-box !important;
  }

  html body.page-eat:not(.page-losa) .eat-atmosphere{
    height:340px !important;
    min-height:340px !important;
    overflow:hidden !important;
  }
  html body.page-eat:not(.page-losa) .eat-atmosphere img{
    height:340px !important;
    filter:brightness(.60) !important;
    object-position:center center !important;
  }
  html body.page-eat:not(.page-losa) .eat-atmosphere>div{
    left:20px !important;
    right:20px !important;
    top:auto !important;
    bottom:28px !important;
    max-width:none !important;
    width:auto !important;
  }
  html body.page-eat:not(.page-losa) .eat-atmosphere h2{
    font-size:28px !important;
    line-height:1.45 !important;
    margin:10px 0 12px !important;
  }
  html body.page-eat:not(.page-losa) .eat-atmosphere p{
    font-size:12px !important;
    line-height:1.8 !important;
  }

  html body.page-eat:not(.page-losa) .footer-inner{
    padding-left:22px !important;
    padding-right:22px !important;
  }
  html body.page-eat:not(.page-losa) .footer-nav{
    grid-template-columns:1fr 1fr !important;
  }
}


/* =========================================================
   2026-09-05 THREE REQUESTED FIXES
   1. Lo Sa Il Mare mobile closing headline: keep in one line.
   2. EAT WORKS mobile OUR EAT WORKS headline: natural two lines.
   3. EAT WORKS PC OUR RESTAURANT copy: dark brown on ivory.
   ========================================================= */

/* 1 */
@media (max-width:980px){
  html body.page-losa .eat-atmosphere > div h2{
    white-space:nowrap !important;
    font-size:clamp(20px,5.4vw,26px) !important;
    letter-spacing:-0.045em !important;
  }

  /* 2 */
  html body.page-eat:not(.page-losa) .restaurant-copy h2{
    font-size:clamp(25px,7.2vw,29px) !important;
    letter-spacing:-0.045em !important;
    line-height:1.55 !important;
    word-break:keep-all !important;
  }
}

/* 3 — EAT WORKS only, desktop/tablet OUR RESTAURANT heading/copy */
html body.page-eat:not(.page-losa) .eatworks-store .section-title h2,
html body.page-eat:not(.page-losa) .eatworks-store .section-title p{
  color:#3b2418 !important;
  opacity:1 !important;
  text-shadow:none !important;
}
html body.page-eat:not(.page-losa) .eatworks-store .section-title > span,
html body.page-eat:not(.page-losa) .eatworks-store .eyebrow{
  color:#a84232 !important;
  opacity:1 !important;
}
