@font-face{font-family:Jakarta;src:url('assets/jakarta.woff2') format('woff2');font-weight:200 800;font-display:swap}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:#faf9f5;color:#102b29;font-family:Jakarta,Arial,sans-serif;font-size:16px;line-height:1.65}
button,input,select,textarea{font:inherit}a{color:inherit;text-underline-offset:4px}button,a,summary,input,select,textarea{-webkit-tap-highlight-color:transparent}
a:hover{color:#102b29;text-decoration:underline;text-decoration-thickness:2px}.packages a:hover{color:#b3f5df}button{cursor:pointer}
:focus-visible{outline:3px solid #be256e;outline-offset:4px}.packages :focus-visible{outline-color:#faf9f5}
.wrap{width:min(1240px,calc(100% - 80px));margin:auto}
.preview{position:sticky;top:0;z-index:20;background:#102b29;color:white;text-align:center;font-size:14px;padding:9px 12px}
.skip{position:fixed;top:-150px;z-index:50;background:#faf9f5;padding:12px;min-height:44px;min-width:44px}.skip:focus{top:70px}
header{display:flex;align-items:center;justify-content:space-between;min-height:130px;gap:20px}.logo{width:180px;height:auto;object-fit:contain}
nav{display:flex;gap:20px}nav a,.header-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:8px;text-decoration:none;font-size:14px;font-weight:700}
.hero{display:grid;grid-template-columns:1.08fr 1fr;gap:60px;align-items:center;padding-top:45px;padding-bottom:70px}
h1,h2,h3,p{margin-top:0}h1{font-size:clamp(48px,5.4vw,78px);line-height:1.08;letter-spacing:-.065em;margin-bottom:25px;font-weight:750}h1 em{font-style:normal;color:#116b56}
h2{font-size:clamp(34px,3.5vw,50px);line-height:1.14;letter-spacing:-.05em;font-weight:700;margin-bottom:28px}h3{font-size:23px;letter-spacing:-.03em;line-height:1.3}.lead{font-size:23px;line-height:1.45;margin-bottom:25px}
.price-panel{margin-bottom:24px}.price-panel p{margin-bottom:8px}.price-label{font-size:16px;font-weight:700;letter-spacing:0}.hero .build-amount,.hero .hosting-amount{font-size:28px;font-weight:750;letter-spacing:-.04em;line-height:1.3}.build-amount span{font-size:16px;font-weight:400;letter-spacing:0}.tax{font-size:14px;letter-spacing:0}.hosting-price{border-top:1px solid #82978c;margin-top:18px;padding-top:18px}.hosting-price b{font-size:16px;margin-left:5px}.hosting-caveat{font-size:14px;margin-top:12px}.offer-end{font-size:18px;margin:0 0 20px;border-left:4px solid #116b56;padding-left:12px}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;min-width:44px;border:0;background:#1bc9a0;color:#102b29;padding:15px 23px;font-weight:750;font-size:16px;line-height:1.5;border-radius:3px;text-decoration:none}.button:hover{background:#3dd4b3;color:#102b29}
.refund{font-size:14px;line-height:1.7;margin:18px 0 14px;max-width:560px}.small{font-size:14px;line-height:1.65}
.hero-work{margin:0;align-self:center;min-width:0}.shot{background:#e5e8df;padding:20px 20px 0;border-radius:3px}.hero .shot img{width:100%;height:auto;object-fit:contain;display:block;box-shadow:0 0 15px #102b2914}.hero-work figcaption{font-weight:700;font-size:14px;padding:18px 0;border-bottom:1px solid #82978c}.hero-work figcaption span{font-weight:400;font-size:14px}
.hosting{background:#e3efe6;padding:32px 0}.hosting .wrap{display:grid;grid-template-columns:1fr 1fr;gap:10px 40px}.hosting strong{font-size:20px;letter-spacing:-.03em}.hosting p{margin:0}.hosting small{grid-column:2;font-size:14px}
.section{padding-top:100px;padding-bottom:100px}.section-heading{display:flex;justify-content:space-between;gap:55px;align-items:end;margin-bottom:40px}.section-heading h2{margin:0}.section-heading>p{max-width:420px;font-size:16px;margin:0}
.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px 30px}.work-card{min-width:0}.work-image{height:340px;background:#e5e8df;overflow:hidden;padding:22px 22px 0;display:block}.work-image img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}.work-caption{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:16px}.work-caption h3{font-size:20px;margin:0}.work-caption a,.work-card>p a{display:inline-flex;align-items:center;min-height:44px;min-width:44px;font-size:14px}.work-card>p{font-size:14px;margin:7px 0;overflow-wrap:anywhere}.work-card:last-child:nth-child(odd){grid-column:1/-1;max-width:calc(50% - 15px)}
.packages{background:#102b29;color:#faf9f5}.package-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.package{border:1px solid #82978c;padding:38px;min-width:0}.package h3{font-size:32px}.package .build-amount,.package .hosting-amount{font-size:62px;letter-spacing:-.06em;line-height:1.2;font-weight:750}.package ul{padding-left:20px;font-size:16px;margin:26px 0 30px}.package li{padding:5px 0}.package .button{width:100%}
.process{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:50px}.process article{border-top:3px solid #116b56;padding-top:25px}.process p{font-size:16px}.guarantee{padding:65px 0;background:#1bc9a0}.guarantee-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.guarantee p{font-size:16px}
.faq{max-width:900px}details{border-bottom:1px solid #82978c;padding:0}summary{font-weight:650;cursor:pointer;padding:18px 15px 18px 0;min-height:60px;min-width:44px}details p{font-size:16px;margin:0 0 24px;max-width:740px}
.notes{background:#eef0e8;padding:35px}.notes h2{font-size:25px}.notes>p{font-size:16px}.notes-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 35px}.notes-grid p{font-size:14px}
.enquiry{display:grid;grid-template-columns:1fr 1fr;gap:80px}.enquiry p{font-size:16px;overflow-wrap:anywhere}.enquiry a[href^="mailto:"],.enquiry a[href^="tel:"]{display:inline-flex;align-items:center;min-width:44px;min-height:44px}form{display:grid;gap:10px}label{font-size:16px;font-weight:700}input,select,textarea{width:100%;min-width:0;min-height:48px;padding:12px;background:#fff;border:1px solid #60766b;border-radius:2px;color:#102b29}form .button{margin-top:12px}.field-error{font-size:14px;color:#8b1d32}.field-error:empty{display:none}[aria-invalid="true"]{border:2px solid #8b1d32}#form-status{font-size:14px;min-height:24px}
footer{border-top:1px solid #82978c;padding:35px 0}footer .wrap{display:flex;align-items:center;justify-content:space-between;gap:30px}footer p,footer a{font-size:14px;margin:0}footer a{display:inline-flex;align-items:center;min-height:44px;min-width:44px}
.mobile-action{display:none}
@media(max-width:1100px){.hero{gap:30px}.package{padding:26px}.wrap{width:calc(100% - 48px)}.hero h1{font-size:52px}.enquiry{gap:35px}}
@media(max-width:767px){.wrap{width:calc(100% - 40px)}header{flex-wrap:wrap;justify-content:center;gap:8px;padding-top:14px;padding-bottom:14px}.logo{width:145px}nav{gap:8px}.header-link{display:none}.hero{display:flex;flex-direction:column;align-items:stretch;padding-top:30px;padding-bottom:40px;gap:32px}.hero h1{font-size:44px}.lead{font-size:20px}.hero .build-amount,.hero .hosting-amount{font-size:28px}.hero .button{width:100%;padding-left:12px;padding-right:12px}.hero-work{width:100%}.shot{padding:14px 14px 0}.hosting .wrap{display:block}.hosting small{display:block;margin-top:12px}.hosting strong{display:block;margin-bottom:12px}.section{padding-top:58px;padding-bottom:58px}.section-heading{display:block;margin-bottom:28px}.section-heading h2{margin-bottom:20px}h2{font-size:36px}.work-grid,.package-grid,.process,.guarantee-grid,.notes-grid,.enquiry{grid-template-columns:1fr}.work-grid{gap:28px}.work-image{height:275px;padding:16px 16px 0}.work-caption{flex-wrap:wrap}.work-caption h3{font-size:20px}.work-card:last-child:nth-child(odd){max-width:none}.package-grid{gap:22px}.package{padding:24px}.package h3{font-size:29px}.package .build-amount,.package .hosting-amount{font-size:52px}.process{gap:18px;margin-top:25px}.process h3{font-size:22px}.guarantee{padding:45px 0}.guarantee-grid{gap:10px}.notes{padding:25px 20px}.notes h2{font-size:24px}.enquiry{gap:25px}footer .wrap{display:block}footer p{margin:20px 0}.mobile-action{display:grid;gap:4px;position:fixed;bottom:0;left:0;right:0;z-index:30;background:#faf9f5;border-top:1px solid #82978c;padding:10px 20px calc(10px + env(safe-area-inset-bottom))}.mobile-action span{font-size:14px;text-align:center}.mobile-action .button{width:100%;padding:12px 8px}body{padding-bottom:calc(130px + env(safe-area-inset-bottom))}}
@media(max-width:350px){.hero h1{font-size:39px}.package{padding:20px}.package .build-amount,.package .hosting-amount{font-size:48px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.hero .build-amount strong{font-weight:750}
.hero .build-amount{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px}.hero .build-amount strong{white-space:nowrap}.hero-work{align-self:start}
/* V4: cached height survives hiding the bar during keyboard/form focus. */
:root{--mobile-action-height:calc(240px + env(safe-area-inset-bottom))}
html{scroll-padding-bottom:calc(var(--mobile-action-height) + 16px)}
a,button,input,select,textarea,summary{scroll-margin-bottom:calc(var(--mobile-action-height) + 16px);scroll-margin-top:100px}
.keep-arrow{white-space:nowrap}.button{display:inline-block;text-align:center}.deposit-terms{font-size:14px;line-height:1.7;margin:16px 0}.mobile-action a:not(.button){font-size:14px;display:flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;white-space:nowrap}
@media(max-width:767px){body{padding-bottom:calc(var(--mobile-action-height) + 24px)}body:has(#demo-form :focus) .mobile-action,body:has(.enquiry a:focus) .mobile-action,body:has(footer a:focus) .mobile-action,body.focus-protected .mobile-action{display:none}}
.header-link .keep-arrow,.work-caption .keep-arrow,footer .keep-arrow{margin-left:.25em}

.packages a.button:hover{color:#102b29}.button:disabled{opacity:1;cursor:not-allowed}.enquiry>div{min-width:0}
