:root{--ink:#17211e;--paper:#f4f1e9;--lime:#d9ff62;--muted:#66716d;--line:rgba(23,33,30,.16);--white:#fff;--green:#24483d}
    *{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 Manrope,system-ui,sans-serif} a{color:inherit;text-decoration:none} img{max-width:100%;display:block} .wrap{width:min(1180px,calc(100% - 40px));margin:auto}
    nav{height:82px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)} .brand{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:-.02em}.mark{width:38px;height:38px;border:1px solid var(--ink);display:grid;place-items:center}.mark span{width:16px;height:16px;border:3px solid var(--ink);border-bottom:0}.navlinks{display:flex;gap:28px;align-items:center;font-size:.88rem;font-weight:600}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--lime);color:var(--ink);padding:14px 20px;font-weight:800;border:1px solid var(--ink);transition:.2s}.btn:hover{transform:translateY(-2px);box-shadow:5px 5px 0 var(--ink)}
    .hero{padding:76px 0 54px;display:grid;grid-template-columns:1.06fr .94fr;gap:54px;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:.75rem;font-weight:800}.hero h1{font:600 clamp(3.4rem,7vw,6.8rem)/.91 'Playfair Display',serif;letter-spacing:-.06em;margin:22px 0 28px;max-width:780px}.hero h1 em{color:var(--green)}.lead{font-size:1.12rem;max-width:590px;color:#43504c}.hero-actions{display:flex;gap:15px;align-items:center;margin-top:34px;flex-wrap:wrap}.textlink{font-weight:800;border-bottom:1px solid var(--ink)}
    .photo{position:relative;min-height:590px;background:url('https://teville.com/_next/image/?q=75&url=%2Fwp-content%2Fuploads%2Fgen%2Fescrow-account-structures-bali-villa-construction-milestones-202602071018.webp&w=3840') center/cover}.photo:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(10,22,18,.72))}.stamp{position:absolute;z-index:2;bottom:26px;left:26px;right:26px;background:rgba(244,241,233,.94);padding:18px 20px;display:flex;justify-content:space-between;gap:20px;align-items:center}.stamp strong{font-size:1.1rem}.stamp span{font-size:.78rem;color:var(--muted)}
    .promise{background:var(--ink);color:var(--white);padding:34px 0}.promise .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}.metric{border-left:1px solid rgba(255,255,255,.25);padding-left:20px}.metric b{display:block;color:var(--lime);font-size:1.65rem}.metric span{font-size:.78rem;color:#bcc5c2;text-transform:uppercase;letter-spacing:.08em}
    section{padding:105px 0}.section-head{display:grid;grid-template-columns:.7fr 1.3fr;gap:30px;margin-bottom:52px}.section-head h2{font:600 clamp(2.6rem,5vw,4.6rem)/1 'Playfair Display',serif;margin:0;letter-spacing:-.045em}.section-head p{margin:8px 0 0;max-width:620px;color:var(--muted);font-size:1.05rem}
    .steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.step{padding:35px 28px 40px;border-right:1px solid var(--line)}.step:last-child{border:0}.num{font-size:.72rem;font-weight:800;color:var(--green)}.step h3{font-size:1.32rem;margin:45px 0 10px}.step p{color:var(--muted);margin:0}
    .dark{background:var(--green);color:var(--white)}.dark .section-head p{color:#c8d4cf}.packages{display:grid;grid-template-columns:1fr 1fr;gap:22px}.card{border:1px solid rgba(255,255,255,.28);padding:35px;position:relative}.card.featured{background:var(--paper);color:var(--ink)}.tag{position:absolute;right:22px;top:22px;background:var(--lime);color:var(--ink);padding:5px 10px;font-size:.7rem;font-weight:800;text-transform:uppercase}.card h3{font-size:1rem;text-transform:uppercase;letter-spacing:.15em;margin:0 0 28px}.price{font:600 3.5rem/1 'Playfair Display',serif}.price small{font:500 .9rem Manrope,sans-serif}.visits{margin:15px 0 27px;color:inherit;opacity:.72}.card ul{list-style:none;padding:22px 0 0;margin:0;border-top:1px solid currentColor}.card li{padding:7px 0}.card li:before{content:'—';margin-right:11px;color:var(--lime)}.featured li:before{color:var(--green)}
    .about{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.quote{font:500 clamp(2.1rem,4vw,3.7rem)/1.12 'Playfair Display',serif;margin:0}.about-copy p{color:var(--muted)}.credentials{margin-top:28px;display:flex;gap:12px;flex-wrap:wrap}.pill{border:1px solid var(--line);padding:9px 12px;font-size:.78rem;font-weight:700}
    .faq{border-top:1px solid var(--line)} details{border-bottom:1px solid var(--line);padding:22px 0} summary{cursor:pointer;font-weight:800;font-size:1.05rem;display:flex;justify-content:space-between;list-style:none} summary:after{content:'+';font-size:1.4rem} details[open] summary:after{content:'−'} details p{color:var(--muted);max-width:760px;margin:14px 0 4px}
    .cta{padding:95px 0;background:var(--lime);text-align:center}.cta h2{font:600 clamp(3rem,7vw,6rem)/.98 'Playfair Display',serif;letter-spacing:-.05em;margin:0 auto 25px;max-width:920px}.cta p{max-width:600px;margin:0 auto 32px}.cta .btn{background:var(--ink);color:white}.cta .btn:hover{box-shadow:5px 5px 0 var(--white)} footer{background:var(--ink);color:white;padding:28px 0}.foot{display:flex;justify-content:space-between;gap:20px;align-items:center;color:#aeb8b4;font-size:.8rem}.foot strong{color:white;font-size:1rem}
    @media(max-width:820px){.navlinks a:not(.btn){display:none}.hero{grid-template-columns:1fr;padding-top:50px}.photo{min-height:430px}.promise .wrap{grid-template-columns:1fr 1fr}.section-head,.about{grid-template-columns:1fr}.steps{grid-template-columns:1fr}.step{border-right:0;border-bottom:1px solid var(--line)}.packages{grid-template-columns:1fr}section{padding:75px 0}.hero h1{font-size:clamp(3.25rem,15vw,5.5rem)}}
    @media(max-width:480px){.wrap{width:min(100% - 26px,1180px)}nav{height:70px}.hero{gap:35px}.photo{min-height:360px}.promise .wrap{grid-template-columns:1fr}.metric{padding:5px 0 5px 16px}.stamp{left:14px;right:14px;bottom:14px}.section-head{margin-bottom:35px}.card{padding:27px}.price{font-size:3rem}.foot{align-items:flex-start;flex-direction:column}}
    .project-reel{margin:0 auto;width:min(100%,360px);background:var(--ink);color:white}.project-reel video{display:block;width:100%;height:auto;aspect-ratio:9/16;background:#17211e}.project-reel figcaption{padding:18px 20px}.project-reel figcaption strong{display:block;font-size:1.05rem}.project-reel figcaption span{display:block;font-size:.875rem;color:#c8d4cf;margin-top:5px}

    .project-gallery{border-top:1px solid var(--line)}.plan-player{max-width:1000px;margin:auto}.plan-screen{position:relative;aspect-ratio:1080/995;background:white;border:1px solid var(--line);overflow:hidden}.plan-screen img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity 1.2s ease-in-out}.plan-screen img.is-active{opacity:1}.plan-controls{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:20px}.plan-controls button{font:600 .875rem/1.4 Manrope,system-ui,sans-serif;cursor:pointer;min-height:44px;padding:10px 14px;background:transparent;color:var(--ink);border:1px solid var(--line)}.plan-controls button[aria-pressed="true"]{background:var(--green);color:white;border-color:var(--green)}.plan-controls button:focus-visible{outline:3px solid var(--green);outline-offset:3px}.plan-controls .plan-toggle{margin-left:auto}.plan-note{font-size:.875rem;color:var(--muted);margin:22px 0 0}.quote-credit{font:600 1rem/1.5 Manrope,system-ui,sans-serif;display:block;margin-top:24px;color:var(--green)}
    @media(prefers-reduced-motion:reduce){.plan-screen img{transition:none}}
    @media(max-width:480px){.plan-controls{gap:8px}.plan-controls button{flex:1 1 auto}.plan-controls .plan-toggle{margin-left:0}}

    .focus-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.focus-item{border-top:1px solid var(--line);padding-top:22px}.focus-item h3{font-size:1.15rem;margin:10px 0}.focus-item p{color:var(--muted);margin:0}.scope-note{color:var(--muted);font-size:.875rem;margin:28px 0 0}.report-layout{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}.report-list{padding:0;list-style:none;margin:0}.report-list li{padding:18px 0;border-bottom:1px solid var(--line)}.report-list strong{display:block}.report-list span{color:var(--muted)}.handover-box{background:var(--ink);color:white;padding:32px}.handover-box h3{font:600 2rem/1.1 'Playfair Display',serif;margin:0 0 20px}.handover-box p{color:#c8d4cf}.handover-box .textlink{border-color:var(--lime);color:var(--lime)}
    @media(max-width:820px){.focus-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-layout{grid-template-columns:1fr}}
    @media(max-width:480px){.focus-grid{grid-template-columns:1fr}.handover-box{padding:24px}}
    #renovation-diary{scroll-margin-top:28px}.journal-eyebrow{margin-bottom:18px}.journal-meta{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}.journal-meta .pill{background:#e9ece2}.journal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.journal-card{margin:0;border:1px solid var(--line);background:var(--white);overflow:hidden}.journal-film{display:grid;place-items:center;padding:28px;background:#e4e8de}.journal-film video{display:block;width:min(100%,300px);height:auto;aspect-ratio:9/16;background:var(--ink)}.journal-film video:focus-visible{outline:3px solid var(--green);outline-offset:5px}.journal-copy{padding:28px 30px 30px}.journal-kicker{display:flex;justify-content:space-between;gap:15px;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--green)}.journal-copy h3{font:600 2rem/1.12 'Playfair Display',serif;letter-spacing:-.025em;margin:16px 0}.journal-copy p{margin:0;color:var(--muted);font-size:.95rem}.journal-copy .journal-dates{font-size:.8rem;margin-top:18px;color:var(--green)}.journal-takeaway{display:grid;grid-template-columns:1fr 1fr;gap:45px;margin-top:32px;padding-top:26px;border-top:1px solid var(--line)}.journal-takeaway h3{margin:0 0 12px;font-size:1.2rem}.journal-takeaway p{margin:0 0 16px;color:var(--muted);font-size:.95rem}.journal-takeaway .textlink{font-size:.9rem}.hero-actions .diary-link{font-size:.9rem}
    @media(max-width:1050px) and (min-width:821px){.navlinks{gap:17px}}
    @media(max-width:820px){.journal-grid,.journal-takeaway{grid-template-columns:1fr}.journal-takeaway{gap:16px}.journal-film video{width:min(100%,330px)}}
    @media(max-width:480px){.journal-film{padding:20px}.journal-copy{padding:24px}.journal-copy h3{font-size:1.8rem}}

/* Sample report layout. */
.report{max-width:1060px;margin:auto;padding:52px 24px}.report h1{font:600 clamp(2.6rem,7vw,4.7rem)/1.05 'Playfair Display',serif;margin:18px 0}.report h2{font:600 2rem/1.15 'Playfair Display',serif}.report section{padding:30px 0;border-bottom:1px solid var(--line)}.notice{padding:20px 24px;background:#e5edda;border-left:4px solid var(--green)}.report-meta,.photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.report-meta{margin:26px 0}.report-meta div{border-top:1px solid var(--line);padding-top:12px}.report-meta b{display:block}.photo-grid figure{margin:0;background:white;border:1px solid var(--line)}.photo-grid img{width:100%;height:350px;object-fit:contain;background:#17211e}.photo-grid figcaption{padding:22px}.photo-grid h3{margin:0 0 12px}.photo-grid p{margin:8px 0}.status{display:inline-block;padding:4px 10px;background:#ece6d9;font-size:.875rem}.actions{padding:0;list-style:none}.actions li{padding:20px 0;border-bottom:1px solid var(--line)}.actions strong{display:block}.actions p{margin:8px 0}.report .toolbar{display:flex;gap:16px;flex-wrap:wrap;align-items:center}.toolbar button{font:inherit;cursor:pointer}.small{font-size:.875rem;color:#52615b}.report a:focus-visible,.report button:focus-visible{outline:3px solid #24483d;outline-offset:4px}@media(max-width:620px){.report-meta,.photo-grid{grid-template-columns:1fr}.report{padding:30px 20px}.photo-grid img{height:360px}}@media print{header,footer,.toolbar,.report-cta{display:none!important}body{background:white}.report{max-width:none;padding:0}.report section{padding:16px 0}.photo-grid figure,.actions li{break-inside:avoid}.photo-grid img{height:240px}.report h1{font-size:32px}.notice{background:white;border:1px solid #777}a{color:inherit}}
