/* Greatland Construction — Service Detail Page Shared Styles */
:root { --y:#FCB816; --yd:#E5A500; --cr:#FFFFF6; --bk:#010101; }
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body { font-family:'Inter',sans-serif; color:#010101; background:#fff; overflow-x:hidden; -webkit-font-smoothing:antialiased; }

/* FADE IN */
.fu { opacity:0; transform:translateY(28px); transition:opacity .75s cubic-bezier(.22,1,.36,1), transform .75s cubic-bezier(.22,1,.36,1); }
.fu.iv { opacity:1; transform:none; }
.d1 { transition-delay:.07s; } .d2 { transition-delay:.14s; } .d3 { transition-delay:.21s; }
.d4 { transition-delay:.28s; } .d5 { transition-delay:.35s; } .d6 { transition-delay:.42s; }

/* BUTTONS */
.btn { display:inline-flex; align-items:center; gap:8px; font-family:'Montserrat',sans-serif; font-weight:700; font-size:.88rem; letter-spacing:-.01em; border-radius:100px; padding:14px 26px; cursor:pointer; border:none; text-decoration:none; white-space:nowrap; }
.bkk-submit { background:#010101; color:#FFFFF6; box-shadow:0 4px 16px rgba(1,1,1,.18); transition:box-shadow .25s cubic-bezier(.22,1,.36,1), background .25s, color .25s; }
.bkk-submit:hover { background:#FCB816; color:#010101; box-shadow:0 6px 28px rgba(252,184,22,.45); }
.bkk-submit:active { opacity:.9; }
.bkk-submit:focus-visible { outline:3px solid rgba(252,184,22,.6); outline-offset:2px; }

/* NAV LINKS */
.nl { font-family:'Inter',sans-serif; font-weight:600; font-size:.9rem; color:#010101; text-decoration:none; position:relative; padding-bottom:2px; }
.nl::after { content:''; position:absolute; bottom:-2px; left:0; width:0; height:2px; background:#010101; transition:width .25s cubic-bezier(.22,1,.36,1); }
.nl:hover::after, .nl.act::after { width:100%; }

/* NAV SHADOW */
#nav.sc { box-shadow:0 2px 20px rgba(1,1,1,.12); }

/* HAMBURGER */
.hbg { display:flex; flex-direction:column; gap:6px; background:none; border:none; padding:8px; cursor:pointer; }
.hbg span { display:block; width:24px; height:2px; background:#010101; border-radius:2px; transition:transform .25s cubic-bezier(.22,1,.36,1), opacity .25s; }
.hbg.op span:nth-child(1) { transform:translateY(8px) rotate(45deg); }
.hbg.op span:nth-child(2) { opacity:0; }
.hbg.op span:nth-child(3) { transform:translateY(-8px) rotate(-45deg); }

/* SCROLLBAR */
::-webkit-scrollbar { width:5px; }
::-webkit-scrollbar-track { background:#f5f5f0; }
::-webkit-scrollbar-thumb { background:#FCB816; border-radius:3px; }
